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/gradle/libs.versions.toml b/gradle/libs.versions.toml index e4f0a33..fe1f52b 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" @@ -55,14 +55,12 @@ 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" 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" @@ -157,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" } @@ -193,15 +192,16 @@ 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" } 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" } diff --git a/plugins/src/main/kotlin/AndroidHiltConventionPlugin.kt b/plugins/src/main/kotlin/AndroidHiltConventionPlugin.kt index 49b7b86..56d40f6 100644 --- a/plugins/src/main/kotlin/AndroidHiltConventionPlugin.kt +++ b/plugins/src/main/kotlin/AndroidHiltConventionPlugin.kt @@ -39,14 +39,15 @@ 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("kspTest", libs.findLibrary("hilt.compiler").get()) + add("kspAndroidTest", libs.findLibrary("hilt.compiler").get()) } } } 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