diff --git a/commons/build.gradle.kts b/commons/build.gradle.kts index c565e259c4..5aa3c20452 100644 --- a/commons/build.gradle.kts +++ b/commons/build.gradle.kts @@ -1,8 +1,12 @@ +import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile + plugins { alias(libs.plugins.library) alias(libs.plugins.kotlinAndroid) alias(libs.plugins.ksp) alias(libs.plugins.kotlinSerialization) + alias(libs.plugins.compose.compiler) alias(libs.plugins.parcelize) alias(libs.plugins.detekt) `maven-publish` @@ -40,31 +44,31 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get() - } - compileOptions { - val currentJavaVersionFromLibs = JavaVersion.valueOf(libs.versions.app.build.javaVersion.get()) + val currentJavaVersionFromLibs = + JavaVersion.valueOf(libs.versions.app.build.javaVersion.get()) sourceCompatibility = currentJavaVersionFromLibs targetCompatibility = currentJavaVersionFromLibs } - 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", - "-opt-in=com.bumptech.glide.integration.compose.ExperimentalGlideComposeApi", - "-Xcontext-receivers" + tasks.withType { + 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", + "-opt-in=com.bumptech.glide.integration.compose.ExperimentalGlideComposeApi", + "-Xcontext-receivers" + ) ) } lint { checkReleaseBuilds = false - abortOnError = false abortOnError = true warningsAsErrors = true baseline = file("lint-baseline.xml") diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 477ef36a91..014f52cf40 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,10 +1,10 @@ [versions] #jetbrains -kotlin = "1.9.25" +kotlin = "2.1.21" kotlin-immutable-collections = "0.3.6" #KSP kotlinxSerializationJson = "1.6.3" -ksp = "1.9.25-1.0.20" +ksp = "2.1.21-2.0.1" #Detekt detekt = "1.23.3" #Androidx @@ -31,7 +31,6 @@ rtlViewpager = "940f12724f" #Compose composeActivity = "1.9.3" compose = "1.7.6" -composeCompiler = "1.5.15" composeMaterial3 = "1.3.2" #Glide glide = "4.16.0" @@ -74,7 +73,6 @@ androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = " androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "room" } androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" } #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" } @@ -107,7 +105,6 @@ kotlin-immutable-collections = { module = "org.jetbrains.kotlinx:kotlinx-collect compose = [ "compose-activity", "compose-animation", - "compose-compiler", "compose-foundation", "compose-material-icons", "compose-material3", @@ -135,6 +132,7 @@ android = { id = "com.android.application", version.ref = "gradlePlugins-agp" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } library = { id = "com.android.library", version.ref = "gradlePlugins-agp" } kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" } detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } diff --git a/samples/build.gradle.kts b/samples/build.gradle.kts index 75eab910d9..97ae40ae04 100644 --- a/samples/build.gradle.kts +++ b/samples/build.gradle.kts @@ -1,3 +1,4 @@ +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 @@ -5,6 +6,7 @@ import java.io.FileInputStream plugins { alias(libs.plugins.android) alias(libs.plugins.kotlinAndroid) + alias(libs.plugins.compose.compiler) alias(libs.plugins.detekt) } @@ -59,16 +61,24 @@ android { } compileOptions { - val currentJavaVersionFromLibs = JavaVersion.valueOf(libs.versions.app.build.javaVersion.get()) + val currentJavaVersionFromLibs = + JavaVersion.valueOf(libs.versions.app.build.javaVersion.get()) sourceCompatibility = currentJavaVersionFromLibs targetCompatibility = currentJavaVersionFromLibs } tasks.withType { - kotlinOptions.jvmTarget = project.libs.versions.app.build.kotlinJVMTarget.get() - kotlinOptions.freeCompilerArgs = listOf( - "-opt-in=kotlin.RequiresOptIn", - "-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" + ) ) } @@ -78,21 +88,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get() - } - - 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" - ) - } - sourceSets { getByName("main").java.srcDirs("src/main/kotlin") } @@ -100,7 +95,6 @@ android { lint { disable.add("Instantiatable") checkReleaseBuilds = false - abortOnError = false abortOnError = true warningsAsErrors = true baseline = file("lint-baseline.xml")