This is an automated email from the ASF dual-hosted git repository.

janhoy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/main by this push:
     new 2eb9b21d434 SOLR-17205 De-couple SolrJ Java version from server Java 
version (#2360)
2eb9b21d434 is described below

commit 2eb9b21d434da748d26ec82cc2b76aa1fd41237b
Author: Jan Høydahl <[email protected]>
AuthorDate: Tue Apr 2 10:58:05 2024 +0200

    SOLR-17205 De-couple SolrJ Java version from server Java version (#2360)
---
 build.gradle              | 6 ++++--
 gradle/globals.gradle     | 4 ++++
 gradle/ide/eclipse.gradle | 6 +++---
 gradle/java/javac.gradle  | 6 +++---
 solr/CHANGES.txt          | 2 ++
 5 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/build.gradle b/build.gradle
index 8569c86af5e..9da30ad4bf7 100644
--- a/build.gradle
+++ b/build.gradle
@@ -30,6 +30,10 @@ plugins {
   id 'com.github.node-gradle.node' version '7.0.1' apply false
 }
 
+// Declare default Java versions for the entire project and for SolrJ 
separately
+rootProject.ext.minJavaVersionDefault = JavaVersion.VERSION_11
+rootProject.ext.minJavaVersionSolrJ = JavaVersion.VERSION_11
+
 apply from: file('gradle/globals.gradle')
 
 // General metadata.
@@ -85,8 +89,6 @@ ext {
   buildTime = DateTimeFormatter.ofPattern("HH:mm:ss").format(tstamp)
   buildYear = DateTimeFormatter.ofPattern("yyyy").format(tstamp)
 
-  minJavaVersion = JavaVersion.VERSION_11
-
   // Allow definiting external tool locations using system props.
   externalTool = { name ->
     def resolved = propertyOrDefault("${name}.exe", name as String)
diff --git a/gradle/globals.gradle b/gradle/globals.gradle
index 48131b3003b..30eaa0857ab 100644
--- a/gradle/globals.gradle
+++ b/gradle/globals.gradle
@@ -169,5 +169,9 @@ allprojects {
     // "CI": Github 
(https://docs.github.com/en/actions/learn-github-actions/environment-variables)
     // anything starting with "JENKINS_" or "HUDSON_": Jenkins/Hudson 
(https://jenkins.thetaphi.de/env-vars.html/)
     isCIBuild = System.getenv().keySet().any { it ==~ 
/(?i)((JENKINS|HUDSON)(_\w+)?|CI)/ }
+
+    // Assign different java version for client-side modules 'api' and 'solrj*'
+    var isSolrJ = project.name.matches("^(solrj.*|api)\$")
+    minJavaVersion = isSolrJ ? rootProject.minJavaVersionSolrJ : 
rootProject.minJavaVersionDefault
   }
 }
diff --git a/gradle/ide/eclipse.gradle b/gradle/ide/eclipse.gradle
index 1c1b626048b..a088c8b87a5 100644
--- a/gradle/ide/eclipse.gradle
+++ b/gradle/ide/eclipse.gradle
@@ -69,9 +69,9 @@ configure(rootProject) {
     }
 
     jdt {
-      sourceCompatibility = rootProject.minJavaVersion
-      targetCompatibility = rootProject.minJavaVersion
-      javaRuntimeName = "JavaSE-${rootProject.minJavaVersion}"
+      sourceCompatibility = rootProject.minJavaVersionDefault
+      targetCompatibility = rootProject.minJavaVersionDefault
+      javaRuntimeName = "JavaSE-${rootProject.minJavaVersionDefault}"
     }
   }
 
diff --git a/gradle/java/javac.gradle b/gradle/java/javac.gradle
index 9812ed5a9a4..53320cc01c0 100644
--- a/gradle/java/javac.gradle
+++ b/gradle/java/javac.gradle
@@ -19,12 +19,12 @@
 
 allprojects {
   plugins.withType(JavaPlugin) {
-    sourceCompatibility = rootProject.minJavaVersion
-    targetCompatibility = rootProject.minJavaVersion
+    sourceCompatibility = project.minJavaVersion
+    targetCompatibility = project.minJavaVersion
 
     // Use 'release' flag instead of 'source' and 'target'
     tasks.withType(JavaCompile) {
-      options.compilerArgs += ["--release", 
rootProject.minJavaVersion.toString()]
+      options.compilerArgs += ["--release", project.minJavaVersion.toString()]
     }
 
     // Configure warnings.
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index ce9cd2c4518..107f7a9f2fb 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -86,6 +86,8 @@ Other Changes
 
 * SOLR-14410: Switch from SysV init script to systemd service definition 
(Marius Ghita via janhoy)
 
+* SOLR-17205: De-couple SolrJ required Java version from server Java version 
(janhoy)
+
 ==================  9.6.0 ==================
 New Features
 ---------------------

Reply via email to