Update Core libs to 9.2.0.

Third-party library updates & emulator version update for instrumentation tests.

- Change device for instrumentation tests (due to SIGSEGV crash on API 28, x86)
- Update compileSdk to 32 (required by Compose)
- AGP 7.3.1 (needed to fix jacoco issue for instrumented tests)
- Kotlin 1.6.21 (1.6.20 is required by AGP and 1.6.21 required by Compose)
- Remove `buildToolsVersion` - it's determined by Android Gradle Plugin
- Hilt 2.44
- Android Test 1.4.0
- Android Test Orchestrator 1.4.1
- Dagger 2.44
- Fragment 1.5.4
This commit is contained in:
Mateusz Armatys 2022-10-25 11:52:46 +02:00
parent fea043fc9c
commit 1f6152a9d7
9 changed files with 26 additions and 15 deletions

View File

@ -205,7 +205,7 @@ firebase instrumentation tests:
--app app/build/outputs/apk/beta/debug/ProtonMail-Android-${VERSION_NAME}-beta-debug.apk
--test app/build/outputs/apk/androidTest/beta/debug/ProtonMail-Android-${VERSION_NAME}-beta-debug-androidTest.apk
--type=instrumentation
--device model=Pixel2,version=28
--device model=Pixel2.arm,version=28
--test-targets "notPackage ch.protonmail.android.uitests"
--use-orchestrator
--num-flaky-test-attempts=1

View File

@ -267,6 +267,10 @@ tasks.withType<Test> {
systemProperty("kotlinx.coroutines.debug", "on")
}
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
kotlinOptions { jvmTarget = ProtonMail.jvmTarget.toString() }
}
dependencies {
androidTestImplementation(files("libs/fusion-release.aar"))

View File

@ -21,7 +21,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
`kotlin-dsl`
kotlin("jvm") version "1.6.10"
kotlin("jvm") version "1.6.21"
}
repositories {
@ -31,7 +31,7 @@ repositories {
}
dependencies {
val android = "7.2.2"
val android = "7.3.1"
val easyGradle = "2.8"
// Needed for setup Android config

View File

@ -32,6 +32,7 @@ import studio.forface.easygradle.dsl.android.*
fun org.gradle.api.Project.android(
appIdSuffix: String? = null,
compileSdk: Int = ProtonMail.compileSdk,
minSdk: Int = ProtonMail.minSdk,
targetSdk: Int = ProtonMail.targetSdk,
version: Version? = null,
@ -41,8 +42,7 @@ fun org.gradle.api.Project.android(
) = (this as ExtensionAware).extensions.configure<TestedExtension> {
compileSdkVersion(targetSdk)
buildToolsVersion("30.0.2") // Latest in Doker image
compileSdkVersion(compileSdk)
ndkVersion = "21.3.6528147" // Same as Docker image
defaultConfig {
@ -79,7 +79,7 @@ fun org.gradle.api.Project.android(
compileOptions {
isCoreLibraryDesugaringEnabled = true
sourceCompatibility = JavaVersion.VERSION_11
sourceCompatibility = ProtonMail.jvmTarget
targetCompatibility = sourceCompatibility
}

View File

@ -1,3 +1,5 @@
import org.gradle.api.JavaVersion
/*
* Copyright (c) 2022 Proton AG
*
@ -26,6 +28,9 @@ object ProtonMail {
const val versionName = "3.0.7"
const val versionCode = 919
const val compileSdk = 32
const val targetSdk = 31
const val minSdk = 23
val jvmTarget = JavaVersion.VERSION_11
}

View File

@ -151,7 +151,7 @@ val DependencyHandler.`espresso-contrib` get() = androidx("test.espresso", modu
val DependencyHandler.`espresso-intents` get() = androidx("test.espresso", module = "espresso-intents") version `espresso version`
val DependencyHandler.`espresso-web` get() = androidx("test.espresso", module = "espresso-web") version `espresso version`
val DependencyHandler.falcon get() = dependency("com.jraska", module = "falcon") version `falcon version`
val DependencyHandler.`orchestrator` get() = androidx("test", module = "orchestrator") version `android-test version`
val DependencyHandler.`orchestrator` get() = androidx("test", module = "orchestrator") version `android-test-orchestrator version`
val DependencyHandler.`browserstack-gradle-plugin` get() = dependency("gradle.plugin.com.browserstack.gradle", module = "browserstack-gradle-plugin") version `browserstack-plugin version`
val DependencyHandler.`uiautomator` get() = androidx("test.uiautomator", module = "uiautomator") version `uiautomator version`
val DependencyHandler.`android-activation` get() = dependency("com.sun.mail", module = "android-activation") version `sun-mail-android version`

View File

@ -23,20 +23,20 @@ import studio.forface.easygradle.dsl.android.*
fun initVersions() {
// region Kotlin
`kotlin version` = "1.6.10" // Released: Dec 14, 2021
`kotlin version` = "1.6.21" // Released: Dec 14, 2021
`coroutines version` = "1.5.2" // Released: Sep 02, 2021
`serialization version` = "1.3.2" // Released: Dec 23, 2021
// endregion
// region Android
`android-gradle-plugin version` = "7.2.2"
`android-gradle-plugin version` = "7.3.1"
`android-annotation version` = "1.1.0" // Released: Jun 05, 2019
`appcompat version` = "1.2.0" // Released: Aug 19, 2020
`android-arch version` = "2.1.0" // Released: Sep 06, 2019
`constraint-layout version` = "2.0.4" // Released: Oct 31, 2020
`espresso version` = "3.4.0" // Released: Jul 04, 2021
`hilt-android version` = "2.40.5" // Released: Dec 07, 2021
`hilt-android version` = "2.44" // Released: Dec 07, 2021
`hilt-androidx version` = "1.0.0" // Released: May 05, 2021
`ktx version` = "1.6.0" // Released: Jun 30, 2021
`lifecycle version` = "2.4.0-alpha01" // Released: Mar 24, 2021
@ -45,13 +45,13 @@ fun initVersions() {
`android-room version` = "2.4.2" // Released: Feb 23, 2022
`android-work version` = "2.7.1" // Released: Nov 17, 2021
`android-test version` = "1.4.0-beta01" // Released: May 15, 2021
`android-test version` = "1.4.0" // Released: Jun 06, 2021
// endregion
// region Others
`assert4k version` = "0.7.1" // Released: May 04, 2021
`assistedInject version` = "0.6.0" // Released: Sep 14, 2020
`dagger version` = "2.40.5" // Released: Dec 07, 2021
`dagger version` = "2.44" // Released: Dec 07, 2021
`mockK version` = "1.13.2"
`retrofit version` = "2.9.0" // Released: May 20, 2020
@ -62,11 +62,12 @@ fun initVersions() {
}
// Proton Core
const val `Proton-core version` = "9.1.2"
const val `Proton-core version` = "9.2.0"
// Test
const val `aerogear version` = "1.0.0" // Released: Mar 23, 2013
const val `android-test-ext version` = "1.1.3-rc01" // Released: Jun 22, 2021
const val `android-test-orchestrator version` = "1.4.1" // Released: Dec 13, 2021
const val `assertJ version` = "3.13.2" // Released: Aug 04, 2019
const val `falcon version` = "2.1.1" // Released: Sep 24, 2018
const val `hamcrest version` = "1.3" // Released:
@ -80,7 +81,7 @@ const val `junit-ktx version` = "1.1.2" // Released: Aug
// Android
const val `android-biometric version` = "1.0.1" // Released: Jan 23, 2020
const val `android-core-splashscreen version` = "1.0.0-beta02" // Released: Mar 23, 2022
const val `android-fragment version` = "1.3.6" // Released: Jul 21, 2021
const val `android-fragment version` = "1.5.4" // Released: Oct 10, 2022
const val `android-media version` = "1.1.0" // Released: Sep 06, 2019
const val `android-preference version` = "1.1.1" // Released: Apr 15, 2020
const val `android-startup version` = "1.1.0" // Released: Aug 04, 2021

View File

@ -52,5 +52,6 @@ tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
freeCompilerArgs = freeCompilerArgs +
// Allow to use kotlin.Result as return type
"-Xallow-result-return-type"
jvmTarget = ProtonMail.jvmTarget.toString()
}
}

@ -1 +1 @@
Subproject commit 3f00767c045209a56d3e0565e425936e971b49ac
Subproject commit ca808bf081dca72795a229fad0dc34a8c1a31359