diff --git a/baselineprofile/build.gradle.kts b/baselineprofile/build.gradle.kts index 34a47cb8..9c2b3485 100644 --- a/baselineprofile/build.gradle.kts +++ b/baselineprofile/build.gradle.kts @@ -30,7 +30,7 @@ android { * While on Github Actions, another parameter is required: * -Pandroid.testoptions.manageddevices.emulator.gpu="swiftshader_indirect" */ - testOptions.managedDevices.devices { + testOptions.managedDevices.allDevices { create("pixel6Api34") { device = "Pixel 6" apiLevel = 34 diff --git a/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt index a9d0f9d2..7b4f850b 100644 --- a/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidApplicationConventionPlugin.kt @@ -12,7 +12,6 @@ class AndroidApplicationConventionPlugin : Plugin { with(target) { with(pluginManager) { apply(libs.plugins.android.application) - apply(libs.plugins.jetbrains.kotlin.android) } extensions.configure { diff --git a/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt index e2b77c02..7ed81d14 100644 --- a/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidLibraryConventionPlugin.kt @@ -1,5 +1,4 @@ -import com.android.build.gradle.LibraryExtension -import com.javernaut.whatthecodec.buildlogic.Versions +import com.android.build.api.dsl.LibraryExtension import com.javernaut.whatthecodec.buildlogic.configureKotlinAndroid import com.javernaut.whatthecodec.buildlogic.extension.apply import com.javernaut.whatthecodec.buildlogic.extension.libs @@ -12,12 +11,10 @@ class AndroidLibraryConventionPlugin : Plugin { with(target) { with(pluginManager) { apply(libs.plugins.android.library) - apply(libs.plugins.jetbrains.kotlin.android) } extensions.configure { configureKotlinAndroid(this) - defaultConfig.targetSdk = Versions.targetSdk } } } diff --git a/build-logic/convention/src/main/kotlin/AndroidTestConventionPlugin.kt b/build-logic/convention/src/main/kotlin/AndroidTestConventionPlugin.kt index 970cc1fe..9a4c6e68 100644 --- a/build-logic/convention/src/main/kotlin/AndroidTestConventionPlugin.kt +++ b/build-logic/convention/src/main/kotlin/AndroidTestConventionPlugin.kt @@ -1,4 +1,4 @@ -import com.android.build.gradle.TestExtension +import com.android.build.api.dsl.TestExtension import com.javernaut.whatthecodec.buildlogic.Versions import com.javernaut.whatthecodec.buildlogic.configureKotlinAndroid import com.javernaut.whatthecodec.buildlogic.extension.apply @@ -12,7 +12,6 @@ class AndroidTestConventionPlugin : Plugin { with(target) { with(pluginManager) { apply(libs.plugins.android.test) - apply(libs.plugins.jetbrains.kotlin.android) } extensions.configure { diff --git a/build-logic/convention/src/main/kotlin/com/javernaut/whatthecodec/buildlogic/KotlinCompose.kt b/build-logic/convention/src/main/kotlin/com/javernaut/whatthecodec/buildlogic/KotlinCompose.kt index dff1eff4..ef3982ca 100644 --- a/build-logic/convention/src/main/kotlin/com/javernaut/whatthecodec/buildlogic/KotlinCompose.kt +++ b/build-logic/convention/src/main/kotlin/com/javernaut/whatthecodec/buildlogic/KotlinCompose.kt @@ -6,19 +6,16 @@ import com.javernaut.whatthecodec.buildlogic.extension.debugImplementation import com.javernaut.whatthecodec.buildlogic.extension.implementation import com.javernaut.whatthecodec.buildlogic.extension.libs import org.gradle.api.Project -import org.gradle.kotlin.dsl.assign -import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.dependencies -import org.jetbrains.kotlin.compose.compiler.gradle.ComposeCompilerGradlePluginExtension /** * Configure Compose-specific options */ internal fun Project.configureAndroidCompose( - commonExtension: CommonExtension<*, *, *, *, *, *>, + commonExtension: CommonExtension, ) { commonExtension.apply { - buildFeatures { + buildFeatures.apply { compose = true } @@ -32,8 +29,4 @@ internal fun Project.configureAndroidCompose( androidTestImplementation(libs.androidx.ui.test.junit4) } } - - extensions.configure { - enableStrongSkippingMode = true - } } diff --git a/build-logic/convention/src/main/kotlin/com/javernaut/whatthecodec/buildlogic/ProjectConfiguration.kt b/build-logic/convention/src/main/kotlin/com/javernaut/whatthecodec/buildlogic/ProjectConfiguration.kt index 5381af47..5b30aa93 100644 --- a/build-logic/convention/src/main/kotlin/com/javernaut/whatthecodec/buildlogic/ProjectConfiguration.kt +++ b/build-logic/convention/src/main/kotlin/com/javernaut/whatthecodec/buildlogic/ProjectConfiguration.kt @@ -7,28 +7,27 @@ import org.gradle.kotlin.dsl.assign import org.gradle.kotlin.dsl.configure import org.gradle.kotlin.dsl.provideDelegate import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension +import org.jetbrains.kotlin.gradle.dsl.KotlinBaseExtension import org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension -import org.jetbrains.kotlin.gradle.dsl.KotlinTopLevelExtension /** * Configure base Kotlin with Android options */ internal fun Project.configureKotlinAndroid( - commonExtension: CommonExtension<*, *, *, *, *, *>, + commonExtension: CommonExtension, ) { commonExtension.apply { compileSdk = Versions.compileSdk - defaultConfig { + defaultConfig.apply { minSdk = Versions.minSdk testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } - compileOptions { + compileOptions.apply { sourceCompatibility = Versions.javaSourceCompatibility targetCompatibility = Versions.javaTargetCompatibility } - @Suppress("UnstableApiUsage") testOptions.animationsDisabled = true } @@ -50,7 +49,7 @@ internal fun Project.configureKotlinJvm() { /** * Configure base Kotlin options */ -private inline fun Project.configureKotlin() = configure { +private inline fun Project.configureKotlin() = configure { // Treat all Kotlin warnings as errors (disabled by default) // Override by setting warningsAsErrors=true in your ~/.gradle/gradle.properties val warningsAsErrors: String? by project diff --git a/build.gradle.kts b/build.gradle.kts index 08b2adf2..6160b98c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,7 +5,6 @@ apply(from = "${rootDir}/scripts/read-arguments.gradle") plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.jetbrains.kotlin.jvm) apply false - alias(libs.plugins.jetbrains.kotlin.android) apply false alias(libs.plugins.jetbrains.kotlin.compose) apply false alias(libs.plugins.detekt) apply false alias(libs.plugins.google.ksp) apply false diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 34353db5..f4d5fca4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -androidGradlePlugin = "8.13.2" +androidGradlePlugin = "9.0.0" androidTools = "32.0.0" kotlin = "2.3.0" @@ -13,7 +13,7 @@ androidx-activity-compose = "1.12.3" androidx-compose-bom = "2026.01.01" androidx-hilt = "1.3.0" -androidx-benchmark = "1.4.1" +androidx-benchmark = "1.5.0-alpha02" androidx-profileinstaller = "1.4.1" androidx-test-core = "1.7.0" @@ -25,7 +25,7 @@ androidx-test-ext-truth = "1.7.0" screengrab = "2.1.1" google-ksp = "2.3.5" -google-dagger = "2.58" +google-dagger = "2.59" detekt = "1.23.8" @@ -113,7 +113,6 @@ android-library = { id = "com.android.library", version.ref = "androidGradlePlug android-test = { id = "com.android.test", version.ref = "androidGradlePlugin" } androidx-baselineprofile = { id = "androidx.baselineprofile", version.ref = "androidx-benchmark" } jetbrains-kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } -jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } jetbrains-kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } google-ksp = { id = "com.google.devtools.ksp", version.ref = "google-ksp" } google-hilt = { id = "com.google.dagger.hilt.android", version.ref = "google-dagger" }