diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 037c3cb53..e4f318f65 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -6,7 +6,7 @@ plugins { alias(libs.plugins.android.application) alias(libs.plugins.jetbrains.kotlin.android) - alias(libs.plugins.jetbrains.kotlin.kapt) + alias(libs.plugins.google.ksp) alias(libs.plugins.jetbrains.kotlin.parcelize) alias(libs.plugins.sonarqube) checkstyle @@ -40,12 +40,6 @@ android { System.getProperty("versionNameSuffix")?.let { versionNameSuffix = it } testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" - - javaCompileOptions { - annotationProcessorOptions { - arguments["room.schemaLocation"] = "$projectDir/schemas" - } - } } buildTypes { @@ -124,6 +118,11 @@ android { } } +ksp { + arg("room.schemaLocation", "$projectDir/schemas") +} + + // Custom dependency configuration for ktlint val ktlint by configurations.creating @@ -218,7 +217,7 @@ dependencies { implementation(libs.androidx.recyclerview) implementation(libs.androidx.room.runtime) implementation(libs.androidx.room.rxjava3) - kapt(libs.androidx.room.compiler) + ksp(libs.androidx.room.compiler) implementation(libs.androidx.swiperefreshlayout) implementation(libs.androidx.viewpager2) implementation(libs.androidx.work.runtime) @@ -229,7 +228,7 @@ dependencies { /** Third-party libraries **/ implementation(libs.livefront.bridge) implementation(libs.evernote.statesaver.core) - kapt(libs.evernote.statesaver.compiler) + ksp(libs.evernote.statesaver.compiler) // HTML parser implementation(libs.jsoup) @@ -249,7 +248,7 @@ dependencies { // Metadata generator for service descriptors compileOnly(libs.google.autoservice.annotations) - kapt(libs.google.autoservice.compiler) + ksp(libs.google.autoservice.compiler) // Manager for complex RecyclerView layouts implementation(libs.lisawray.groupie.core) diff --git a/build.gradle.kts b/build.gradle.kts index e79ccc3e0..d16afb3af 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,7 +6,7 @@ plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.jetbrains.kotlin.android) apply false - alias(libs.plugins.jetbrains.kotlin.kapt) apply false + alias(libs.plugins.google.ksp) apply false alias(libs.plugins.jetbrains.kotlin.parcelize) apply false alias(libs.plugins.sonarqube) apply false } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f48678867..cd54e5ef4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -23,6 +23,7 @@ jsoup = "1.21.2" junit = "4.13.2" junit-ext = "1.1.5" kotlin = "1.9.25" +ksp = "1.9.25-1.0.20" ktlint = "0.45.2" leakcanary = "2.12" lifecycle = "2.6.2" @@ -130,7 +131,7 @@ squareup-picasso = { module = "com.squareup.picasso:picasso", version.ref = "pic [plugins] android-application = { id = "com.android.application", version.ref = "agp" } +google-ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } -jetbrains-kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" } jetbrains-kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize", version.ref = "kotlin" } sonarqube = { id = "org.sonarqube", version.ref = "sonarqube" }