[Android] Migrate to ksp

Nicolas Pomepuy git at videolan.org
Thu Apr 24 06:44:39 UTC 2025


vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Mon Apr  7 13:09:25 2025 +0200| [e114dd67fd50d74964fd254ca62f6f02df564afd] | committer: Nicolas Pomepuy

Migrate to ksp

> https://code.videolan.org/videolan/vlc-android/commit/e114dd67fd50d74964fd254ca62f6f02df564afd
---

 application/mediadb/build.gradle     |  6 +++---
 application/moviepedia/build.gradle  |  5 +++--
 application/television/build.gradle  |  2 +-
 application/vlc-android/build.gradle | 14 +++-----------
 build.gradle                         |  6 +++++-
 5 files changed, 15 insertions(+), 18 deletions(-)

diff --git a/application/mediadb/build.gradle b/application/mediadb/build.gradle
index 24aef03d38..408de4e0ae 100644
--- a/application/mediadb/build.gradle
+++ b/application/mediadb/build.gradle
@@ -24,7 +24,7 @@
 plugins {
     id 'com.android.library'
     id 'kotlin-android'
-    id 'kotlin-kapt'
+    id 'com.google.devtools.ksp'
 }
 
 android {
@@ -73,8 +73,8 @@ dependencies {
     androidTestImplementation "androidx.test.espresso:espresso-core:$rootProject.ext.espressoVersion"
     //Room
     implementation "androidx.room:room-ktx:$rootProject.ext.roomVersion"
-    kapt ('org.xerial:sqlite-jdbc:3.36.0')
-    kapt "androidx.room:room-compiler:$rootProject.ext.roomVersion"
+    ksp ('org.xerial:sqlite-jdbc:3.36.0')
+    ksp "androidx.room:room-compiler:$rootProject.ext.roomVersion"
     implementation project(':application:tools')
     implementation project(':application:resources')
 
diff --git a/application/moviepedia/build.gradle b/application/moviepedia/build.gradle
index b21d20a62d..749c13eeec 100644
--- a/application/moviepedia/build.gradle
+++ b/application/moviepedia/build.gradle
@@ -2,6 +2,7 @@ plugins {
     id 'com.android.library'
     id 'kotlin-android'
     id 'kotlin-kapt'
+    id 'com.google.devtools.ksp'
 }
 
 android {
@@ -66,8 +67,8 @@ dependencies {
     //Room
     implementation "androidx.room:room-runtime:$rootProject.ext.roomVersion"
     // Provide proper JDBC version, see https://issuetracker.google.com/issues/174695268
-    kapt ('org.xerial:sqlite-jdbc:3.36.0')
-    kapt "androidx.room:room-compiler:$rootProject.ext.roomVersion"
+    ksp ('org.xerial:sqlite-jdbc:3.36.0')
+    ksp "androidx.room:room-compiler:$rootProject.ext.roomVersion"
 
 
     // Retrofit
diff --git a/application/television/build.gradle b/application/television/build.gradle
index aa720bd4d5..fa2a84e639 100644
--- a/application/television/build.gradle
+++ b/application/television/build.gradle
@@ -1,7 +1,7 @@
 plugins {
     id 'com.android.library'
     id 'kotlin-android'
-    id 'kotlin-kapt'
+    id 'com.google.devtools.ksp'
     id 'kotlin-parcelize'
 }
 
diff --git a/application/vlc-android/build.gradle b/application/vlc-android/build.gradle
index 417f0bb984..b49d7cd5f3 100644
--- a/application/vlc-android/build.gradle
+++ b/application/vlc-android/build.gradle
@@ -2,6 +2,7 @@ plugins {
     id 'com.android.library'
     id 'org.jetbrains.kotlin.android'
     id 'kotlin-kapt'
+    id 'com.google.devtools.ksp'
     id 'kotlin-parcelize'
 }
 
@@ -183,8 +184,8 @@ dependencies {
     api 'androidx.gridlayout:gridlayout:1.0.0'
     api "androidx.car.app:app:$rootProject.ext.carVersion"
 
-    kapt ("org.xerial:sqlite-jdbc:jdbcVersion")
-    kapt("androidx.room:room-compiler:$rootProject.ext.roomVersion")
+    ksp ("org.xerial:sqlite-jdbc:jdbcVersion")
+    ksp("androidx.room:room-compiler:$rootProject.ext.roomVersion")
 
     api "androidx.paging:paging-runtime-ktx:$rootProject.ext.pagingVersion"
 
@@ -289,12 +290,3 @@ def isBeta() {
     def versionNameLower = versionName.toLowerCase()
     return (versionNameLower.contains("beta") || versionNameLower.contains("rc") || versionNameLower.contains("alpha") || versionNameLower.contains("dev")).toString()
 }
-
-
-kapt {
-    javacOptions {
-        // Increase the max count of errors from annotation processors.
-        // Default is 100.
-        option("-Xmaxerrs", 500)
-    }
-}
diff --git a/build.gradle b/build.gradle
index 89b9d8d180..e84b88f9fb 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,7 +1,7 @@
 // Top-level build file where you can add configuration options common to all sub-projects/modules.
 buildscript {
     ext.android_plugin_version = '8.9.1'
-    ext.kotlin_version = '2.1.0'
+    ext.kotlin_version = '2.1.20'
     ext.kotlinx_version = '1.7.1'
     repositories {
         flatDir dirs: "gradle/plugins"
@@ -17,6 +17,10 @@ buildscript {
     }
 }
 
+plugins {
+    id 'com.google.devtools.ksp' version '2.1.20-1.0.32' apply false
+}
+
 allprojects {
     repositories {
         google()



More information about the Android mailing list