Merge "Always use OpenJDK9 for building"
diff --git a/android/config.go b/android/config.go
index b415443..8330b3d 100644
--- a/android/config.go
+++ b/android/config.go
@@ -108,8 +108,7 @@
 	captureBuild      bool // true for tests, saves build parameters for each module
 	ignoreEnvironment bool // true for tests, returns empty from all Getenv calls
 
-	useOpenJDK9    bool // Use OpenJDK9, but possibly target 1.8
-	targetOpenJDK9 bool // Use OpenJDK9 and target 1.9
+	targetOpenJDK9 bool // Target 1.9
 
 	stopBefore bootstrap.StopBefore
 
@@ -321,20 +320,13 @@
 
 func (c *config) fromEnv() error {
 	switch c.Getenv("EXPERIMENTAL_USE_OPENJDK9") {
-	case "":
-		// Use OpenJDK9, but target 1.8
-		c.useOpenJDK9 = true
-	case "false":
-		// Use OpenJDK8
-	case "1.8":
-		// Use OpenJDK9, but target 1.8
-		c.useOpenJDK9 = true
+	case "", "1.8":
+		// Nothing, we always use OpenJDK9
 	case "true":
 		// Use OpenJDK9 and target 1.9
-		c.useOpenJDK9 = true
 		c.targetOpenJDK9 = true
 	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
@@ -633,11 +625,6 @@
 	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
 func (c *config) TargetOpenJDK9() bool {
 	return c.targetOpenJDK9
diff --git a/java/config/makevars.go b/java/config/makevars.go
index 8dfd398..d378877 100644
--- a/java/config/makevars.go
+++ b/java/config/makevars.go
@@ -61,10 +61,8 @@
 	ctx.Strict("TARGET_JAVAC", "${JavacCmd} ${CommonJdkFlags}")
 	ctx.Strict("HOST_JAVAC", "${JavacCmd} ${CommonJdkFlags}")
 
-	if ctx.Config().UseOpenJDK9() {
-		ctx.Strict("JLINK", "${JlinkCmd}")
-		ctx.Strict("JMOD", "${JmodCmd}")
-	}
+	ctx.Strict("JLINK", "${JlinkCmd}")
+	ctx.Strict("JMOD", "${JmodCmd}")
 
 	ctx.Strict("SOONG_JAVAC_WRAPPER", "${SoongJavacWrapper}")
 	ctx.Strict("ZIPSYNC", "${ZipSyncCmd}")
diff --git a/java/droiddoc.go b/java/droiddoc.go
index 3b7ead5..9821bcf 100644
--- a/java/droiddoc.go
+++ b/java/droiddoc.go
@@ -540,20 +540,13 @@
 	var bootClasspathArgs, classpathArgs string
 
 	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 {
-			var systemModules classpath
-			if deps.systemModules != nil {
-				systemModules = append(systemModules, deps.systemModules)
-			}
-			bootClasspathArgs = systemModules.FormJavaSystemModulesPath("--system ", ctx.Device())
-			bootClasspathArgs = bootClasspathArgs + " --patch-module java.base=."
+	if len(deps.bootClasspath) > 0 {
+		var systemModules classpath
+		if deps.systemModules != nil {
+			systemModules = append(systemModules, deps.systemModules)
 		}
-	} 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")
-		}
+		bootClasspathArgs = systemModules.FormJavaSystemModulesPath("--system ", ctx.Device())
+		bootClasspathArgs = bootClasspathArgs + " --patch-module java.base=."
 	}
 	if len(deps.classpath.Strings()) > 0 {
 		classpathArgs = "-classpath " + strings.Join(deps.classpath.Strings(), ":")
diff --git a/ui/build/config.go b/ui/build/config.go
index 5dcdf87..d0378ec 100644
--- a/ui/build/config.go
+++ b/ui/build/config.go
@@ -164,11 +164,7 @@
 		if override, ok := ret.environ.Get("OVERRIDE_ANDROID_JAVA_HOME"); ok {
 			return override
 		}
-		v, ok := ret.environ.Get("EXPERIMENTAL_USE_OPENJDK9")
-		if !ok || v != "false" {
-			return java9Home
-		}
-		return java8Home
+		return java9Home
 	}()
 	absJavaHome := absPath(ctx, javaHome)