fix(build): cut over to upstream Compose Compiler

This commit is contained in:
Harsh Shandilya 2024-05-22 02:39:26 +05:30
parent e3ed059fde
commit c471fee4ee
5 changed files with 6 additions and 38 deletions

View file

@ -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"]

View file

@ -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<Project> {
@ -26,29 +23,5 @@ class KotlinAndroidPlugin : Plugin<Project> {
apply(KotlinCommonPlugin::class)
}
project.extensions.getByType<KotlinProjectExtension>().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<KotlinCompile>().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()
}
}

View file

@ -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"
}

View file

@ -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"

View file

@ -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"