From 684e0d7745d11311367d88c9d44c90d8748894e9 Mon Sep 17 00:00:00 2001 From: Tudor Luca Date: Mon, 20 Feb 2023 21:59:04 +0200 Subject: [PATCH 1/3] Upgrade AGP to 7.4.1 & Gradle to 7.5 --- buildSrc/build.gradle.kts | 2 +- gradle/wrapper/gradle-wrapper.properties | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 4cee16c..09dcca7 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -9,7 +9,7 @@ repositories { } dependencies { - implementation("com.android.tools.build:gradle:7.1.3") + implementation("com.android.tools.build:gradle:7.4.1") implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10") implementation("org.jetbrains.dokka:dokka-gradle-plugin:1.6.10") } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a0f7639..075478e 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,6 @@ +#Mon Feb 20 21:19:48 EET 2023 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists From ab4e594c355c7a8d8c65480aeaeaec18026cd5f8 Mon Sep 17 00:00:00 2001 From: Tudor Luca Date: Mon, 20 Feb 2023 22:03:46 +0200 Subject: [PATCH 2/3] Upgrade Compose to BoM 2023.01.00 & Kotlin to 1.8.10 --- build.gradle.kts | 2 +- buildSrc/build.gradle.kts | 4 ++-- .../main/java/DefaultAndroidConfigPlugin.kt | 2 +- buildSrc/src/main/java/Dependencies.kt | 20 ++++++++++--------- buildSrc/src/main/java/ReleaseConfigPlugin.kt | 14 +------------ compose-backstack-viewer/build.gradle.kts | 4 ++++ compose-backstack-xray/build.gradle.kts | 4 ++++ compose-backstack/build.gradle.kts | 4 ++++ .../backstack/PercentageLayoutOffset.kt | 2 +- .../compose/backstack/TransitionController.kt | 2 +- sample/build.gradle.kts | 3 +++ 11 files changed, 33 insertions(+), 28 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 2bc7bd2..105566e 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -39,7 +39,7 @@ subprojects { } freeCompilerArgs = listOf( - "-Xopt-in=kotlin.RequiresOptIn" + "-opt-in=kotlin.RequiresOptIn" ) } } diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 09dcca7..f2cf275 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -10,6 +10,6 @@ repositories { dependencies { implementation("com.android.tools.build:gradle:7.4.1") - implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10") - implementation("org.jetbrains.dokka:dokka-gradle-plugin:1.6.10") + implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.10") + implementation("org.jetbrains.dokka:dokka-gradle-plugin:1.7.20") } diff --git a/buildSrc/src/main/java/DefaultAndroidConfigPlugin.kt b/buildSrc/src/main/java/DefaultAndroidConfigPlugin.kt index b8e047f..a7402fd 100644 --- a/buildSrc/src/main/java/DefaultAndroidConfigPlugin.kt +++ b/buildSrc/src/main/java/DefaultAndroidConfigPlugin.kt @@ -36,7 +36,7 @@ class DefaultAndroidConfigPlugin : Plugin { } composeOptions { - kotlinCompilerExtensionVersion = Versions.compose + kotlinCompilerExtensionVersion = Versions.composeCompiler } packagingOptions { diff --git a/buildSrc/src/main/java/Dependencies.kt b/buildSrc/src/main/java/Dependencies.kt index 2d43e29..673837f 100644 --- a/buildSrc/src/main/java/Dependencies.kt +++ b/buildSrc/src/main/java/Dependencies.kt @@ -2,12 +2,13 @@ object Versions { const val compileSdk = 31 const val minSdk = 21 const val targetSdk = 30 - const val compose = "1.1.0" + const val composeCompiler = "1.4.2" + const val composeBom = "2023.01.00" } object Dependencies { object AndroidX { - const val appcompat = "androidx.appcompat:appcompat:1.3.1" + const val appcompat = "androidx.appcompat:appcompat:1.6.1" // Note that we're not using the actual androidx material dep yet, it's still alpha. const val material = "com.google.android.material:material:1.1.0" @@ -16,13 +17,14 @@ object Dependencies { } object Compose { - const val activity = "androidx.activity:activity-compose:1.3.1" - const val foundation = "androidx.compose.foundation:foundation:${Versions.compose}" - const val icons = "androidx.compose.material:material-icons-extended:${Versions.compose}" - const val material = "androidx.compose.material:material:${Versions.compose}" - const val test = "androidx.compose.ui:ui-test-junit4:${Versions.compose}" - const val tooling = "androidx.compose.ui:ui-tooling:${Versions.compose}" - const val util = "androidx.compose.ui:ui-util:${Versions.compose}" + const val activity = "androidx.activity:activity-compose:1.6.1" + const val bom = "androidx.compose:compose-bom:${Versions.composeBom}" + const val foundation = "androidx.compose.foundation:foundation" + const val icons = "androidx.compose.material:material-icons-extended" + const val material = "androidx.compose.material:material" + const val test = "androidx.compose.ui:ui-test-junit4" + const val tooling = "androidx.compose.ui:ui-tooling" + const val util = "androidx.compose.ui:ui-util" } object Kotlin { diff --git a/buildSrc/src/main/java/ReleaseConfigPlugin.kt b/buildSrc/src/main/java/ReleaseConfigPlugin.kt index c223167..04b7cd6 100644 --- a/buildSrc/src/main/java/ReleaseConfigPlugin.kt +++ b/buildSrc/src/main/java/ReleaseConfigPlugin.kt @@ -1,5 +1,4 @@ import com.android.build.gradle.LibraryExtension -import org.gradle.api.GradleException import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.api.plugins.JavaBasePlugin @@ -42,18 +41,7 @@ class ReleaseConfigPlugin : Plugin { } target.afterEvaluate { - val composeVersion = target.configurations - .flatMap { configuration -> - configuration.dependencies.filter { dependency -> - "androidx.compose" in dependency.group.orEmpty() - } - } - .map { it.version } - .distinct() - .singleOrNull() - ?: throw GradleException("Found multiple Compose versions.") - - target.version = "$releaseVersion+$composeVersion" + target.version = "$releaseVersion+${Versions.composeBom}" .let { if (isRelease) it else "$it-SNAPSHOT" } target.configure { diff --git a/compose-backstack-viewer/build.gradle.kts b/compose-backstack-viewer/build.gradle.kts index 0e7b298..5d3c859 100644 --- a/compose-backstack-viewer/build.gradle.kts +++ b/compose-backstack-viewer/build.gradle.kts @@ -12,6 +12,9 @@ android { } dependencies { + val composeBom = platform(Dependencies.Compose.bom) + implementation(composeBom) + compileOnly(Dependencies.Compose.tooling) api(project(":compose-backstack")) @@ -26,6 +29,7 @@ dependencies { testImplementation(Dependencies.Test.junit) testImplementation(Dependencies.Test.truth) + androidTestImplementation(composeBom) androidTestImplementation(Dependencies.AndroidX.junitExt) androidTestImplementation(Dependencies.Compose.test) } diff --git a/compose-backstack-xray/build.gradle.kts b/compose-backstack-xray/build.gradle.kts index 0106e75..9943d23 100644 --- a/compose-backstack-xray/build.gradle.kts +++ b/compose-backstack-xray/build.gradle.kts @@ -12,6 +12,9 @@ android { } dependencies { + val composeBom = platform(Dependencies.Compose.bom) + implementation(composeBom) + api(project(":compose-backstack")) implementation(Dependencies.Compose.foundation) @@ -21,5 +24,6 @@ dependencies { testImplementation(Dependencies.Test.truth) androidTestImplementation(Dependencies.AndroidX.junitExt) + androidTestImplementation(composeBom) androidTestImplementation(Dependencies.Compose.test) } diff --git a/compose-backstack/build.gradle.kts b/compose-backstack/build.gradle.kts index de0f03a..3119a8a 100644 --- a/compose-backstack/build.gradle.kts +++ b/compose-backstack/build.gradle.kts @@ -5,6 +5,9 @@ plugins { } dependencies { + val composeBom = platform(Dependencies.Compose.bom) + implementation(composeBom) + compileOnly(Dependencies.Compose.tooling) implementation(Dependencies.Compose.foundation) @@ -13,6 +16,7 @@ dependencies { testImplementation(Dependencies.Test.truth) androidTestImplementation(Dependencies.AndroidX.junitExt) + androidTestImplementation(composeBom) androidTestImplementation(Dependencies.Compose.test) androidTestImplementation(Dependencies.Test.truth) } diff --git a/compose-backstack/src/main/java/com/zachklipp/compose/backstack/PercentageLayoutOffset.kt b/compose-backstack/src/main/java/com/zachklipp/compose/backstack/PercentageLayoutOffset.kt index fdedc46..130a1f1 100644 --- a/compose-backstack/src/main/java/com/zachklipp/compose/backstack/PercentageLayoutOffset.kt +++ b/compose-backstack/src/main/java/com/zachklipp/compose/backstack/PercentageLayoutOffset.kt @@ -1,7 +1,7 @@ package com.zachklipp.compose.backstack import androidx.annotation.VisibleForTesting -import androidx.annotation.VisibleForTesting.PRIVATE +import androidx.annotation.VisibleForTesting.Companion.PRIVATE import androidx.compose.runtime.State import androidx.compose.ui.layout.LayoutModifier import androidx.compose.ui.layout.Measurable diff --git a/compose-backstack/src/main/java/com/zachklipp/compose/backstack/TransitionController.kt b/compose-backstack/src/main/java/com/zachklipp/compose/backstack/TransitionController.kt index 2da8dc2..22fec41 100644 --- a/compose-backstack/src/main/java/com/zachklipp/compose/backstack/TransitionController.kt +++ b/compose-backstack/src/main/java/com/zachklipp/compose/backstack/TransitionController.kt @@ -2,7 +2,7 @@ package com.zachklipp.compose.backstack import android.annotation.SuppressLint import androidx.annotation.VisibleForTesting -import androidx.annotation.VisibleForTesting.PRIVATE +import androidx.annotation.VisibleForTesting.Companion.PRIVATE import androidx.compose.animation.core.Animatable import androidx.compose.animation.core.AnimationSpec import androidx.compose.animation.core.TweenSpec diff --git a/sample/build.gradle.kts b/sample/build.gradle.kts index 66db178..b096475 100644 --- a/sample/build.gradle.kts +++ b/sample/build.gradle.kts @@ -15,6 +15,8 @@ android { } dependencies { + val composeBom = platform(Dependencies.Compose.bom) + implementation(composeBom) implementation(project(":compose-backstack-viewer")) implementation(Dependencies.AndroidX.appcompat) implementation(Dependencies.Compose.activity) @@ -22,5 +24,6 @@ dependencies { implementation(Dependencies.Compose.util) androidTestImplementation(Dependencies.AndroidX.junitExt) + androidTestImplementation(composeBom) androidTestImplementation(Dependencies.Compose.test) } From a9df53044056066d15ce67a01d4b15fdc7ae3df0 Mon Sep 17 00:00:00 2001 From: Tudor Luca Date: Mon, 20 Feb 2023 22:05:57 +0200 Subject: [PATCH 3/3] Upgrade compileSdk & targetSdk to API 33 --- buildSrc/src/main/java/Dependencies.kt | 4 ++-- compose-backstack-viewer/build.gradle.kts | 3 +++ .../src/androidTest/AndroidManifest.xml | 3 +-- compose-backstack-viewer/src/main/AndroidManifest.xml | 2 +- compose-backstack-xray/build.gradle.kts | 3 +++ compose-backstack-xray/src/androidTest/AndroidManifest.xml | 3 +-- compose-backstack-xray/src/main/AndroidManifest.xml | 2 +- compose-backstack/build.gradle.kts | 5 +++++ compose-backstack/src/androidTest/AndroidManifest.xml | 3 +-- compose-backstack/src/main/AndroidManifest.xml | 2 +- sample/build.gradle.kts | 1 + sample/src/main/AndroidManifest.xml | 6 +++--- 12 files changed, 23 insertions(+), 14 deletions(-) diff --git a/buildSrc/src/main/java/Dependencies.kt b/buildSrc/src/main/java/Dependencies.kt index 673837f..98c4244 100644 --- a/buildSrc/src/main/java/Dependencies.kt +++ b/buildSrc/src/main/java/Dependencies.kt @@ -1,7 +1,7 @@ object Versions { - const val compileSdk = 31 + const val compileSdk = 33 const val minSdk = 21 - const val targetSdk = 30 + const val targetSdk = 33 const val composeCompiler = "1.4.2" const val composeBom = "2023.01.00" } diff --git a/compose-backstack-viewer/build.gradle.kts b/compose-backstack-viewer/build.gradle.kts index 5d3c859..4599add 100644 --- a/compose-backstack-viewer/build.gradle.kts +++ b/compose-backstack-viewer/build.gradle.kts @@ -5,6 +5,9 @@ plugins { } android { + namespace = "com.zachklipp.compose.backstack.viewer" + testNamespace = "com.zachklipp.compose.backstack.viewer.test" + lintOptions { // Workaround for lint bug. disable += "InvalidFragmentVersionForActivityResult" diff --git a/compose-backstack-viewer/src/androidTest/AndroidManifest.xml b/compose-backstack-viewer/src/androidTest/AndroidManifest.xml index c757d58..e6300b5 100644 --- a/compose-backstack-viewer/src/androidTest/AndroidManifest.xml +++ b/compose-backstack-viewer/src/androidTest/AndroidManifest.xml @@ -1,5 +1,4 @@ - + diff --git a/compose-backstack-viewer/src/main/AndroidManifest.xml b/compose-backstack-viewer/src/main/AndroidManifest.xml index 2d56bea..cc947c5 100644 --- a/compose-backstack-viewer/src/main/AndroidManifest.xml +++ b/compose-backstack-viewer/src/main/AndroidManifest.xml @@ -1 +1 @@ - + diff --git a/compose-backstack-xray/build.gradle.kts b/compose-backstack-xray/build.gradle.kts index 9943d23..a6426d9 100644 --- a/compose-backstack-xray/build.gradle.kts +++ b/compose-backstack-xray/build.gradle.kts @@ -5,6 +5,9 @@ plugins { } android { + namespace = "com.zachklipp.compose.backstack.xray" + testNamespace = "com.zachklipp.compose.backstack.xray.test" + lintOptions { // Workaround for lint bug. disable += "InvalidFragmentVersionForActivityResult" diff --git a/compose-backstack-xray/src/androidTest/AndroidManifest.xml b/compose-backstack-xray/src/androidTest/AndroidManifest.xml index 001fddc..a613672 100644 --- a/compose-backstack-xray/src/androidTest/AndroidManifest.xml +++ b/compose-backstack-xray/src/androidTest/AndroidManifest.xml @@ -1,5 +1,4 @@ - + diff --git a/compose-backstack-xray/src/main/AndroidManifest.xml b/compose-backstack-xray/src/main/AndroidManifest.xml index 131f39f..cc947c5 100644 --- a/compose-backstack-xray/src/main/AndroidManifest.xml +++ b/compose-backstack-xray/src/main/AndroidManifest.xml @@ -1 +1 @@ - + diff --git a/compose-backstack/build.gradle.kts b/compose-backstack/build.gradle.kts index 3119a8a..1181f00 100644 --- a/compose-backstack/build.gradle.kts +++ b/compose-backstack/build.gradle.kts @@ -4,6 +4,11 @@ plugins { id("release-config") } +android { + namespace = "com.zachklipp.compose.backstack" + testNamespace = "com.zachklipp.compose.backstack.test" +} + dependencies { val composeBom = platform(Dependencies.Compose.bom) implementation(composeBom) diff --git a/compose-backstack/src/androidTest/AndroidManifest.xml b/compose-backstack/src/androidTest/AndroidManifest.xml index 5eff44d..e6300b5 100644 --- a/compose-backstack/src/androidTest/AndroidManifest.xml +++ b/compose-backstack/src/androidTest/AndroidManifest.xml @@ -1,5 +1,4 @@ - + diff --git a/compose-backstack/src/main/AndroidManifest.xml b/compose-backstack/src/main/AndroidManifest.xml index 4bb8456..cc947c5 100644 --- a/compose-backstack/src/main/AndroidManifest.xml +++ b/compose-backstack/src/main/AndroidManifest.xml @@ -1 +1 @@ - + diff --git a/sample/build.gradle.kts b/sample/build.gradle.kts index b096475..80a1dc5 100644 --- a/sample/build.gradle.kts +++ b/sample/build.gradle.kts @@ -5,6 +5,7 @@ plugins { } android { + namespace = "com.zachklipp.compose.backstack.sample" defaultConfig { applicationId = "com.zachklipp.compose.backstack.sample" } diff --git a/sample/src/main/AndroidManifest.xml b/sample/src/main/AndroidManifest.xml index a89f077..4c0270c 100644 --- a/sample/src/main/AndroidManifest.xml +++ b/sample/src/main/AndroidManifest.xml @@ -1,5 +1,4 @@ - + + android:configChanges="orientation|screenSize|smallestScreenSize|fontScale|density|layoutDirection" + android:exported="true">