Skip to content

Commit

Permalink
Merge pull request #188 from DroidKaigi/takahirom/update-kotlin-2.0/2…
Browse files Browse the repository at this point in the history
…024-08-01

Update Kotlin 2.0 and libraries and plugins
  • Loading branch information
takahirom authored Aug 1, 2024
2 parents 03cb14b + fe081f1 commit a036a2d
Show file tree
Hide file tree
Showing 9 changed files with 38 additions and 56 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ import org.gradle.kotlin.dsl.dependencies
class AndroidComposePlugin : Plugin<Project> {
override fun apply(target: Project) {
with(target) {
with(pluginManager) {
apply(libs.plugin("composeCompiler").pluginId)
}
android {
buildFeatures.compose = true
composeOptions {
kotlinCompilerExtensionVersion = libs.version("composeCompiler")
}
}
dependencies {
implementation(platform(libs.library("composeBom")))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ fun Project.setupAndroid() {
}
}

(this as CommonExtension<*,*,*,*,*>).lint {
(this as CommonExtension<*,*,*,*,*,*>).lint {
// shell friendly
val filename = displayName.replace(":", "_").replace("[\\s']".toRegex(), "")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@ class KmpAndroidPlugin : Plugin<Project> {
sourceSets {
getByName("main") {
assets.srcDirs("src/androidMain/assets")
java.srcDirs("src/androidMain/kotlin", "src/commonMain/kotlin")
java.srcDirs("src/androidMain/kotlin")
res.srcDirs("src/androidMain/res")
}
getByName("test") {
assets.srcDirs("src/androidUnitTest/assets")
java.srcDirs("src/androidUnitTest/kotlin", "src/commonTest/kotlin")
java.srcDirs("src/androidUnitTest/kotlin")
res.srcDirs("src/androidUnitTest/res")
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,11 @@ class KmpComposePlugin : Plugin<Project> {
with(target) {
with(pluginManager) {
apply("org.jetbrains.compose")
apply(libs.plugin("composeCompiler").pluginId)
}
if (plugins.hasPlugin("com.android.library")) {
android {
buildFeatures.compose = true
composeOptions {
kotlinCompilerExtensionVersion = libs.version("composeCompiler")
}
}
}
val compose = extensions.get("compose") as org.jetbrains.compose.ComposeExtension
Expand Down
1 change: 1 addition & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ plugins {
alias(libs.plugins.androidGradlePlugin) apply false
alias(libs.plugins.androidGradleLibraryPlugin) apply false
alias(libs.plugins.kotlinGradlePlugin) apply false
alias(libs.plugins.composeCompiler) apply false
alias(libs.plugins.kotlinxKover) apply false
}

Expand Down
1 change: 0 additions & 1 deletion core/data/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ kotlin {
}

androidMain {
dependsOn(getByName("commonMain"))
dependencies {
implementation(libs.ktorClientOkHttp)
implementation(libs.multiplatformFirebaseAuth)
Expand Down
18 changes: 0 additions & 18 deletions core/designsystem/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -22,24 +22,6 @@ kotlin {
androidMain {
dependencies {
api(compose.preview)
}
}
}
}

android {
sourceSets {
named("main") {
res.srcDirs("src/commonMain/resources", "src/androidMain/resources")
resources.srcDirs("src/commonMain/resources")
}
}
}

kotlin {
sourceSets {
commonMain {
dependencies {
// Fix https://youtrack.jetbrains.com/issue/KT-41821
implementation(libs.kotlinxAtomicfu)
}
Expand Down
56 changes: 29 additions & 27 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,36 +1,35 @@
[versions]
androidGradlePlugin = "8.1.4"
androidGradlePlugin = "8.5.1"
# For updating Kotlin and Compose Compiler version, see:
# https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-compatibility-and-versioning.html#jetpack-compose-and-compose-multiplatform-release-cycles
# https://developer.android.com/jetpack/androidx/releases/compose-kotlin?#pre-release_kotlin_compatibility
kotlin = "1.9.24"
kotlin = "2.0.0"

androidxCore = "1.13.1"
androidDesugarJdkLibs = "2.0.4"
compose = "2024.06.00"
composeCompiler = "1.5.14"
composeMultiplatform = "1.6.11"
rin = "0.1.0"
composeInvestigator = "1.5.10-0.2.1"
composeMaterial3 = "1.2.1"
composeHiltNavigatiaon = "1.2.0"
androidxLifecycle = "2.8.2"
androidxActivity = "1.9.0"
androidxFragment = "1.8.0"
androidxLifecycle = "2.8.4"
androidxActivity = "1.9.1"
androidxFragment = "1.8.2"
androidxSplashScreen = "1.0.1"
kotlinxCoroutines = "1.8.1"
accompanist = "0.30.1"
junit = "4.13.2"
androidxTestExt = "1.1.5"
androidxTestEspresso = "3.5.1"
androidxTestExt = "1.2.1"
androidxTestEspresso = "3.6.1"
dagger = "2.51.1"
koin = "3.4.3"
ktlint = "0.49.1"
kotlinxSerialization = "1.6.3"
ktor = "2.3.10"
roborazzi = "1.23.0"
ksp = "1.9.24-1.0.20"
firebaseBom = "33.1.0"
ksp = "2.0.0-1.0.24"
firebaseBom = "33.1.2"
multiplatformFirebase = "1.8.1"
kermit = "1.2.2"
okHttp = "4.12.0"
Expand All @@ -41,21 +40,22 @@ haze = "0.7.2"
detekt = "1.23.6"
twitterComposeRule = "0.0.26"
lottie = "6.1.0"
molecule = "1.4.1"
molecule = "1.4.2"
kover = "0.7.6"
androidxLifecycleProcess = "2.8.2"
androidxLifecycleProcess = "2.8.4"
skie = "0.8.3"
composablePreviewScanner = "0.1.2"
composablePreviewScanner = "0.1.3"
coil = "3.0.0-alpha06"

[libraries]
androidGradlePlugin = { group = "com.android.tools.build", name = "gradle", version.ref = "androidGradlePlugin" }
kotlinGradlePlugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" }
composeJbGradlePlugin = { group = "org.jetbrains.compose", name = "compose-gradle-plugin", version.ref = "composeMultiplatform" }
composeCompiler = { group = "org.jetbrains.kotlin", name = "kotlin-compiler-embeddable", version.ref = "kotlin" }
hiltGradlePlugin = { group = "com.google.dagger", name = "hilt-android-gradle-plugin", version.ref = "dagger" }
roborazziGradlePlugin = { group = "io.github.takahirom.roborazzi", name = "roborazzi-gradle-plugin", version.ref = "roborazzi" }
kspGradlePlugin = { module = "com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin", version.ref = "ksp" }
firebaseGradlePlugin = { module = "com.google.gms:google-services", version = "4.3.15" }
firebaseGradlePlugin = { module = "com.google.gms:google-services", version = "4.4.2" }
ktorfitGradlePlugin = { module = "de.jensklingenberg.ktorfit:gradle-plugin", version = "1.0.0" }
kotlinxSerializationGradlePlugin = { module = "org.jetbrains.kotlin:kotlin-serialization", version.ref = "kotlin" }
completeKotlinPlugin = { module = "com.louiscad.complete-kotlin:plugin", version = "1.1.0" }
Expand Down Expand Up @@ -86,8 +86,8 @@ kotlinxCoroutinesCore = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-cor

kermit = { module = "co.touchlab:kermit", version.ref = "kermit" }
kotlinxCollectionsImmutable = { module = "org.jetbrains.kotlinx:kotlinx-collections-immutable", version = "0.3.5" }
kotlinxDatetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version = "0.4.0" }
kotlinxAtomicfu = { module = "org.jetbrains.kotlinx:atomicfu", version = "0.22.0" }
kotlinxDatetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version = "0.6.0" }
kotlinxAtomicfu = { module = "org.jetbrains.kotlinx:atomicfu", version = "0.23.2" }

# UI

Expand All @@ -106,7 +106,7 @@ composeMaterialIcon = { module = "androidx.compose.material:material-icons-exten
composeUiTestManifest = { module = "androidx.compose.ui:ui-test-manifest" }
composeUiTestJunit4 = { module = "androidx.compose.ui:ui-test-junit4" }
composeNavigation = { module = "org.jetbrains.androidx.navigation:navigation-compose", version = "2.8.0-alpha02" }
coreBundle = { module = "org.jetbrains.androidx.core:core-bundle", version = "1.0.0-alpha01" }
coreBundle = { module = "org.jetbrains.androidx.core:core-bundle", version = "1.0.0" }
composeHiltNavigtation = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "composeHiltNavigatiaon" }
composeLintCheck = { module = "com.slack.lint.compose:compose-lint-checks", version = "1.3.1" }
coil = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil" }
Expand All @@ -115,20 +115,20 @@ coilTest = { module = "io.coil-kt.coil3:coil-test", version.ref = "coil" }
composeShimmer = { module = "com.valentinilk.shimmer:compose-shimmer", version = "1.0.5" }
rin = { module = "io.github.takahirom.rin:rin", version.ref = "rin" }
lottieCompose = { module = "com.airbnb.android:lottie-compose", version.ref = "lottie" }
animation-graphics-android = { group = "androidx.compose.animation", name = "animation-graphics-android", version = "1.5.1" }
animation-graphics-android = { group = "androidx.compose.animation", name = "animation-graphics-android", version = "1.6.8" }
haze = { group = "dev.chrisbanes.haze", name = "haze", version.ref = "haze" }

androidxFragment = { module = "androidx.fragment:fragment", version.ref = "androidxFragment" }
androidxCoreKtx = { module = "androidx.core:core-ktx", version.ref = "androidxCore" }
androidxAppCompat = { module = "androidx.appcompat:appcompat", version = "1.7.0-alpha03" }
androidxAppCompat = { module = "androidx.appcompat:appcompat", version = "1.7.0" }
androidxLifecycleLifecycleRuntimeKtx = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "androidxLifecycle" }
androidxLifecycleViewModel = { module = "androidx.lifecycle:lifecycle-viewmodel", version.ref = "androidxLifecycle" }
androidxLifecycleViewModelCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose", version = "0.0.0-SNAPSHOT" }
androidxLifecycleViewModelCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose", version = "2.8.0" }
androidxLifecycleCommon = { module = "androidx.lifecycle:lifecycle-common", version.ref = "androidxLifecycle" }
androidxActivityActivityCompose = { module = "androidx.activity:activity-compose", version.ref = "androidxActivity" }
androidxDatastoreDatastorePreferences = { module = "androidx.datastore:datastore-preferences-core", version = "1.1.0-alpha04" }
androidxBrowser = { module = "androidx.browser:browser", version = "1.6.0" }
androidxWindow = { module = "androidx.window:window", version = "1.1.0" }
androidxDatastoreDatastorePreferences = { module = "androidx.datastore:datastore-preferences-core", version = "1.1.1" }
androidxBrowser = { module = "androidx.browser:browser", version = "1.8.0" }
androidxWindow = { module = "androidx.window:window", version = "1.3.0" }
androidxSplashScreen = { module = "androidx.core:core-splashscreen", version.ref = "androidxSplashScreen" }
javaPoet = { module = "com.squareup:javapoet", version = "1.13.0" }

Expand All @@ -145,15 +145,15 @@ ktorContentNegotiation = { module = "io.ktor:ktor-client-content-negotiation", v

okHttpCore = { module = "com.squareup.okhttp3:okhttp", version.ref = "okHttp" }
okHttpLoggingInterceptor = { module = "com.squareup.okhttp3:logging-interceptor", version.ref = "okHttp" }
okIo = { module = "com.squareup.okio:okio", version = "3.5.0" }
okIo = { module = "com.squareup.okio:okio", version = "3.8.0" }
firebaseBom = { module = "com.google.firebase:firebase-bom", version.ref = "firebaseBom" }
firebaseCommon = { module = "com.google.firebase:firebase-common" }
firebaseAuth = { module = "com.google.firebase:firebase-auth" }
firebaseDynamicLinks = { module = "com.google.firebase:firebase-dynamic-links" }
multiplatformFirebaseAuth = { module = "dev.gitlive:firebase-auth", version.ref = "multiplatformFirebase" }
firebaseRemoteConfig = { module = "dev.gitlive:firebase-config", version.ref = "multiplatformFirebase" }
firebaseCrashlyticsGradlePlugin = { module = "com.google.firebase:firebase-crashlytics-gradle", version = "2.9.9" }
firebaseCrashlytics = { module = "com.google.firebase:firebase-crashlytics-ktx", version = "18.4.1" }
firebaseCrashlyticsGradlePlugin = { module = "com.google.firebase:firebase-crashlytics-gradle", version = "3.0.2" }
firebaseCrashlytics = { module = "com.google.firebase:firebase-crashlytics-ktx", version = "19.0.3" }

ktorfitLib = { module = "de.jensklingenberg.ktorfit:ktorfit-lib", version.ref = "ktorfit" }
ktorfitKsp = { module = "de.jensklingenberg.ktorfit:ktorfit-ksp", version.ref = "ktorfit" }
Expand All @@ -167,7 +167,7 @@ ossLicenses = { module = "com.google.android.gms:play-services-oss-licenses", ve
junit = { module = "junit:junit", version.ref = "junit" }
androidxTestExtJunit = { module = "androidx.test.ext:junit", version.ref = "androidxTestExt" }
androidxTestEspressoEspressoCore = { module = "androidx.test.espresso:espresso-core", version.ref = "androidxTestEspresso" }
robolectric = { module = "org.robolectric:robolectric", version = "4.12.2" }
robolectric = { module = "org.robolectric:robolectric", version = "4.13" }
roborazzi = { module = "io.github.takahirom.roborazzi:roborazzi", version.ref = "roborazzi" }
roborazziCompose = { module = "io.github.takahirom.roborazzi:roborazzi-compose", version.ref = "roborazzi" }
roborazziIos = { module = "io.github.takahirom.roborazzi:roborazzi-compose-ios", version.ref = "roborazzi" }
Expand All @@ -180,6 +180,7 @@ composablePreviewScannerJvm = { module = "com.github.sergio-sastre.ComposablePre
androidGradlePlugin = { id = "com.android.application", version.ref = "androidGradlePlugin" }
androidGradleLibraryPlugin = { id = "com.android.library", version.ref = "androidGradlePlugin" }
kotlinGradlePlugin = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
composeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
hiltGradlePlugin = { id = "com.google.dagger.hilt.android", version.ref = "dagger" }
roborazziGradlePlugin = { id = "io.github.takahirom.roborazzi", version.ref = "roborazzi" }
kspGradlePlugin = { id = "com.google.devtools.ksp", version.ref = "ksp" }
Expand All @@ -193,6 +194,7 @@ ossLicensesPlugin = { id = "com.google.android.gms.oss-licenses-plugin", version
plugins = [
"androidGradlePlugin",
"kotlinGradlePlugin",
"composeCompiler",
"hiltGradlePlugin",
"composeJbGradlePlugin",
"roborazziGradlePlugin",
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down

0 comments on commit a036a2d

Please sign in to comment.