[Android] gradle: set the java target version once for all targets

Steve Lhomme git at videolan.org
Mon Jul 20 13:06:15 UTC 2026


vlc-android | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Tue Jun 16 15:07:01 2026 +0200| [b9a49ba9b07faf56851a528dbf06d04105710d27] | committer: Duncan McNamara

gradle: set the java target version once for all targets

No need to spread this all over the place and forget some.

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

 application/app/build.gradle                  |  3 ---
 application/donations/build.gradle            |  4 ----
 application/live-plot-graph/build.gradle      |  5 -----
 application/mediadb/build.gradle              |  5 -----
 application/moviepedia/build.gradle           |  5 -----
 application/remote-access-client/build.gradle |  4 ----
 application/remote-access-server/build.gradle |  2 --
 application/resources/build.gradle            |  5 -----
 application/television/build.gradle           |  5 -----
 application/tools/build.gradle                |  4 ----
 application/vlc-android/build.gradle          |  5 -----
 build.gradle                                  | 18 +++++++++++++++++-
 medialibrary/build.gradle                     |  4 ----
 13 files changed, 17 insertions(+), 52 deletions(-)

diff --git a/application/app/build.gradle b/application/app/build.gradle
index 9062b16d36..19c753c32a 100644
--- a/application/app/build.gradle
+++ b/application/app/build.gradle
@@ -6,8 +6,6 @@ plugins {
 android {
     compileOptions {
         coreLibraryDesugaringEnabled = true
-        sourceCompatibility "$rootProject.ext.targetJVM"
-        targetCompatibility "$rootProject.ext.targetJVM"
     }
 
     packagingOptions {
@@ -161,7 +159,6 @@ android {
             output.outputFileName = outputName
         }
     }
-
 }
 
 dependencies {
diff --git a/application/donations/build.gradle b/application/donations/build.gradle
index c40636f0bf..1f34b6f51d 100644
--- a/application/donations/build.gradle
+++ b/application/donations/build.gradle
@@ -63,10 +63,6 @@ android {
             matchingFallbacks = ['release']
         }
     }
-    compileOptions {
-        sourceCompatibility "$rootProject.ext.targetJVM"
-        targetCompatibility "$rootProject.ext.targetJVM"
-    }
     namespace = 'org.videolan.vlc.donations'
     buildFeatures {
         aidl = true
diff --git a/application/live-plot-graph/build.gradle b/application/live-plot-graph/build.gradle
index 471f511f72..48b4651508 100644
--- a/application/live-plot-graph/build.gradle
+++ b/application/live-plot-graph/build.gradle
@@ -34,11 +34,6 @@ android {
         consumerProguardFiles 'consumer-rules.pro'
     }
 
-    compileOptions {
-        sourceCompatibility "$rootProject.ext.targetJVM"
-        targetCompatibility "$rootProject.ext.targetJVM"
-    }
-
     buildTypes {
         release {
             minifyEnabled false
diff --git a/application/mediadb/build.gradle b/application/mediadb/build.gradle
index 2d06a84dfe..7f55a73cbc 100644
--- a/application/mediadb/build.gradle
+++ b/application/mediadb/build.gradle
@@ -35,11 +35,6 @@ android {
         }
     }
 
-    compileOptions {
-        sourceCompatibility "$rootProject.ext.targetJVM"
-        targetCompatibility "$rootProject.ext.targetJVM"
-    }
-
     defaultConfig {
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
         consumerProguardFiles 'consumer-rules.pro'
diff --git a/application/moviepedia/build.gradle b/application/moviepedia/build.gradle
index bf2b21766d..d5fe61d2c9 100644
--- a/application/moviepedia/build.gradle
+++ b/application/moviepedia/build.gradle
@@ -26,11 +26,6 @@ android {
         multiDexEnabled = true
     }
 
-    compileOptions {
-        sourceCompatibility "$rootProject.ext.targetJVM"
-        targetCompatibility "$rootProject.ext.targetJVM"
-    }
-    
     buildTypes {
         release {
             minifyEnabled false
diff --git a/application/remote-access-client/build.gradle b/application/remote-access-client/build.gradle
index 3e52d3af56..b49ea57031 100644
--- a/application/remote-access-client/build.gradle
+++ b/application/remote-access-client/build.gradle
@@ -60,10 +60,6 @@ android {
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
         }
     }
-    compileOptions {
-        sourceCompatibility "$rootProject.ext.targetJVM"
-        targetCompatibility "$rootProject.ext.targetJVM"
-    }
 
     task webCopy(type: Copy) {
         from 'remoteaccess/dist'
diff --git a/application/remote-access-server/build.gradle b/application/remote-access-server/build.gradle
index 6d63134890..caf48b6a62 100644
--- a/application/remote-access-server/build.gradle
+++ b/application/remote-access-server/build.gradle
@@ -44,8 +44,6 @@ android {
 
     compileOptions {
         coreLibraryDesugaringEnabled = true
-        sourceCompatibility "$rootProject.ext.targetJVM"
-        targetCompatibility "$rootProject.ext.targetJVM"
     }
     buildFeatures {
         buildConfig = true
diff --git a/application/resources/build.gradle b/application/resources/build.gradle
index e404e03364..b40a519124 100644
--- a/application/resources/build.gradle
+++ b/application/resources/build.gradle
@@ -19,11 +19,6 @@ android {
         vectorDrawables.useSupportLibrary = true
     }
     
-    compileOptions {
-        sourceCompatibility "$rootProject.ext.targetJVM"
-        targetCompatibility "$rootProject.ext.targetJVM"
-    }
-
     buildTypes {
         release {
             minifyEnabled false
diff --git a/application/television/build.gradle b/application/television/build.gradle
index 146ac647fe..b825e5b23c 100644
--- a/application/television/build.gradle
+++ b/application/television/build.gradle
@@ -22,11 +22,6 @@ android {
         consumerProguardFiles 'consumer-rules.pro'
     }
 
-    compileOptions {
-        sourceCompatibility "$rootProject.ext.targetJVM"
-        targetCompatibility "$rootProject.ext.targetJVM"
-    }
-    
     buildTypes {
         release {
             minifyEnabled false
diff --git a/application/tools/build.gradle b/application/tools/build.gradle
index f1c96824ae..8167e19a0e 100644
--- a/application/tools/build.gradle
+++ b/application/tools/build.gradle
@@ -9,10 +9,6 @@ android {
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
 
     }
-    compileOptions {
-        sourceCompatibility "$rootProject.ext.targetJVM"
-        targetCompatibility "$rootProject.ext.targetJVM"
-    }
 
     buildTypes {
         release {
diff --git a/application/vlc-android/build.gradle b/application/vlc-android/build.gradle
index 5dc4253d21..0b906f08b0 100644
--- a/application/vlc-android/build.gradle
+++ b/application/vlc-android/build.gradle
@@ -66,11 +66,6 @@ android {
         }
     }
 
-    compileOptions {
-        sourceCompatibility "$rootProject.ext.targetJVM"
-        targetCompatibility "$rootProject.ext.targetJVM"
-    }
-
     buildTypes {
         release {
             proguardFile 'proguard.cfg'
diff --git a/build.gradle b/build.gradle
index 57a8126aa1..167d55fd5c 100644
--- a/build.gradle
+++ b/build.gradle
@@ -36,11 +36,27 @@ allprojects {
     tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
         kotlin {
             compilerOptions {
-                jvmTarget.set("$rootProject.ext.targetJVMKotlin")
+                jvmTarget.set(rootProject.ext.targetJVMKotlin)
                 optIn.add("kotlin.RequiresOptIn")
             }
         }
     }
+
+    tasks.withType(JavaCompile).configureEach {
+        sourceCompatibility = rootProject.ext.targetJVM.toString()
+        targetCompatibility = rootProject.ext.targetJVM.toString()
+    }
+
+    afterEvaluate { project ->
+        if (project.hasProperty('android')) {
+            project.android {
+                compileOptions {
+                    sourceCompatibility rootProject.ext.targetJVM
+                    targetCompatibility rootProject.ext.targetJVM
+                }
+            }
+        }
+    }
 }
 
 ext {
diff --git a/medialibrary/build.gradle b/medialibrary/build.gradle
index cb378fec54..192716ee4a 100644
--- a/medialibrary/build.gradle
+++ b/medialibrary/build.gradle
@@ -36,10 +36,6 @@ base {
 }
 android {
     namespace = 'org.videolan.medialibrary'
-    compileOptions {
-        sourceCompatibility "$rootProject.ext.targetJVM"
-        targetCompatibility "$rootProject.ext.targetJVM"
-    }
 
     defaultConfig {
         ndkVersion = rootProject.ext.toolchainNdkVersion



More information about the Android mailing list