@@ -94,7 +94,7 @@ class BuildPlugin implements Plugin<Project> {
9494 static void globalBuildInfo (Project project ) {
9595 if (project. rootProject. ext. has(' buildChecksDone' ) == false ) {
9696 String compilerJavaHome = findCompilerJavaHome()
97- String runtimeJavaHome = findRuntimeJavaHome(project )
97+ String runtimeJavaHome = findRuntimeJavaHome(compilerJavaHome )
9898 File gradleJavaHome = Jvm . current(). javaHome
9999 String javaVendor = System . getProperty(' java.vendor' )
100100 String javaVersion = System . getProperty(' java.version' )
@@ -168,42 +168,22 @@ class BuildPlugin implements Plugin<Project> {
168168
169169 /* * Finds and enforces JAVA_HOME is set */
170170 private static String findCompilerJavaHome () {
171- String javaHome = System . getenv(' JAVA_HOME' )
172- if (javaHome == null ) {
173- if (System . getProperty(" idea.active" ) != null || System . getProperty(" eclipse.launcher" ) != null ) {
174- // intellij doesn't set JAVA_HOME, so we use the jdk gradle was run with
175- javaHome = Jvm . current(). javaHome
176- } else {
177- throw new GradleException (' JAVA_HOME must be set to build Elasticsearch' )
178- }
179- }
180- return javaHome
171+ return findJavaHome(System . getenv(' JAVA_HOME' ), null )
181172 }
182173
183- private static String findRuntimeJavaHome (Project project ) {
184- String java8Home = System . getenv(' JAVA_8_HOME' )
185- final String maybeJavaHome
186- if (java8Home == null ) {
187- // if JAVA_8_HOME is not set fallback to JAVA_HOME
188- maybeJavaHome = System . getenv(' JAVA_HOME' )
189- } else {
190- // if JAVA_8_HOME is set it must point to a JDK 8 Java home
191- JavaVersion version = JavaVersion . toVersion(findJavaSpecificationVersion(project, java8Home))
192- if (version. majorVersion != minimumRuntimeVersion. majorVersion) {
193- throw new GradleException (" if JAVA_8_HOME is set it must point to a JDK 8 Java home but was [" + java8Home + " ]" )
194- }
195- maybeJavaHome = java8Home
196- }
197- final String javaHome
198- if (maybeJavaHome == null ) {
174+ private static String findRuntimeJavaHome (final String compilerJavaHome ) {
175+ return findJavaHome(System . getenv(' RUNTIME_JAVA_HOME' ), compilerJavaHome)
176+ }
177+
178+ private static String findJavaHome (String maybeJavaHome , String defaultJavaHome ) {
179+ final String javaHome = maybeJavaHome ?: defaultJavaHome
180+ if (javaHome == null ) {
199181 if (System . getProperty(" idea.active" ) != null || System . getProperty(" eclipse.launcher" ) != null ) {
200182 // IntelliJ does not set JAVA_HOME, so we use the JDK that Gradle was run with
201183 javaHome = Jvm . current(). javaHome
202184 } else {
203185 assert false
204186 }
205- } else {
206- javaHome = maybeJavaHome
207187 }
208188 return javaHome
209189 }
0 commit comments