From 0e89f07c3f0ccfabcd4cb810f9d22e79b63e87df Mon Sep 17 00:00:00 2001 From: Jason Tedor Date: Sat, 14 Apr 2018 15:45:01 -0400 Subject: [PATCH] Lazy configure build tasks that require older JDKs (elastic/x-pack-elasticsearch#4376) Some build tasks require older JDKs. For example, the BWC build tasks for older versions of Elasticsearch require older JDKs. It is onerous to require these be configured when merely compiling Elasticsearch, the requirement that they be strictly set to appropriate values should only be enforced if these tasks are going to be executed. To address this, we lazy configure these tasks. Original commit: elastic/x-pack-elasticsearch@804a11c2436355d97357fc77988cac6361922d36 --- plugin/bwc/build.gradle | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/plugin/bwc/build.gradle b/plugin/bwc/build.gradle index cde907db421..14459c6ca81 100644 --- a/plugin/bwc/build.gradle +++ b/plugin/bwc/build.gradle @@ -1,10 +1,10 @@ import org.apache.tools.ant.taskdefs.condition.Os -import org.elasticsearch.gradle.Version - -import java.util.regex.Matcher import org.elasticsearch.gradle.LoggedExec +import org.elasticsearch.gradle.Version import org.elasticsearch.gradle.test.NodeInfo +import static org.elasticsearch.gradle.BuildPlugin.getJavaHome + /** * Subdirectories of this project are dummy projects which does a local * checkout of the appropriate version's branch, and builds a snapshot. This @@ -194,15 +194,9 @@ subprojects { workingDir = xpackCheckoutDir if (["5.6", "6.0", "6.1"].contains(bwcBranch)) { // we are building branches that are officially built with JDK 8, push JAVA8_HOME to JAVA_HOME for these builds - if (project.javaVersions.get(8) == null) { - throw new GradleException("JAVA8_HOME is required to build BWC versions for BWC branch [" + bwcBranch + "]") - } - environment('JAVA_HOME', project.javaVersions.get(8)) + environment('JAVA_HOME', "${-> getJavaHome(project, 8, "JAVA8_HOME is required to build BWC versions for BWC branch [" + bwcBranch + "]")}") } else if ("6.2".equals(bwcBranch)) { - if (project.javaVersions.get(9) == null) { - throw new GradleException("JAVA9_HOME is required to build BWC versions for BWC branch [" + bwcBranch + "]") - } - environment('JAVA_HOME', project.javaVersions.get(9)) + environment('JAVA_HOME', "${-> getJavaHome(project, 9, "JAVA9_HOME is required to build BWC versions for BWC branch [" + bwcBranch + "]")}") } else { environment('JAVA_HOME', project.compilerJavaHome) }