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 4cee16c..f2cf275 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("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10") - implementation("org.jetbrains.dokka:dokka-gradle-plugin:1.6.10") + implementation("com.android.tools.build:gradle:7.4.1") + 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..98c4244 100644 --- a/buildSrc/src/main/java/Dependencies.kt +++ b/buildSrc/src/main/java/Dependencies.kt @@ -1,13 +1,14 @@ object Versions { - const val compileSdk = 31 + const val compileSdk = 33 const val minSdk = 21 - const val targetSdk = 30 - const val compose = "1.1.0" + const val targetSdk = 33 + 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..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" @@ -12,6 +15,9 @@ android { } dependencies { + val composeBom = platform(Dependencies.Compose.bom) + implementation(composeBom) + compileOnly(Dependencies.Compose.tooling) api(project(":compose-backstack")) @@ -26,6 +32,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-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 0106e75..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" @@ -12,6 +15,9 @@ android { } dependencies { + val composeBom = platform(Dependencies.Compose.bom) + implementation(composeBom) + api(project(":compose-backstack")) implementation(Dependencies.Compose.foundation) @@ -21,5 +27,6 @@ dependencies { testImplementation(Dependencies.Test.truth) androidTestImplementation(Dependencies.AndroidX.junitExt) + androidTestImplementation(composeBom) androidTestImplementation(Dependencies.Compose.test) } 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 de0f03a..1181f00 100644 --- a/compose-backstack/build.gradle.kts +++ b/compose-backstack/build.gradle.kts @@ -4,7 +4,15 @@ 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) + compileOnly(Dependencies.Compose.tooling) implementation(Dependencies.Compose.foundation) @@ -13,6 +21,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/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/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/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 diff --git a/sample/build.gradle.kts b/sample/build.gradle.kts index 66db178..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" } @@ -15,6 +16,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 +25,6 @@ dependencies { implementation(Dependencies.Compose.util) androidTestImplementation(Dependencies.AndroidX.junitExt) + androidTestImplementation(composeBom) androidTestImplementation(Dependencies.Compose.test) } 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">