Merge "Always use OpenJDK9 for building"

This commit is contained in:
Colin Cross
2018-06-21 21:27:16 +00:00
committed by Gerrit Code Review
4 changed files with 13 additions and 39 deletions

View File

@@ -108,8 +108,7 @@ type config struct {
captureBuild bool // true for tests, saves build parameters for each module captureBuild bool // true for tests, saves build parameters for each module
ignoreEnvironment bool // true for tests, returns empty from all Getenv calls ignoreEnvironment bool // true for tests, returns empty from all Getenv calls
useOpenJDK9 bool // Use OpenJDK9, but possibly target 1.8 targetOpenJDK9 bool // Target 1.9
targetOpenJDK9 bool // Use OpenJDK9 and target 1.9
stopBefore bootstrap.StopBefore stopBefore bootstrap.StopBefore
@@ -321,20 +320,13 @@ func NewConfig(srcDir, buildDir string) (Config, error) {
func (c *config) fromEnv() error { func (c *config) fromEnv() error {
switch c.Getenv("EXPERIMENTAL_USE_OPENJDK9") { switch c.Getenv("EXPERIMENTAL_USE_OPENJDK9") {
case "": case "", "1.8":
// Use OpenJDK9, but target 1.8 // Nothing, we always use OpenJDK9
c.useOpenJDK9 = true
case "false":
// Use OpenJDK8
case "1.8":
// Use OpenJDK9, but target 1.8
c.useOpenJDK9 = true
case "true": case "true":
// Use OpenJDK9 and target 1.9 // Use OpenJDK9 and target 1.9
c.useOpenJDK9 = true
c.targetOpenJDK9 = true c.targetOpenJDK9 = true
default: default:
return fmt.Errorf(`Invalid value for EXPERIMENTAL_USE_OPENJDK9, should be "", "false", "1.8", or "true"`) return fmt.Errorf(`Invalid value for EXPERIMENTAL_USE_OPENJDK9, should be "", "1.8", or "true"`)
} }
return nil return nil
@@ -633,11 +625,6 @@ func (c *config) RunErrorProne() bool {
return c.IsEnvTrue("RUN_ERROR_PRONE") return c.IsEnvTrue("RUN_ERROR_PRONE")
} }
// Returns true if OpenJDK9 prebuilts are being used
func (c *config) UseOpenJDK9() bool {
return c.useOpenJDK9
}
// Returns true if -source 1.9 -target 1.9 is being passed to javac // Returns true if -source 1.9 -target 1.9 is being passed to javac
func (c *config) TargetOpenJDK9() bool { func (c *config) TargetOpenJDK9() bool {
return c.targetOpenJDK9 return c.targetOpenJDK9

View File

@@ -61,10 +61,8 @@ func makeVarsProvider(ctx android.MakeVarsContext) {
ctx.Strict("TARGET_JAVAC", "${JavacCmd} ${CommonJdkFlags}") ctx.Strict("TARGET_JAVAC", "${JavacCmd} ${CommonJdkFlags}")
ctx.Strict("HOST_JAVAC", "${JavacCmd} ${CommonJdkFlags}") ctx.Strict("HOST_JAVAC", "${JavacCmd} ${CommonJdkFlags}")
if ctx.Config().UseOpenJDK9() {
ctx.Strict("JLINK", "${JlinkCmd}") ctx.Strict("JLINK", "${JlinkCmd}")
ctx.Strict("JMOD", "${JmodCmd}") ctx.Strict("JMOD", "${JmodCmd}")
}
ctx.Strict("SOONG_JAVAC_WRAPPER", "${SoongJavacWrapper}") ctx.Strict("SOONG_JAVAC_WRAPPER", "${SoongJavacWrapper}")
ctx.Strict("ZIPSYNC", "${ZipSyncCmd}") ctx.Strict("ZIPSYNC", "${ZipSyncCmd}")

View File

@@ -540,7 +540,6 @@ func (j *Javadoc) GenerateAndroidBuildActions(ctx android.ModuleContext) {
var bootClasspathArgs, classpathArgs string var bootClasspathArgs, classpathArgs string
javaVersion := getJavaVersion(ctx, String(j.properties.Java_version), String(j.properties.Sdk_version)) javaVersion := getJavaVersion(ctx, String(j.properties.Java_version), String(j.properties.Sdk_version))
if javaVersion == "1.9" || ctx.Config().UseOpenJDK9() {
if len(deps.bootClasspath) > 0 { if len(deps.bootClasspath) > 0 {
var systemModules classpath var systemModules classpath
if deps.systemModules != nil { if deps.systemModules != nil {
@@ -549,12 +548,6 @@ func (j *Javadoc) GenerateAndroidBuildActions(ctx android.ModuleContext) {
bootClasspathArgs = systemModules.FormJavaSystemModulesPath("--system ", ctx.Device()) bootClasspathArgs = systemModules.FormJavaSystemModulesPath("--system ", ctx.Device())
bootClasspathArgs = bootClasspathArgs + " --patch-module java.base=." bootClasspathArgs = bootClasspathArgs + " --patch-module java.base=."
} }
} else {
if len(deps.bootClasspath.Strings()) > 0 {
// For OpenJDK 8 we can use -bootclasspath to define the core libraries code.
bootClasspathArgs = deps.bootClasspath.FormJavaClassPath("-bootclasspath")
}
}
if len(deps.classpath.Strings()) > 0 { if len(deps.classpath.Strings()) > 0 {
classpathArgs = "-classpath " + strings.Join(deps.classpath.Strings(), ":") classpathArgs = "-classpath " + strings.Join(deps.classpath.Strings(), ":")
} }

View File

@@ -164,11 +164,7 @@ func NewConfig(ctx Context, args ...string) Config {
if override, ok := ret.environ.Get("OVERRIDE_ANDROID_JAVA_HOME"); ok { if override, ok := ret.environ.Get("OVERRIDE_ANDROID_JAVA_HOME"); ok {
return override return override
} }
v, ok := ret.environ.Get("EXPERIMENTAL_USE_OPENJDK9")
if !ok || v != "false" {
return java9Home return java9Home
}
return java8Home
}() }()
absJavaHome := absPath(ctx, javaHome) absJavaHome := absPath(ctx, javaHome)