diff --git a/android/build.gradle.kts b/android/build.gradle.kts index 2f195133..93091016 100644 --- a/android/build.gradle.kts +++ b/android/build.gradle.kts @@ -23,6 +23,7 @@ plugins { alias(libs.plugins.baselineprofile) alias(libs.plugins.licensee) alias(libs.plugins.tracelog) + alias(libs.plugins.kotlin.composeCompiler) } android { @@ -30,10 +31,7 @@ android { defaultConfig.applicationId = "dev.msfjarvis.claw.android" defaultConfig.testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" buildFeatures.compose = true - composeOptions { - useLiveLiterals = false - kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get() - } + composeOptions { useLiveLiterals = false } buildTypes.create("internal") { matchingFallbacks += "release" signingConfig = signingConfigs["debug"] diff --git a/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/KotlinAndroidPlugin.kt b/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/KotlinAndroidPlugin.kt index c0b7cab7..dc2366e7 100644 --- a/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/KotlinAndroidPlugin.kt +++ b/build-logic/src/main/kotlin/dev/msfjarvis/claw/gradle/KotlinAndroidPlugin.kt @@ -7,15 +7,12 @@ package dev.msfjarvis.claw.gradle import dev.msfjarvis.claw.gradle.KotlinCommonPlugin.Companion.JVM_TOOLCHAIN_ACTION -import org.gradle.accessors.dm.LibrariesForLibs import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.kotlin.dsl.apply import org.gradle.kotlin.dsl.getByType -import org.gradle.kotlin.dsl.withType import org.jetbrains.kotlin.gradle.dsl.KotlinProjectExtension import org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPluginWrapper -import org.jetbrains.kotlin.gradle.tasks.KotlinCompile @Suppress("Unused") class KotlinAndroidPlugin : Plugin { @@ -26,29 +23,5 @@ class KotlinAndroidPlugin : Plugin { apply(KotlinCommonPlugin::class) } project.extensions.getByType().jvmToolchain(JVM_TOOLCHAIN_ACTION) - val libs = project.extensions.getByName("libs") as LibrariesForLibs - val composeCompilerVersion = libs.versions.composeCompiler.get() - val kotlinVersion = libs.versions.kotlin.get() - val matches = COMPOSE_COMPILER_VERSION_REGEX.find(composeCompilerVersion) - project.tasks.withType().configureEach { - compilerOptions.freeCompilerArgs.addAll( - "-P", - "plugin:androidx.compose.compiler.plugins.kotlin:strongSkipping=true", - ) - if (matches != null) { - val (compilerKotlinVersion) = matches.destructured - if (compilerKotlinVersion != kotlinVersion) { - compilerOptions.freeCompilerArgs.addAll( - "-P", - "plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=$kotlinVersion", - ) - } - } - } - } - - private companion object { - // Matches against 1.5.0-dev-k1.9.0-6a60475e07f - val COMPOSE_COMPILER_VERSION_REGEX = "\\d.\\d.\\d-dev-k(\\d.\\d.\\d+)-[a-z0-9]+".toRegex() } } diff --git a/common/build.gradle.kts b/common/build.gradle.kts index 2801e4be..09754fc4 100644 --- a/common/build.gradle.kts +++ b/common/build.gradle.kts @@ -13,6 +13,7 @@ plugins { id("dev.msfjarvis.claw.kotlin-android") alias(libs.plugins.anvil) alias(libs.plugins.whetstone) + alias(libs.plugins.kotlin.composeCompiler) } android { @@ -20,10 +21,7 @@ android { androidResources = true compose = true } - composeOptions { - useLiveLiterals = false - kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get() - } + composeOptions { useLiveLiterals = false } namespace = "dev.msfjarvis.claw.common" } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0e94d139..50147ada 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -4,8 +4,6 @@ agp = "8.4.1" android-junit5 = "1.10.0.0" benchmark = "1.3.0-alpha05" coil = "2.6.0" -# @keep used for kotlinCompilerExtensionVersion -composeCompiler = "1.5.14" coroutines = "1.8.1" dagger = "2.51.1" glance = "1.0.0" @@ -122,6 +120,7 @@ android-test = { id = "com.android.test", version.ref = "agp" } anvil = "com.squareup.anvil:2.5.0-beta09" baselineprofile = { id = "androidx.baselineprofile", version.ref = "benchmark" } dependencyAnalysis = "com.autonomousapps.dependency-analysis:1.31.0" +kotlin-composeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } ksp = "com.google.devtools.ksp:2.0.0-1.0.21" licensee = "app.cash.licensee:1.11.0" diff --git a/web/build.gradle.kts b/web/build.gradle.kts index aa881b39..4de97b32 100644 --- a/web/build.gradle.kts +++ b/web/build.gradle.kts @@ -9,12 +9,12 @@ plugins { id("dev.msfjarvis.claw.android-library") id("dev.msfjarvis.claw.kotlin-android") + alias(libs.plugins.kotlin.composeCompiler) } android { namespace = "com.google.accompanist.web" buildFeatures.compose = true - composeOptions.kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get() kotlin.explicitApi() // Don't quite care lint.disable += "DeprecatedCall"