From 59c1e6ac0e94cbbd4bdc80c1ffc72834f302cc0b Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Fri, 4 Mar 2022 13:37:19 -0800 Subject: [PATCH] Support experimental building with OpenJDK 17 Use EXPERIMENTAL_USE_OPENJDK17_TOOLCHAIN=true to build with OpenJDK 17 while still targeting java language version 11. Bug: 219098645 Test: m EXPERIMENTAL_USE_OPENJDK17_TOOLCHAIN=true Change-Id: I89fb04ecde4dbd1e102098f316692624dd67f8a2 --- java/config/config.go | 7 ++++++- ui/build/config.go | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/java/config/config.go b/java/config/config.go index 39584cb83..05dfde635 100644 --- a/java/config/config.go +++ b/java/config/config.go @@ -105,7 +105,12 @@ func init() { if override := ctx.Config().Getenv("OVERRIDE_JLINK_VERSION_NUMBER"); override != "" { return override } - return "11" + switch ctx.Config().Getenv("EXPERIMENTAL_USE_OPENJDK17_TOOLCHAIN") { + case "true": + return "17" + default: + return "11" + } }) pctx.SourcePathVariable("JavaToolchain", "${JavaHome}/bin") diff --git a/ui/build/config.go b/ui/build/config.go index 077a4d199..01fe8fa4a 100644 --- a/ui/build/config.go +++ b/ui/build/config.go @@ -368,10 +368,14 @@ func NewConfig(ctx Context, args ...string) Config { java8Home := filepath.Join("prebuilts/jdk/jdk8", ret.HostPrebuiltTag()) java9Home := filepath.Join("prebuilts/jdk/jdk9", ret.HostPrebuiltTag()) java11Home := filepath.Join("prebuilts/jdk/jdk11", ret.HostPrebuiltTag()) + java17Home := filepath.Join("prebuilts/jdk/jdk17", ret.HostPrebuiltTag()) javaHome := func() string { if override, ok := ret.environ.Get("OVERRIDE_ANDROID_JAVA_HOME"); ok { return override } + if ret.environ.IsEnvTrue("EXPERIMENTAL_USE_OPENJDK17_TOOLCHAIN") { + return java17Home + } if toolchain11, ok := ret.environ.Get("EXPERIMENTAL_USE_OPENJDK11_TOOLCHAIN"); ok && toolchain11 != "true" { ctx.Fatalln("The environment variable EXPERIMENTAL_USE_OPENJDK11_TOOLCHAIN is no longer supported. An OpenJDK 11 toolchain is now the global default.") }