Add experimental option to use OpenJDK 11 toolchain.

With this change, setting the environment variable
EXPERIMENTAL_USE_OPENJDK11_TOOLCHAIN=true switches from the OpenJDK 9
toolchain to the OpenJDK 11 one (prebuilts/jdk/jdk11).

Since the version of the java.base module has to match the version of
the jlink tool which consumes it, the --module-version argument to the
jmod create call is also switched.

Test: make
Test: EXPERIMENTAL_USE_OPENJDK11_TOOLCHAIN make
Bug: 131683177
Change-Id: I606d22538165f309fe5537bd67a26390b1dd5771
This commit is contained in:
Pete Gillin
2019-10-09 17:10:08 +01:00
parent df7dc82a04
commit 1f52e93db2
4 changed files with 18 additions and 1 deletions

View File

@@ -86,6 +86,14 @@ func init() {
// This is set up and guaranteed by soong_ui
return ctx.Config().Getenv("ANDROID_JAVA_HOME")
})
pctx.VariableFunc("JlinkVersion", func(ctx android.PackageVarContext) string {
switch ctx.Config().Getenv("EXPERIMENTAL_USE_OPENJDK11_TOOLCHAIN") {
case "true":
return "11"
default:
return "9"
}
})
pctx.SourcePathVariable("JavaToolchain", "${JavaHome}/bin")
pctx.SourcePathVariableWithEnvOverride("JavacCmd",