Build with OpenJDK 9 -target 1.8 by default (attempt 4).
This is cherry-picked from attempt 3, which was reverted
due to http://b/70862583.
Before this CL topic, the build toolchain for .java source files
used OpenJDK 8, targeting 1.8 (v52 class files) by default.
This CL topic switches the default to OpenJDK 9, but still
targeting 1.8 (v52 class files) by default. If USE_ERROR_PRONE
is set to true, then the default remains OpenJDK 8.
Code in the Android platform should generally be unaffected,
but if host tools that are now compiled and run using
OpenJDK 9 are causing problems for your team, then let me
know.
To manually switch back to the old behavior for now (continue
using OpenJDK 8), run this command in your shell:
export EXPERIMENTAL_USE_OPENJDK9=false
Bug: 69449021
Test: Treehugger
Test: art/test/testrunner/run_build_test_target.py -j40 art-interpreter
Test: dalvik/dx/tests/run-all-tests
(cherry picked from commit 13f23a2753
)
Change-Id: I57abae73f9bdb21ef004a5118ff0e4ef70418ed9
Merged-in: Iac78122f58df0ebbb55134d55021ce6c57351b5f
This commit is contained in:
parent
b4330e222b
commit
18099fd856
|
@ -299,7 +299,10 @@ func NewConfig(srcDir, buildDir string) (Config, error) {
|
|||
func (c *config) fromEnv() error {
|
||||
switch c.Getenv("EXPERIMENTAL_USE_OPENJDK9") {
|
||||
case "":
|
||||
// Use OpenJDK8
|
||||
if c.Getenv("RUN_ERROR_PRONE") != "true" {
|
||||
// Use OpenJDK9, but target 1.8
|
||||
c.useOpenJDK9 = true
|
||||
}
|
||||
case "false":
|
||||
// Use OpenJDK8
|
||||
case "1.8":
|
||||
|
@ -310,7 +313,7 @@ func (c *config) fromEnv() error {
|
|||
c.useOpenJDK9 = true
|
||||
c.targetOpenJDK9 = true
|
||||
default:
|
||||
return fmt.Errorf(`Invalid value for EXPERIMENTAL_USE_OPENJDK9, should be "", "1.8", or "true"`)
|
||||
return fmt.Errorf(`Invalid value for EXPERIMENTAL_USE_OPENJDK9, should be "", "false", "1.8", or "true"`)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
|
|
@ -152,7 +152,16 @@ func NewConfig(ctx Context, args ...string) Config {
|
|||
if override, ok := ret.environ.Get("OVERRIDE_ANDROID_JAVA_HOME"); ok {
|
||||
return override
|
||||
}
|
||||
if v, ok := ret.environ.Get("EXPERIMENTAL_USE_OPENJDK9"); ok && v != "" && v != "false" {
|
||||
v, ok := ret.environ.Get("EXPERIMENTAL_USE_OPENJDK9")
|
||||
if !ok {
|
||||
v2, ok2 := ret.environ.Get("RUN_ERROR_PRONE")
|
||||
if ok2 && (v2 == "true") {
|
||||
v = "false"
|
||||
} else {
|
||||
v = "1.8"
|
||||
}
|
||||
}
|
||||
if v != "false" {
|
||||
return java9Home
|
||||
}
|
||||
return java8Home
|
||||
|
|
Loading…
Reference in New Issue