@@ -116,7 +116,9 @@ class BuildPlugin implements Plugin<Project> {
116116
117117 final Map<Integer , String > javaVersions = [:]
118118 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+ }
120122 }
121123
122124 String javaVendor = System . getProperty(' java.vendor' )
@@ -247,8 +249,8 @@ class BuildPlugin implements Plugin<Project> {
247249 }
248250
249251 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);
252254 if (versionedJavaHome == null ) {
253255 throw new GradleException (
254256 " $versionedVarName must be set to build Elasticsearch. " +
@@ -259,6 +261,10 @@ class BuildPlugin implements Plugin<Project> {
259261 return versionedJavaHome
260262 }
261263
264+ private static String getJavaHomeEnvVarName (String version ) {
265+ return ' JAVA' + version + ' _HOME'
266+ }
267+
262268 /* * Add a check before gradle execution phase which ensures java home for the given java version is set. */
263269 static void requireJavaHome (Task task , int version ) {
264270 Project rootProject = task. project. rootProject // use root project for global accounting
0 commit comments