From 515e1005954a6360bfb7d9e2f3893e314e13bb2a Mon Sep 17 00:00:00 2001 From: Aleksander Nowakowski Date: Mon, 24 Jun 2024 14:07:50 +0200 Subject: [PATCH 1/7] Hilt migration from kapt to ksp --- README.md | 2 +- plugins/src/main/kotlin/AndroidHiltConventionPlugin.kt | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a1afda5..36c3dc5 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ List of plugins currently available in the repository. 7. [no.nordicsemi.android.plugin.hilt](plugins/src/main/kotlin/AndroidHiltConventionPlugin.kt) - This plugin applies `no.nordicsemi.android.plugin.kotlin` and `org.jetbrains.kotlin.kapt` and + This plugin applies `no.nordicsemi.android.plugin.kotlin` and `com.google.devtools.ksp` and configures [Hilt](https://dagger.dev/hilt/) for the module. 9. [no.nordicsemi.android.plugin.feature](plugins/src/main/kotlin/AndroidFeatureConventionPlugin.kt) diff --git a/plugins/src/main/kotlin/AndroidHiltConventionPlugin.kt b/plugins/src/main/kotlin/AndroidHiltConventionPlugin.kt index 49b7b86..d3d75cb 100644 --- a/plugins/src/main/kotlin/AndroidHiltConventionPlugin.kt +++ b/plugins/src/main/kotlin/AndroidHiltConventionPlugin.kt @@ -39,14 +39,14 @@ class AndroidHiltConventionPlugin : Plugin { with(target) { with(pluginManager) { apply("no.nordicsemi.android.plugin.kotlin") - apply("org.jetbrains.kotlin.kapt") + apply("com.google.devtools.ksp") apply("dagger.hilt.android.plugin") } dependencies { add("implementation", libs.findLibrary("hilt.android").get()) - add("kapt", libs.findLibrary("hilt.compiler").get()) - add("kaptAndroidTest", libs.findLibrary("hilt.compiler").get()) + add("ksp", libs.findLibrary("hilt.compiler").get()) + add("kspAndroidTest", libs.findLibrary("hilt.compiler").get()) } } } From caa137328131628f4c0c7fceb048c0e3693761af Mon Sep 17 00:00:00 2001 From: Aleksander Nowakowski Date: Mon, 24 Jun 2024 14:08:37 +0200 Subject: [PATCH 2/7] slf4j-nop added --- gradle/libs.versions.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e4f0a33..0757bc5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -193,6 +193,7 @@ timber = { group = "com.jakewharton.timber", name = "timber", version.ref = "tim chart = { group = "com.github.PhilJay", name = "MPAndroidChart", version.ref = "chart" } leakcanary = { group = "com.squareup.leakcanary", name = "leakcanary-android", version.ref = "leakcanary" } slf4j = { group = "org.slf4j", name = "slf4j-api", version.ref = "slf4j" } +slf4j-nop = { group = "org.slf4j", name = "slf4j-nop", version.ref = "slf4j" } slf4j-simple = { group = "org.slf4j", name = "slf4j-simple", version.ref = "slf4j" } slf4j-timber = { group = "com.arcao", name = "slf4j-timber", version.ref = "slf4j-timber" } test-mockk = { group = "io.mockk", name = "mockk", version.ref = "mockk" } From c422bfd7bb790a066692507cc16c52acef9cabbe Mon Sep 17 00:00:00 2001 From: Aleksander Nowakowski Date: Mon, 24 Jun 2024 15:23:38 +0200 Subject: [PATCH 3/7] KSP test dependency added --- plugins/src/main/kotlin/AndroidHiltConventionPlugin.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/src/main/kotlin/AndroidHiltConventionPlugin.kt b/plugins/src/main/kotlin/AndroidHiltConventionPlugin.kt index d3d75cb..56d40f6 100644 --- a/plugins/src/main/kotlin/AndroidHiltConventionPlugin.kt +++ b/plugins/src/main/kotlin/AndroidHiltConventionPlugin.kt @@ -46,6 +46,7 @@ class AndroidHiltConventionPlugin : Plugin { dependencies { add("implementation", libs.findLibrary("hilt.android").get()) add("ksp", libs.findLibrary("hilt.compiler").get()) + add("kspTest", libs.findLibrary("hilt.compiler").get()) add("kspAndroidTest", libs.findLibrary("hilt.compiler").get()) } } From aa7760dbb96e9d4166d3fea0831c53cbec70ee4e Mon Sep 17 00:00:00 2001 From: Aleksander Nowakowski Date: Mon, 24 Jun 2024 15:23:59 +0200 Subject: [PATCH 4/7] Disabled KAPT stub generation --- plugins/src/main/kotlin/AndroidKotlinConventionPlugin.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plugins/src/main/kotlin/AndroidKotlinConventionPlugin.kt b/plugins/src/main/kotlin/AndroidKotlinConventionPlugin.kt index c1dfb30..8f2de52 100644 --- a/plugins/src/main/kotlin/AndroidKotlinConventionPlugin.kt +++ b/plugins/src/main/kotlin/AndroidKotlinConventionPlugin.kt @@ -35,6 +35,7 @@ import no.nordicsemi.android.buildlogic.configureKotlinAndroid import org.gradle.api.Plugin import org.gradle.api.Project import org.gradle.kotlin.dsl.findByType +import org.jetbrains.kotlin.gradle.plugin.KaptExtension class AndroidKotlinConventionPlugin : Plugin { override fun apply(target: Project) { @@ -49,6 +50,9 @@ class AndroidKotlinConventionPlugin : Plugin { extensions.findByType()?.apply { configureKotlinAndroid(this) } + extensions.findByType()?.apply { + generateStubs = false + } } } } \ No newline at end of file From b1c3b7c8e8649293d11d567dbc8a6f04fe2c3c4a Mon Sep 17 00:00:00 2001 From: Aleksander Nowakowski Date: Mon, 24 Jun 2024 15:24:11 +0200 Subject: [PATCH 5/7] Unified moshi version dependency --- gradle/libs.versions.toml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 0757bc5..4e25945 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -59,10 +59,7 @@ slf4j = "1.7.36" # don't update to 2.x, unless the next one is also updated slf4j-timber = "3.1" # <- this one robolectric = "4.12.2" skydovesBallon = "1.6.5" -moshiKotlin = "1.15.1" -moshiAdapters = "1.15.1" moshi = "1.15.1" -moshiKotlinCodegen = "1.15.1" material3 = "1.3.0-beta03" material = "1.6.8" koinCore = "3.5.6" @@ -199,10 +196,10 @@ slf4j-timber = { group = "com.arcao", name = "slf4j-timber", version.ref = "slf4 test-mockk = { group = "io.mockk", name = "mockk", version.ref = "mockk" } test-robolectric = { group = "org.robolectric", name = "robolectric", version.ref = "robolectric" } skydoves-ballon = { group = "com.github.skydoves", name = "balloon-compose", version.ref = "skydovesBallon" } -moshi-kotlin = { group = "com.squareup.moshi", name = "moshi-kotlin", version.ref = "moshiKotlin" } -moshi-adapters = { group = "com.squareup.moshi", name = "moshi-adapters", version.ref = "moshiAdapters" } moshi = { group = "com.squareup.moshi", name = "moshi", version.ref = "moshi" } -moshi-kotlin-codegen = { group = "com.squareup.moshi", name = "moshi-kotlin-codegen", version.ref = "moshiKotlinCodegen" } +moshi-kotlin = { group = "com.squareup.moshi", name = "moshi-kotlin", version.ref = "moshi" } +moshi-adapters = { group = "com.squareup.moshi", name = "moshi-adapters", version.ref = "moshi" } +moshi-kotlin-codegen = { group = "com.squareup.moshi", name = "moshi-kotlin-codegen", version.ref = "moshi" } koin-core = { group = "io.insert-koin", name = "koin-core", version.ref = "koinCore" } koin-compose = { group = "io.insert-koin", name = "koin-compose", version.ref = "koinCompose" } kmm-uuid = { group = "com.benasher44", name = "uuid", version.ref = "kmmUuid" } From 4314094340de9a5d3b0330cc89ca452d6c07f36f Mon Sep 17 00:00:00 2001 From: Aleksander Nowakowski Date: Mon, 24 Jun 2024 15:57:40 +0200 Subject: [PATCH 6/7] Room 2.7.0-alpha04 --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 4e25945..7fd9aaf 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -45,7 +45,7 @@ protobuf = "4.27.1" protobufPlugin = "0.9.4" publishPlugin = "1.2.1" retrofit = "2.11.0" -room = "2.6.1" +room = "2.7.0-alpha04" paging = "3.3.0" secrets = "2.0.1" turbine = "1.1.0" From 84c5440f1f8c8a143f3f27e60d8a7e020f4ad972 Mon Sep 17 00:00:00 2001 From: Aleksander Nowakowski Date: Mon, 24 Jun 2024 16:39:44 +0200 Subject: [PATCH 7/7] Truth 1.4.2 added --- gradle/libs.versions.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7fd9aaf..fe1f52b 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -55,6 +55,7 @@ timber = "5.0.1" chart = "v3.1.0" leakcanary = "2.14" mockk = "1.13.11" +truth = "1.4.2" slf4j = "1.7.36" # don't update to 2.x, unless the next one is also updated slf4j-timber = "3.1" # <- this one robolectric = "4.12.2" @@ -154,6 +155,7 @@ hilt-ext-compiler = { group = "androidx.hilt", name = "hilt-compiler", version.r hilt-compiler = { group = "com.google.dagger", name = "hilt-android-compiler", version.ref = "hilt" } hilt-android-testing = { group = "com.google.dagger", name = "hilt-android-testing", version.ref = "hilt" } junit4 = { group = "junit", name = "junit", version.ref = "junit4" } +truth = { group = "com.google.truth", name = "truth", version.ref = "truth" } kotlin-junit = { group = "org.jetbrains.kotlin", name = "kotlin-test-junit", version.ref = "kotlin" } kotlin-stdlib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib-jdk8", version.ref = "kotlin" } kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "kotlinxCoroutines" }