From bfdf89ae1c22592458b75321f6390c9bda5ba60d Mon Sep 17 00:00:00 2001 From: Kirill Kamakin Date: Sun, 30 Jun 2024 17:01:44 +0200 Subject: [PATCH] Migrate Hilt plugin to KSP (#274) --- app/build.gradle.kts | 7 +++---- architecture/build.gradle.kts | 4 ++-- database/build.gradle.kts | 5 ++--- datasource/build.gradle.kts | 6 +++--- datastore/build.gradle.kts | 10 +++++----- features/shopping_lists/build.gradle.kts | 9 ++------- gradle.properties | 1 - logging/build.gradle.kts | 4 ++-- model_mapper/build.gradle.kts | 6 +++--- testing/build.gradle.kts | 9 +++------ ui/build.gradle.kts | 5 ++--- 11 files changed, 27 insertions(+), 39 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 36fecbd..4e6eb32 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -5,7 +5,6 @@ import java.util.Properties plugins { id("gq.kirmanak.mealient.application") - id("kotlin-kapt") id("dagger.hilt.android.plugin") alias(libs.plugins.ksp) id("gq.kirmanak.mealient.compose.app") @@ -108,11 +107,11 @@ dependencies { kover(project(":datastore")) kover(project(":datasource")) - kapt(libs.google.dagger.hiltCompiler) + ksp(libs.google.dagger.hiltCompiler) - kaptTest(libs.google.dagger.hiltAndroidCompiler) + kspTest(libs.google.dagger.hiltAndroidCompiler) - kaptAndroidTest(libs.google.dagger.hiltAndroidCompiler) + kspAndroidTest(libs.google.dagger.hiltAndroidCompiler) testImplementation(project(":datasource_test")) testImplementation(project(":database_test")) diff --git a/architecture/build.gradle.kts b/architecture/build.gradle.kts index ea05266..064f096 100644 --- a/architecture/build.gradle.kts +++ b/architecture/build.gradle.kts @@ -1,7 +1,7 @@ plugins { id("gq.kirmanak.mealient.library") id("dagger.hilt.android.plugin") - id("kotlin-kapt") + alias(libs.plugins.ksp) } android { @@ -10,7 +10,7 @@ android { dependencies { implementation(libs.google.dagger.hiltAndroid) - kapt(libs.google.dagger.hiltCompiler) + ksp(libs.google.dagger.hiltCompiler) testImplementation(libs.jetbrains.kotlinx.coroutinesTest) testImplementation(libs.androidx.test.junit) diff --git a/database/build.gradle.kts b/database/build.gradle.kts index 16cc132..6d774dd 100644 --- a/database/build.gradle.kts +++ b/database/build.gradle.kts @@ -1,6 +1,5 @@ plugins { id("gq.kirmanak.mealient.library") - id("kotlin-kapt") id("dagger.hilt.android.plugin") alias(libs.plugins.ksp) } @@ -15,8 +14,8 @@ dependencies { testImplementation(project(":database_test")) implementation(libs.google.dagger.hiltAndroid) - kapt(libs.google.dagger.hiltCompiler) - kaptTest(libs.google.dagger.hiltAndroidCompiler) + ksp(libs.google.dagger.hiltCompiler) + kspTest(libs.google.dagger.hiltAndroidCompiler) testImplementation(libs.google.dagger.hiltAndroidTesting) implementation(libs.androidx.room.ktx) diff --git a/datasource/build.gradle.kts b/datasource/build.gradle.kts index f8c9342..524a8e7 100644 --- a/datasource/build.gradle.kts +++ b/datasource/build.gradle.kts @@ -1,8 +1,8 @@ plugins { id("gq.kirmanak.mealient.library") - id("kotlin-kapt") id("dagger.hilt.android.plugin") id("org.jetbrains.kotlin.plugin.serialization") + alias(libs.plugins.ksp) } android { @@ -21,8 +21,8 @@ dependencies { testImplementation(project(":testing")) implementation(libs.google.dagger.hiltAndroid) - kapt(libs.google.dagger.hiltCompiler) - kaptTest(libs.google.dagger.hiltAndroidCompiler) + ksp(libs.google.dagger.hiltCompiler) + kspTest(libs.google.dagger.hiltAndroidCompiler) testImplementation(libs.google.dagger.hiltAndroidTesting) api(libs.jetbrains.kotlinx.datetime) diff --git a/datastore/build.gradle.kts b/datastore/build.gradle.kts index 1364824..8e0e9ec 100644 --- a/datastore/build.gradle.kts +++ b/datastore/build.gradle.kts @@ -1,8 +1,8 @@ plugins { id("gq.kirmanak.mealient.library") - id("kotlin-kapt") id("dagger.hilt.android.plugin") alias(libs.plugins.protobuf) + alias(libs.plugins.ksp) } android { @@ -20,8 +20,8 @@ dependencies { implementation(libs.androidx.security.crypto) implementation(libs.google.dagger.hiltAndroid) - kapt(libs.google.dagger.hiltCompiler) - kaptTest(libs.google.dagger.hiltAndroidCompiler) + ksp(libs.google.dagger.hiltCompiler) + kspTest(libs.google.dagger.hiltAndroidCompiler) testImplementation(libs.google.dagger.hiltAndroidTesting) implementation(libs.jetbrains.kotlinx.datetime) @@ -52,6 +52,6 @@ protobuf { } } -kapt { - correctErrorTypes = true +ksp { + allowSourcesFromOtherPlugins = true } diff --git a/features/shopping_lists/build.gradle.kts b/features/shopping_lists/build.gradle.kts index 94cf630..9ef51f0 100644 --- a/features/shopping_lists/build.gradle.kts +++ b/features/shopping_lists/build.gradle.kts @@ -4,7 +4,6 @@ plugins { id("gq.kirmanak.mealient.library") alias(libs.plugins.ksp) id("gq.kirmanak.mealient.compose") - id("kotlin-kapt") id("dagger.hilt.android.plugin") } @@ -30,9 +29,9 @@ dependencies { implementation(libs.androidx.hilt.navigationCompose) implementation(libs.jetbrains.kotlinx.coroutinesAndroid) - kapt(libs.google.dagger.hiltCompiler) + ksp(libs.google.dagger.hiltCompiler) - kaptTest(libs.google.dagger.hiltAndroidCompiler) + kspTest(libs.google.dagger.hiltAndroidCompiler) testImplementation(project(":testing")) testImplementation(libs.google.dagger.hiltAndroidTesting) @@ -41,7 +40,3 @@ dependencies { testImplementation(libs.google.truth) testImplementation(libs.io.mockk) } - -kapt { - correctErrorTypes = true -} diff --git a/gradle.properties b/gradle.properties index c6ed8e9..8520936 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,6 +4,5 @@ org.gradle.caching=true android.useAndroidX=true android.enableJetifier=false kotlin.code.style=official -kapt.incremental.apt=true android.nonTransitiveRClass=false android.nonFinalResIds=false \ No newline at end of file diff --git a/logging/build.gradle.kts b/logging/build.gradle.kts index efd2aee..245f0ca 100644 --- a/logging/build.gradle.kts +++ b/logging/build.gradle.kts @@ -1,7 +1,7 @@ plugins { id("gq.kirmanak.mealient.library") id("dagger.hilt.android.plugin") - id("kotlin-kapt") + alias(libs.plugins.ksp) } android { @@ -12,5 +12,5 @@ dependencies { implementation(project(":architecture")) implementation(libs.google.dagger.hiltAndroid) - kapt(libs.google.dagger.hiltCompiler) + ksp(libs.google.dagger.hiltCompiler) } \ No newline at end of file diff --git a/model_mapper/build.gradle.kts b/model_mapper/build.gradle.kts index ac0726a..af028e3 100644 --- a/model_mapper/build.gradle.kts +++ b/model_mapper/build.gradle.kts @@ -1,7 +1,7 @@ plugins { id("gq.kirmanak.mealient.library") - id("kotlin-kapt") id("dagger.hilt.android.plugin") + alias(libs.plugins.ksp) } android { @@ -18,8 +18,8 @@ dependencies { testImplementation(project(":testing")) implementation(libs.google.dagger.hiltAndroid) - kapt(libs.google.dagger.hiltCompiler) - kaptTest(libs.google.dagger.hiltAndroidCompiler) + ksp(libs.google.dagger.hiltCompiler) + kspTest(libs.google.dagger.hiltAndroidCompiler) testImplementation(libs.google.dagger.hiltAndroidTesting) testImplementation(libs.androidx.test.junit) diff --git a/testing/build.gradle.kts b/testing/build.gradle.kts index 83889f8..ab6b911 100644 --- a/testing/build.gradle.kts +++ b/testing/build.gradle.kts @@ -1,6 +1,6 @@ plugins { id("gq.kirmanak.mealient.library") - id("kotlin-kapt") + alias(libs.plugins.ksp) id("dagger.hilt.android.plugin") } @@ -18,8 +18,8 @@ dependencies { implementation(project(":architecture")) implementation(libs.google.dagger.hiltAndroid) - kapt(libs.google.dagger.hiltCompiler) - kapt(libs.google.dagger.hiltAndroidCompiler) + ksp(libs.google.dagger.hiltCompiler) + ksp(libs.google.dagger.hiltAndroidCompiler) implementation(libs.google.dagger.hiltAndroidTesting) implementation(libs.jetbrains.kotlinx.coroutinesAndroid) @@ -35,6 +35,3 @@ dependencies { implementation(libs.robolectric) } -kapt { - correctErrorTypes = true -} diff --git a/ui/build.gradle.kts b/ui/build.gradle.kts index 77f9092..4156dc9 100644 --- a/ui/build.gradle.kts +++ b/ui/build.gradle.kts @@ -2,7 +2,6 @@ plugins { id("gq.kirmanak.mealient.library") alias(libs.plugins.ksp) id("gq.kirmanak.mealient.compose") - id("kotlin-kapt") id("dagger.hilt.android.plugin") } @@ -14,8 +13,8 @@ dependencies { implementation(project(":logging")) implementation(libs.google.dagger.hiltAndroid) - kapt(libs.google.dagger.hiltCompiler) - kaptTest(libs.google.dagger.hiltAndroidCompiler) + ksp(libs.google.dagger.hiltCompiler) + kspTest(libs.google.dagger.hiltAndroidCompiler) testImplementation(libs.google.dagger.hiltAndroidTesting) implementation(libs.android.material.material)