aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorTobias Thierer <tobiast@google.com>2017-05-26 12:08:36 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2017-05-26 12:08:38 +0000
commit9847add454e07aa5489b70c84cfdef5ee2425819 (patch)
tree7e8e80b8f06d5a5263bf75a96c321d8e79352c65 /ui
parent99f64d439c3f3056c527598864449c82c60e6bb1 (diff)
parent849bb6bf99f142039aece3362d8fb4b56aba5c12 (diff)
downloadbuild_soong-9847add454e07aa5489b70c84cfdef5ee2425819.tar.gz
build_soong-9847add454e07aa5489b70c84cfdef5ee2425819.tar.bz2
build_soong-9847add454e07aa5489b70c84cfdef5ee2425819.zip
Merge "Allow version 9 toolchains for EXPERIMENTAL_USE_OPENJDK9"
Diffstat (limited to 'ui')
-rw-r--r--ui/build/java.go21
1 files changed, 17 insertions, 4 deletions
diff --git a/ui/build/java.go b/ui/build/java.go
index 481a6805..473af012 100644
--- a/ui/build/java.go
+++ b/ui/build/java.go
@@ -66,9 +66,19 @@ func checkJavaVersion(ctx Context, config Config) {
var required_java_version string
var java_version_regexp *regexp.Regexp
var javac_version_regexp *regexp.Regexp
- required_java_version = "1.8"
- java_version_regexp = regexp.MustCompile(`[ "]1\.8[\. "$]`)
- javac_version_regexp = java_version_regexp
+
+ oj9_env, _ := config.Environment().Get("EXPERIMENTAL_USE_OPENJDK9")
+ experimental_use_openjdk9 := oj9_env != ""
+
+ if experimental_use_openjdk9 {
+ required_java_version = "9"
+ java_version_regexp = regexp.MustCompile(`^java .* "9.*"`)
+ javac_version_regexp = regexp.MustCompile(`^javac 9`)
+ } else {
+ required_java_version = "1.8"
+ java_version_regexp = regexp.MustCompile(`[ "]1\.8[\. "$]`)
+ javac_version_regexp = java_version_regexp
+ }
java_version := javaVersionInfo.java_version_output
javac_version := javaVersionInfo.javac_version_output
@@ -95,7 +105,10 @@ func checkJavaVersion(ctx Context, config Config) {
}
if runtime.GOOS == "linux" {
- if !strings.Contains(java_version, "openjdk") {
+ // Early access builds of OpenJDK 9 do not contain the string "openjdk" in the
+ // version name. TODO(tobiast): Reconsider once the OpenJDK 9 toolchain is stable.
+ // http://b/62123342
+ if !strings.Contains(java_version, "openjdk") && !experimental_use_openjdk9 {
ctx.Println("*******************************************************")
ctx.Println("You are attempting to build with an unsupported JDK.")
ctx.Println()