Loading java/config/config.go +8 −0 Original line number Diff line number Diff line Loading @@ -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", Loading java/config/makevars.go +1 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ func makeVarsProvider(ctx android.MakeVarsContext) { ctx.Strict("ANDROID_JAVA_HOME", "${JavaHome}") ctx.Strict("ANDROID_JAVA8_HOME", "prebuilts/jdk/jdk8/${hostPrebuiltTag}") ctx.Strict("ANDROID_JAVA9_HOME", "prebuilts/jdk/jdk9/${hostPrebuiltTag}") ctx.Strict("ANDROID_JAVA11_HOME", "prebuilts/jdk/jdk11/${hostPrebuiltTag}") ctx.Strict("ANDROID_JAVA_TOOLCHAIN", "${JavaToolchain}") ctx.Strict("JAVA", "${JavaCmd} ${JavaVmFlags}") ctx.Strict("JAVAC", "${JavacCmd} ${JavacVmFlags}") Loading java/system_modules.go +3 −1 Original line number Diff line number Diff line Loading @@ -40,7 +40,9 @@ var ( `${config.JavacCmd} --system=none --patch-module=java.base=${classpath} ${workDir}/module-info.java && ` + `${config.SoongZipCmd} -jar -o ${workDir}/classes.jar -C ${workDir} -f ${workDir}/module-info.class && ` + `${config.MergeZipsCmd} -j ${workDir}/module.jar ${workDir}/classes.jar $in && ` + `${config.JmodCmd} create --module-version 9 --target-platform android ` + // Note: The version of the java.base module created must match the version // of the jlink tool which consumes it. `${config.JmodCmd} create --module-version ${config.JlinkVersion} --target-platform android ` + ` --class-path ${workDir}/module.jar ${workDir}/jmod/java.base.jmod && ` + `${config.JlinkCmd} --module-path ${workDir}/jmod --add-modules java.base --output ${outDir} ` + // Note: The system-modules jlink plugin is disabled because (a) it is not Loading ui/build/config.go +6 −0 Original line number Diff line number Diff line Loading @@ -214,10 +214,14 @@ func NewConfig(ctx Context, args ...string) Config { // Configure Java-related variables, including adding it to $PATH java8Home := filepath.Join("prebuilts/jdk/jdk8", ret.HostPrebuiltTag()) java9Home := filepath.Join("prebuilts/jdk/jdk9", ret.HostPrebuiltTag()) java11Home := filepath.Join("prebuilts/jdk/jdk11", ret.HostPrebuiltTag()) javaHome := func() string { if override, ok := ret.environ.Get("OVERRIDE_ANDROID_JAVA_HOME"); ok { return override } if toolchain11, ok := ret.environ.Get("EXPERIMENTAL_USE_OPENJDK11_TOOLCHAIN"); ok && toolchain11 == "true" { return java11Home } return java9Home }() absJavaHome := absPath(ctx, javaHome) Loading @@ -228,11 +232,13 @@ func NewConfig(ctx Context, args ...string) Config { if path, ok := ret.environ.Get("PATH"); ok && path != "" { newPath = append(newPath, path) } ret.environ.Unset("OVERRIDE_ANDROID_JAVA_HOME") ret.environ.Set("JAVA_HOME", absJavaHome) ret.environ.Set("ANDROID_JAVA_HOME", javaHome) ret.environ.Set("ANDROID_JAVA8_HOME", java8Home) ret.environ.Set("ANDROID_JAVA9_HOME", java9Home) ret.environ.Set("ANDROID_JAVA11_HOME", java11Home) ret.environ.Set("PATH", strings.Join(newPath, string(filepath.ListSeparator))) outDir := ret.OutDir() Loading Loading
java/config/config.go +8 −0 Original line number Diff line number Diff line Loading @@ -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", Loading
java/config/makevars.go +1 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ func makeVarsProvider(ctx android.MakeVarsContext) { ctx.Strict("ANDROID_JAVA_HOME", "${JavaHome}") ctx.Strict("ANDROID_JAVA8_HOME", "prebuilts/jdk/jdk8/${hostPrebuiltTag}") ctx.Strict("ANDROID_JAVA9_HOME", "prebuilts/jdk/jdk9/${hostPrebuiltTag}") ctx.Strict("ANDROID_JAVA11_HOME", "prebuilts/jdk/jdk11/${hostPrebuiltTag}") ctx.Strict("ANDROID_JAVA_TOOLCHAIN", "${JavaToolchain}") ctx.Strict("JAVA", "${JavaCmd} ${JavaVmFlags}") ctx.Strict("JAVAC", "${JavacCmd} ${JavacVmFlags}") Loading
java/system_modules.go +3 −1 Original line number Diff line number Diff line Loading @@ -40,7 +40,9 @@ var ( `${config.JavacCmd} --system=none --patch-module=java.base=${classpath} ${workDir}/module-info.java && ` + `${config.SoongZipCmd} -jar -o ${workDir}/classes.jar -C ${workDir} -f ${workDir}/module-info.class && ` + `${config.MergeZipsCmd} -j ${workDir}/module.jar ${workDir}/classes.jar $in && ` + `${config.JmodCmd} create --module-version 9 --target-platform android ` + // Note: The version of the java.base module created must match the version // of the jlink tool which consumes it. `${config.JmodCmd} create --module-version ${config.JlinkVersion} --target-platform android ` + ` --class-path ${workDir}/module.jar ${workDir}/jmod/java.base.jmod && ` + `${config.JlinkCmd} --module-path ${workDir}/jmod --add-modules java.base --output ${outDir} ` + // Note: The system-modules jlink plugin is disabled because (a) it is not Loading
ui/build/config.go +6 −0 Original line number Diff line number Diff line Loading @@ -214,10 +214,14 @@ func NewConfig(ctx Context, args ...string) Config { // Configure Java-related variables, including adding it to $PATH java8Home := filepath.Join("prebuilts/jdk/jdk8", ret.HostPrebuiltTag()) java9Home := filepath.Join("prebuilts/jdk/jdk9", ret.HostPrebuiltTag()) java11Home := filepath.Join("prebuilts/jdk/jdk11", ret.HostPrebuiltTag()) javaHome := func() string { if override, ok := ret.environ.Get("OVERRIDE_ANDROID_JAVA_HOME"); ok { return override } if toolchain11, ok := ret.environ.Get("EXPERIMENTAL_USE_OPENJDK11_TOOLCHAIN"); ok && toolchain11 == "true" { return java11Home } return java9Home }() absJavaHome := absPath(ctx, javaHome) Loading @@ -228,11 +232,13 @@ func NewConfig(ctx Context, args ...string) Config { if path, ok := ret.environ.Get("PATH"); ok && path != "" { newPath = append(newPath, path) } ret.environ.Unset("OVERRIDE_ANDROID_JAVA_HOME") ret.environ.Set("JAVA_HOME", absJavaHome) ret.environ.Set("ANDROID_JAVA_HOME", javaHome) ret.environ.Set("ANDROID_JAVA8_HOME", java8Home) ret.environ.Set("ANDROID_JAVA9_HOME", java9Home) ret.environ.Set("ANDROID_JAVA11_HOME", java11Home) ret.environ.Set("PATH", strings.Join(newPath, string(filepath.ListSeparator))) outDir := ret.OutDir() Loading