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
---------------------