@@ -94,7 +94,7 @@ class BuildPlugin implements Plugin<Project> {
94
94
static void globalBuildInfo (Project project ) {
95
95
if (project. rootProject. ext. has(' buildChecksDone' ) == false ) {
96
96
String compilerJavaHome = findCompilerJavaHome()
97
- String runtimeJavaHome = findRuntimeJavaHome(project )
97
+ String runtimeJavaHome = findRuntimeJavaHome(compilerJavaHome )
98
98
File gradleJavaHome = Jvm . current(). javaHome
99
99
String javaVendor = System . getProperty(' java.vendor' )
100
100
String javaVersion = System . getProperty(' java.version' )
@@ -168,42 +168,22 @@ class BuildPlugin implements Plugin<Project> {
168
168
169
169
/* * Finds and enforces JAVA_HOME is set */
170
170
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 )
181
172
}
182
173
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 ) {
199
181
if (System . getProperty(" idea.active" ) != null || System . getProperty(" eclipse.launcher" ) != null ) {
200
182
// IntelliJ does not set JAVA_HOME, so we use the JDK that Gradle was run with
201
183
javaHome = Jvm . current(). javaHome
202
184
} else {
203
185
assert false
204
186
}
205
- } else {
206
- javaHome = maybeJavaHome
207
187
}
208
188
return javaHome
209
189
}
0 commit comments