Skip to content

Commit 4d3f186

Browse files
authored
chore(deps): add compose compiler gradle plugin (#44)
1 parent 722a774 commit 4d3f186

2 files changed

Lines changed: 17 additions & 16 deletions

File tree

app/build.gradle.kts

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
import java.io.FileInputStream
1+
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
22
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
33
import org.jetbrains.kotlin.konan.properties.Properties
4+
import java.io.FileInputStream
45

56
plugins {
67
alias(libs.plugins.android)
78
alias(libs.plugins.kotlinAndroid)
89
alias(libs.plugins.detekt)
10+
alias(libs.plugins.compose.compiler)
911
base
1012
}
1113

@@ -64,10 +66,6 @@ android {
6466
compose = true
6567
}
6668

67-
composeOptions {
68-
kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get()
69-
}
70-
7169
buildTypes {
7270
debug {
7371
applicationIdSuffix = ".debug"
@@ -96,7 +94,8 @@ android {
9694
}
9795

9896
compileOptions {
99-
val currentJavaVersionFromLibs = JavaVersion.valueOf(libs.versions.app.build.javaVersion.get().toString())
97+
val currentJavaVersionFromLibs =
98+
JavaVersion.valueOf(libs.versions.app.build.javaVersion.get().toString())
10099
sourceCompatibility = currentJavaVersionFromLibs
101100
targetCompatibility = currentJavaVersionFromLibs
102101
}
@@ -106,13 +105,17 @@ android {
106105
}
107106

108107
tasks.withType<KotlinCompile> {
109-
kotlinOptions.jvmTarget = project.libs.versions.app.build.kotlinJVMTarget.get()
110-
kotlinOptions.freeCompilerArgs = listOf(
111-
"-opt-in=kotlin.RequiresOptIn",
112-
"-opt-in=androidx.compose.material3.ExperimentalMaterial3Api",
113-
"-opt-in=androidx.compose.material.ExperimentalMaterialApi",
114-
"-opt-in=androidx.compose.foundation.ExperimentalFoundationApi",
115-
"-Xcontext-receivers"
108+
compilerOptions.jvmTarget.set(
109+
JvmTarget.fromTarget(project.libs.versions.app.build.kotlinJVMTarget.get())
110+
)
111+
compilerOptions.freeCompilerArgs.set(
112+
listOf(
113+
"-opt-in=kotlin.RequiresOptIn",
114+
"-opt-in=androidx.compose.material3.ExperimentalMaterial3Api",
115+
"-opt-in=androidx.compose.material.ExperimentalMaterialApi",
116+
"-opt-in=androidx.compose.foundation.ExperimentalFoundationApi",
117+
"-Xcontext-receivers"
118+
)
116119
)
117120
}
118121

gradle/libs.versions.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ simple-commons = "37078b151c"
1212
#Compose
1313
composeActivity = "1.10.1"
1414
compose = "1.7.8"
15-
composeCompiler = "1.5.15"
1615
composeMaterial3 = "1.4.0-alpha15"
1716
#Gradle
1817
gradlePlugins-agp = "8.10.0"
@@ -34,7 +33,6 @@ androidx-lifecycle-compose = { module = "androidx.lifecycle:lifecycle-runtime-co
3433
#Simple Mobile Tools
3534
simple-tools-commons = { module = "com.github.SimpleMobileTools:Simple-Commons", version.ref = "simple-commons" }
3635
#Compose
37-
compose-compiler = { module = "androidx.compose.compiler:compiler", version.ref = "composeCompiler" }
3836
compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "compose" }
3937
compose-material3 = { module = "androidx.compose.material3:material3", version.ref = "composeMaterial3" }
4038
compose-material2 = { module = "androidx.compose.material:material", version.ref = "compose" }
@@ -49,7 +47,6 @@ compose-uiTooling-preview = { module = "androidx.compose.ui:ui-tooling-preview",
4947
compose = [
5048
"compose-activity",
5149
"compose-animation",
52-
"compose-compiler",
5350
"compose-foundation",
5451
"compose-material-icons",
5552
"compose-material3",
@@ -71,4 +68,5 @@ lifecycle = [
7168
[plugins]
7269
android = { id = "com.android.application", version.ref = "gradlePlugins-agp" }
7370
kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
71+
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
7472
detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }

0 commit comments

Comments
 (0)