fix(build): only suppress compat check for Compose Compiler when required
This commit is contained in:
parent
aab513060b
commit
884dd5dee9
1 changed files with 18 additions and 7 deletions
|
@ -29,17 +29,28 @@ class KotlinAndroidPlugin : Plugin<Project> {
|
||||||
project.extensions.getByType<KotlinProjectExtension>().jvmToolchain(JVM_TOOLCHAIN_ACTION)
|
project.extensions.getByType<KotlinProjectExtension>().jvmToolchain(JVM_TOOLCHAIN_ACTION)
|
||||||
val catalog = project.extensions.getByType<VersionCatalogsExtension>()
|
val catalog = project.extensions.getByType<VersionCatalogsExtension>()
|
||||||
val libs = catalog.named("libs")
|
val libs = catalog.named("libs")
|
||||||
if (libs.getVersion("composeCompiler").contains("-dev")) {
|
val composeCompilerVersion = libs.getVersion("composeCompiler")
|
||||||
val kotlinVersion = libs.getVersion("kotlin")
|
val kotlinVersion = libs.getVersion("kotlin")
|
||||||
project.tasks.withType<KotlinCompile>().configureEach {
|
val matches = COMPOSE_COMPILER_VERSION_REGEX.find(composeCompilerVersion)
|
||||||
compilerOptions.freeCompilerArgs.addAll(
|
|
||||||
"-P",
|
if (matches != null) {
|
||||||
"plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=$kotlinVersion",
|
val (compilerKotlinVersion) = matches.destructured
|
||||||
)
|
if (compilerKotlinVersion != kotlinVersion) {
|
||||||
|
project.tasks.withType<KotlinCompile>().configureEach {
|
||||||
|
compilerOptions.freeCompilerArgs.addAll(
|
||||||
|
"-P",
|
||||||
|
"plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=$kotlinVersion",
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun VersionCatalog.getVersion(key: String) =
|
private fun VersionCatalog.getVersion(key: String) =
|
||||||
findVersion(key).map(VersionConstraint::toString).get()
|
findVersion(key).map(VersionConstraint::toString).get()
|
||||||
|
|
||||||
|
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()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue