@@ -116,7 +116,9 @@ class BuildPlugin implements Plugin<Project> {
116
116
117
117
final Map<Integer , String > javaVersions = [:]
118
118
for (int version = 7 ; version <= Integer . parseInt(minimumCompilerVersion. majorVersion); version++ ) {
119
- javaVersions. put(version, findJavaHome(version. toString()));
119
+ if (System . getenv(getJavaHomeEnvVarName(version. toString())) != null ) {
120
+ javaVersions. put(version, findJavaHome(version. toString()));
121
+ }
120
122
}
121
123
122
124
String javaVendor = System . getProperty(' java.vendor' )
@@ -247,8 +249,8 @@ class BuildPlugin implements Plugin<Project> {
247
249
}
248
250
249
251
private static String findJavaHome (String version ) {
250
- String versionedVarName = ' JAVA ' + version + ' _HOME '
251
- String versionedJavaHome = System . getenv(versionedVarName)
252
+ String versionedVarName = getJavaHomeEnvVarName( version)
253
+ String versionedJavaHome = System . getenv(versionedVarName);
252
254
if (versionedJavaHome == null ) {
253
255
throw new GradleException (
254
256
" $versionedVarName must be set to build Elasticsearch. " +
@@ -259,6 +261,10 @@ class BuildPlugin implements Plugin<Project> {
259
261
return versionedJavaHome
260
262
}
261
263
264
+ private static String getJavaHomeEnvVarName (String version ) {
265
+ return ' JAVA' + version + ' _HOME'
266
+ }
267
+
262
268
/* * Add a check before gradle execution phase which ensures java home for the given java version is set. */
263
269
static void requireJavaHome (Task task , int version ) {
264
270
Project rootProject = task. project. rootProject // use root project for global accounting
0 commit comments