From 5d338324dd1e5a56c272f38bdb8fb040e6e3320f Mon Sep 17 00:00:00 2001 From: Michael Bely Date: Sat, 25 May 2024 15:50:23 +0300 Subject: [PATCH] Migrate to Kotlin 2.0 (#336) * K2 * K2 --- androidApp/build.gradle.kts | 5 +---- build.gradle.kts | 1 + core/common/build.gradle.kts | 5 +---- core/interactor/build.gradle.kts | 1 + core/ui/build.gradle.kts | 5 +---- core/widget/build.gradle.kts | 5 +---- desktopApp/build.gradle.kts | 1 + feature/account-impl/build.gradle.kts | 5 +---- feature/account/build.gradle.kts | 5 +---- feature/auth-impl/build.gradle.kts | 5 +---- feature/auth/build.gradle.kts | 5 +---- feature/debug-impl/build.gradle.kts | 5 +---- feature/debug/build.gradle.kts | 5 +---- feature/details-impl/build.gradle.kts | 5 +---- feature/details/build.gradle.kts | 5 +---- feature/feed-impl/build.gradle.kts | 5 +---- feature/feed/build.gradle.kts | 5 +---- feature/gallery-impl/build.gradle.kts | 5 +---- feature/gallery/build.gradle.kts | 5 +---- feature/main-impl/build.gradle.kts | 5 +---- feature/search-impl/build.gradle.kts | 5 +---- feature/search/build.gradle.kts | 5 +---- feature/settings-impl/build.gradle.kts | 5 +---- feature/settings/build.gradle.kts | 5 +---- gradle/libs.versions.toml | 10 +++------- instant/build.gradle.kts | 5 +---- 26 files changed, 28 insertions(+), 95 deletions(-) diff --git a/androidApp/build.gradle.kts b/androidApp/build.gradle.kts index a259bc949..3d3a7e02c 100644 --- a/androidApp/build.gradle.kts +++ b/androidApp/build.gradle.kts @@ -6,6 +6,7 @@ import org.jetbrains.kotlin.konan.properties.Properties @Suppress("dsl_scope_violation") plugins { + alias(libs.plugins.kotlin.compose) alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.androidx.navigation.safeargs) @@ -143,10 +144,6 @@ android { /*dynamicFeatures += setOf(":instant")*/ - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - compileOptions { sourceCompatibility = JavaVersion.toVersion(libs.versions.jdk.get().toInt()) targetCompatibility = JavaVersion.toVersion(libs.versions.jdk.get().toInt()) diff --git a/build.gradle.kts b/build.gradle.kts index eae6f182a..3f528cba0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,6 +9,7 @@ plugins { alias(libs.plugins.kotlin.cocoapods) apply false alias(libs.plugins.kotlin.serialization) apply false alias(libs.plugins.kotlin.parcelize) apply false + alias(libs.plugins.kotlin.compose) apply false alias(libs.plugins.compose) apply false alias(libs.plugins.google.ksp) apply false alias(libs.plugins.google.services) apply false diff --git a/core/common/build.gradle.kts b/core/common/build.gradle.kts index a5950cd07..e2a822c83 100644 --- a/core/common/build.gradle.kts +++ b/core/common/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -56,10 +57,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - lint { quiet = true abortOnError = false diff --git a/core/interactor/build.gradle.kts b/core/interactor/build.gradle.kts index 1c268e8b5..3a461b794 100644 --- a/core/interactor/build.gradle.kts +++ b/core/interactor/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.android.library) alias(libs.plugins.compose) } diff --git a/core/ui/build.gradle.kts b/core/ui/build.gradle.kts index 310f1c5d1..4c2f2ccff 100644 --- a/core/ui/build.gradle.kts +++ b/core/ui/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -57,10 +58,6 @@ android { compileSdk = libs.versions.compile.sdk.get().toInt() } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - compileOptions { sourceCompatibility = JavaVersion.toVersion(rootProject.extra.get("jvmTarget") as String) targetCompatibility = JavaVersion.toVersion(rootProject.extra.get("jvmTarget") as String) diff --git a/core/widget/build.gradle.kts b/core/widget/build.gradle.kts index be697856c..858fcc3c0 100644 --- a/core/widget/build.gradle.kts +++ b/core/widget/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.kotlin.serialization) alias(libs.plugins.android.library) } @@ -42,10 +43,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - lint { quiet = true abortOnError = false diff --git a/desktopApp/build.gradle.kts b/desktopApp/build.gradle.kts index b22a4d9e6..4704eed3d 100755 --- a/desktopApp/build.gradle.kts +++ b/desktopApp/build.gradle.kts @@ -2,6 +2,7 @@ import org.jetbrains.compose.desktop.application.dsl.TargetFormat plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) } diff --git a/feature/account-impl/build.gradle.kts b/feature/account-impl/build.gradle.kts index 73cc67893..49cf6d034 100644 --- a/feature/account-impl/build.gradle.kts +++ b/feature/account-impl/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -48,10 +49,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - compileOptions { sourceCompatibility = JavaVersion.toVersion(rootProject.extra.get("jvmTarget") as String) targetCompatibility = JavaVersion.toVersion(rootProject.extra.get("jvmTarget") as String) diff --git a/feature/account/build.gradle.kts b/feature/account/build.gradle.kts index bdc46538a..dbead3336 100644 --- a/feature/account/build.gradle.kts +++ b/feature/account/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -37,10 +38,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - lint { quiet = true abortOnError = false diff --git a/feature/auth-impl/build.gradle.kts b/feature/auth-impl/build.gradle.kts index 4146ed94e..79e5274e9 100644 --- a/feature/auth-impl/build.gradle.kts +++ b/feature/auth-impl/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -45,10 +46,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - compileOptions { sourceCompatibility = JavaVersion.toVersion(rootProject.extra.get("jvmTarget") as String) targetCompatibility = JavaVersion.toVersion(rootProject.extra.get("jvmTarget") as String) diff --git a/feature/auth/build.gradle.kts b/feature/auth/build.gradle.kts index d0b6637c9..6c41bc3b4 100644 --- a/feature/auth/build.gradle.kts +++ b/feature/auth/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -38,10 +39,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - lint { quiet = true abortOnError = false diff --git a/feature/debug-impl/build.gradle.kts b/feature/debug-impl/build.gradle.kts index 935f6b3aa..4e70b348a 100644 --- a/feature/debug-impl/build.gradle.kts +++ b/feature/debug-impl/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -39,10 +40,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - lint { quiet = true abortOnError = false diff --git a/feature/debug/build.gradle.kts b/feature/debug/build.gradle.kts index 42770de6b..8a0279545 100644 --- a/feature/debug/build.gradle.kts +++ b/feature/debug/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -35,10 +36,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - lint { quiet = true abortOnError = false diff --git a/feature/details-impl/build.gradle.kts b/feature/details-impl/build.gradle.kts index f32fec9a8..0ef932fe3 100644 --- a/feature/details-impl/build.gradle.kts +++ b/feature/details-impl/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -46,10 +47,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - compileOptions { sourceCompatibility = JavaVersion.toVersion(rootProject.extra.get("jvmTarget") as String) targetCompatibility = JavaVersion.toVersion(rootProject.extra.get("jvmTarget") as String) diff --git a/feature/details/build.gradle.kts b/feature/details/build.gradle.kts index 18d7b74f9..bac7e7e88 100644 --- a/feature/details/build.gradle.kts +++ b/feature/details/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -38,10 +39,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - lint { quiet = true abortOnError = false diff --git a/feature/feed-impl/build.gradle.kts b/feature/feed-impl/build.gradle.kts index 4101de314..9d81eb9ea 100644 --- a/feature/feed-impl/build.gradle.kts +++ b/feature/feed-impl/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -60,10 +61,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - compileOptions { sourceCompatibility = JavaVersion.toVersion(rootProject.extra.get("jvmTarget") as String) targetCompatibility = JavaVersion.toVersion(rootProject.extra.get("jvmTarget") as String) diff --git a/feature/feed/build.gradle.kts b/feature/feed/build.gradle.kts index 5b079f839..00f802630 100644 --- a/feature/feed/build.gradle.kts +++ b/feature/feed/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -38,10 +39,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - lint { quiet = true abortOnError = false diff --git a/feature/gallery-impl/build.gradle.kts b/feature/gallery-impl/build.gradle.kts index b470a33c3..bd876f431 100644 --- a/feature/gallery-impl/build.gradle.kts +++ b/feature/gallery-impl/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -45,10 +46,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - compileOptions { sourceCompatibility = JavaVersion.toVersion(rootProject.extra.get("jvmTarget") as String) targetCompatibility = JavaVersion.toVersion(rootProject.extra.get("jvmTarget") as String) diff --git a/feature/gallery/build.gradle.kts b/feature/gallery/build.gradle.kts index 26879d33a..0ed7b5d1a 100644 --- a/feature/gallery/build.gradle.kts +++ b/feature/gallery/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -38,10 +39,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - lint { quiet = true abortOnError = false diff --git a/feature/main-impl/build.gradle.kts b/feature/main-impl/build.gradle.kts index 15abc3d15..d7a8ab33f 100644 --- a/feature/main-impl/build.gradle.kts +++ b/feature/main-impl/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -62,10 +63,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - compileOptions { sourceCompatibility = JavaVersion.toVersion(rootProject.extra.get("jvmTarget") as String) targetCompatibility = JavaVersion.toVersion(rootProject.extra.get("jvmTarget") as String) diff --git a/feature/search-impl/build.gradle.kts b/feature/search-impl/build.gradle.kts index d1181a60a..5463493a8 100644 --- a/feature/search-impl/build.gradle.kts +++ b/feature/search-impl/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -48,10 +49,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - compileOptions { sourceCompatibility = JavaVersion.toVersion(rootProject.extra.get("jvmTarget") as String) targetCompatibility = JavaVersion.toVersion(rootProject.extra.get("jvmTarget") as String) diff --git a/feature/search/build.gradle.kts b/feature/search/build.gradle.kts index 832312b7e..538927b7f 100644 --- a/feature/search/build.gradle.kts +++ b/feature/search/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -38,10 +39,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - lint { quiet = true abortOnError = false diff --git a/feature/settings-impl/build.gradle.kts b/feature/settings-impl/build.gradle.kts index d99189725..0762d25f5 100644 --- a/feature/settings-impl/build.gradle.kts +++ b/feature/settings-impl/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -51,10 +52,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 diff --git a/feature/settings/build.gradle.kts b/feature/settings/build.gradle.kts index cf1f81a4c..1522f2330 100644 --- a/feature/settings/build.gradle.kts +++ b/feature/settings/build.gradle.kts @@ -1,5 +1,6 @@ plugins { alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) alias(libs.plugins.compose) alias(libs.plugins.android.library) } @@ -38,10 +39,6 @@ android { compose = true } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - lint { quiet = true abortOnError = false diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c20c30ad8..a8d237ad4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,16 +1,14 @@ -# Compose to Kotlin Compatibility Map: https://d.android.com/jetpack/androidx/releases/compose-kotlin - [versions] min-sdk = "23" compile-sdk = "34" target-sdk = "34" jdk = "17" agp = "8.4.1" -kotlin = "1.9.24" +kotlin = "2.0.0" kotlinx-coroutines = "1.8.1" kotlinx-datetime = "0.6.0" kotlinx-serialization-json = "1.6.3" -google-ksp = "1.9.24-1.0.20" +google-ksp = "2.0.0-1.0.21" google-services = "4.4.1" google-services-base = "18.4.0" google-services-instantapps = "18.0.1" @@ -35,7 +33,6 @@ androidx-compose-animation = "1.6.7" androidx-compose-foundation = "1.6.7" androidx-compose-runtime = "1.6.7" androidx-compose-ui = "1.6.7" -androidx-compose-compiler = "1.5.14" androidx-compose-material-icons-extended = "1.6.7" androidx-compose-material3 = "1.2.1" androidx-core-ktx = "1.13.1" @@ -116,7 +113,6 @@ androidx-biometric-ktx = { module = "androidx.biometric:biometric-ktx", version. androidx-browser = { module = "androidx.browser:browser", version.ref = "androidx-browser" } androidx-collection = { module = "androidx.collection:collection", version.ref = "androidx-collection" } androidx-compose-animation = { module = "androidx.compose.animation:animation", version.ref = "androidx-compose-animation" } -androidx-compose-compiler = { module = "androidx.compose.compiler:compiler", version.ref = "androidx-compose-compiler" } androidx-compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "androidx-compose-foundation" } androidx-compose-foundation-layout = { module = "androidx.compose.foundation:foundation-layout", version.ref = "androidx-compose-foundation" } androidx-compose-material-icons-extended = { module = "androidx.compose.material:material-icons-extended", version.ref = "androidx-compose-material-icons-extended" } @@ -325,7 +321,6 @@ browser-android = [ ] compose-android = [ "androidx-compose-animation", - "androidx-compose-compiler", "androidx-compose-foundation", "androidx-compose-foundation-layout", "androidx-compose-material-icons-extended", @@ -489,6 +484,7 @@ kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlin-cocoapods = { id = "org.jetbrains.kotlin.native.cocoapods", version.ref = "kotlin" } kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" } +kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } compose = { id = "org.jetbrains.compose", version.ref = "compose" } google-ksp = { id = "com.google.devtools.ksp", version.ref = "google-ksp" } google-services = { id = "com.google.gms.google-services", version.ref = "google-services" } diff --git a/instant/build.gradle.kts b/instant/build.gradle.kts index 6b2423438..b0b5a9883 100644 --- a/instant/build.gradle.kts +++ b/instant/build.gradle.kts @@ -1,4 +1,5 @@ plugins { + alias(libs.plugins.kotlin.compose) alias(libs.plugins.android.dynamic.feature) alias(libs.plugins.kotlin.android) } @@ -28,10 +29,6 @@ android { } } - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.androidx.compose.compiler.get() - } - compileOptions { sourceCompatibility = JavaVersion.toVersion(libs.versions.jdk.get().toInt()) targetCompatibility = JavaVersion.toVersion(libs.versions.jdk.get().toInt())