Skip to content

Commit 2eb9b21

Browse files
authored
SOLR-17205 De-couple SolrJ Java version from server Java version (#2360)
1 parent 62cf3aa commit 2eb9b21

File tree

5 files changed

+16
-8
lines changed

5 files changed

+16
-8
lines changed

build.gradle

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ plugins {
3030
id 'com.github.node-gradle.node' version '7.0.1' apply false
3131
}
3232

33+
// Declare default Java versions for the entire project and for SolrJ separately
34+
rootProject.ext.minJavaVersionDefault = JavaVersion.VERSION_11
35+
rootProject.ext.minJavaVersionSolrJ = JavaVersion.VERSION_11
36+
3337
apply from: file('gradle/globals.gradle')
3438

3539
// General metadata.
@@ -85,8 +89,6 @@ ext {
8589
buildTime = DateTimeFormatter.ofPattern("HH:mm:ss").format(tstamp)
8690
buildYear = DateTimeFormatter.ofPattern("yyyy").format(tstamp)
8791

88-
minJavaVersion = JavaVersion.VERSION_11
89-
9092
// Allow definiting external tool locations using system props.
9193
externalTool = { name ->
9294
def resolved = propertyOrDefault("${name}.exe", name as String)

gradle/globals.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,5 +169,9 @@ allprojects {
169169
// "CI": Github (https://docs.github.com/en/actions/learn-github-actions/environment-variables)
170170
// anything starting with "JENKINS_" or "HUDSON_": Jenkins/Hudson (https://jenkins.thetaphi.de/env-vars.html/)
171171
isCIBuild = System.getenv().keySet().any { it ==~ /(?i)((JENKINS|HUDSON)(_\w+)?|CI)/ }
172+
173+
// Assign different java version for client-side modules 'api' and 'solrj*'
174+
var isSolrJ = project.name.matches("^(solrj.*|api)\$")
175+
minJavaVersion = isSolrJ ? rootProject.minJavaVersionSolrJ : rootProject.minJavaVersionDefault
172176
}
173177
}

gradle/ide/eclipse.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ configure(rootProject) {
6969
}
7070

7171
jdt {
72-
sourceCompatibility = rootProject.minJavaVersion
73-
targetCompatibility = rootProject.minJavaVersion
74-
javaRuntimeName = "JavaSE-${rootProject.minJavaVersion}"
72+
sourceCompatibility = rootProject.minJavaVersionDefault
73+
targetCompatibility = rootProject.minJavaVersionDefault
74+
javaRuntimeName = "JavaSE-${rootProject.minJavaVersionDefault}"
7575
}
7676
}
7777

gradle/java/javac.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@
1919

2020
allprojects {
2121
plugins.withType(JavaPlugin) {
22-
sourceCompatibility = rootProject.minJavaVersion
23-
targetCompatibility = rootProject.minJavaVersion
22+
sourceCompatibility = project.minJavaVersion
23+
targetCompatibility = project.minJavaVersion
2424

2525
// Use 'release' flag instead of 'source' and 'target'
2626
tasks.withType(JavaCompile) {
27-
options.compilerArgs += ["--release", rootProject.minJavaVersion.toString()]
27+
options.compilerArgs += ["--release", project.minJavaVersion.toString()]
2828
}
2929

3030
// Configure warnings.

solr/CHANGES.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ Other Changes
8686

8787
* SOLR-14410: Switch from SysV init script to systemd service definition (Marius Ghita via janhoy)
8888

89+
* SOLR-17205: De-couple SolrJ required Java version from server Java version (janhoy)
90+
8991
================== 9.6.0 ==================
9092
New Features
9193
---------------------

0 commit comments

Comments
 (0)