From f9d2f597bd43e16d8e4e7b5bab671a4bd3184158 Mon Sep 17 00:00:00 2001 From: Naveen Singh Date: Wed, 28 May 2025 21:02:46 +0530 Subject: [PATCH] chore(deps): add compose compiler gradle plugin --- app/build.gradle.kts | 29 ++++++++++++++++------------- gradle/libs.versions.toml | 4 +--- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index e2a1db17..0e46545f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,11 +1,13 @@ -import java.io.FileInputStream +import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.jetbrains.kotlin.konan.properties.Properties +import java.io.FileInputStream plugins { alias(libs.plugins.android) alias(libs.plugins.kotlinAndroid) alias(libs.plugins.detekt) + alias(libs.plugins.compose.compiler) base } @@ -64,10 +66,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get() - } - buildTypes { debug { applicationIdSuffix = ".debug" @@ -96,7 +94,8 @@ android { } compileOptions { - val currentJavaVersionFromLibs = JavaVersion.valueOf(libs.versions.app.build.javaVersion.get().toString()) + val currentJavaVersionFromLibs = + JavaVersion.valueOf(libs.versions.app.build.javaVersion.get().toString()) sourceCompatibility = currentJavaVersionFromLibs targetCompatibility = currentJavaVersionFromLibs } @@ -106,13 +105,17 @@ android { } tasks.withType { - kotlinOptions.jvmTarget = project.libs.versions.app.build.kotlinJVMTarget.get() - kotlinOptions.freeCompilerArgs = listOf( - "-opt-in=kotlin.RequiresOptIn", - "-opt-in=androidx.compose.material3.ExperimentalMaterial3Api", - "-opt-in=androidx.compose.material.ExperimentalMaterialApi", - "-opt-in=androidx.compose.foundation.ExperimentalFoundationApi", - "-Xcontext-receivers" + compilerOptions.jvmTarget.set( + JvmTarget.fromTarget(project.libs.versions.app.build.kotlinJVMTarget.get()) + ) + compilerOptions.freeCompilerArgs.set( + listOf( + "-opt-in=kotlin.RequiresOptIn", + "-opt-in=androidx.compose.material3.ExperimentalMaterial3Api", + "-opt-in=androidx.compose.material.ExperimentalMaterialApi", + "-opt-in=androidx.compose.foundation.ExperimentalFoundationApi", + "-Xcontext-receivers" + ) ) } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0dfd9d05..4f755e5a 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -12,7 +12,6 @@ simple-commons = "37078b151c" #Compose composeActivity = "1.10.1" compose = "1.7.8" -composeCompiler = "1.5.15" composeMaterial3 = "1.4.0-alpha15" #Gradle gradlePlugins-agp = "8.10.0" @@ -34,7 +33,6 @@ androidx-lifecycle-compose = { module = "androidx.lifecycle:lifecycle-runtime-co #Simple Mobile Tools simple-tools-commons = { module = "com.github.SimpleMobileTools:Simple-Commons", version.ref = "simple-commons" } #Compose -compose-compiler = { module = "androidx.compose.compiler:compiler", version.ref = "composeCompiler" } compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "compose" } compose-material3 = { module = "androidx.compose.material3:material3", version.ref = "composeMaterial3" } compose-material2 = { module = "androidx.compose.material:material", version.ref = "compose" } @@ -49,7 +47,6 @@ compose-uiTooling-preview = { module = "androidx.compose.ui:ui-tooling-preview", compose = [ "compose-activity", "compose-animation", - "compose-compiler", "compose-foundation", "compose-material-icons", "compose-material3", @@ -71,4 +68,5 @@ lifecycle = [ [plugins] android = { id = "com.android.application", version.ref = "gradlePlugins-agp" } kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }