Bring java support closer to current version of make

Make the javac arguments match what is used by make, and export them
back to make.  A future change will switch make to use the the
exported ones.

This makes a dx.jar compiled with soong have identical class files
as one compiled with make.

Test: manual
Change-Id: Ia5196f1f42bc564e99de22e32e72fd2930e9fbae
diff --git a/java/config/config.go b/java/config/config.go
index 848d09d..44651cb 100644
--- a/java/config/config.go
+++ b/java/config/config.go
@@ -14,10 +14,53 @@
 
 package config
 
-import "android/soong/android"
+import (
+	"path/filepath"
+	"strings"
+
+	_ "github.com/google/blueprint/bootstrap"
+
+	"android/soong/android"
+)
 
 var (
+	pctx = android.NewPackageContext("android/soong/java/config")
+
 	DefaultLibraries = []string{"core-oj", "core-libart", "ext", "framework", "okhttp"}
 )
 
-var pctx = android.NewPackageContext("android/soong/java/config")
+func init() {
+	pctx.Import("github.com/google/blueprint/bootstrap")
+
+	pctx.StaticVariable("CommonJdkFlags", strings.Join([]string{
+		`-J-Xmx2048M`,
+		`-Xmaxerrs 9999999`,
+		`-encoding UTF-8`,
+		`-sourcepath ""`,
+		`-g`,
+	}, " "))
+
+	pctx.StaticVariable("DefaultJavaVersion", "1.8")
+
+	pctx.VariableConfigMethod("hostPrebuiltTag", android.Config.PrebuiltOS)
+
+	pctx.SourcePathVariableWithEnvOverride("JavaHome",
+		"prebuilts/jdk/jdk8/${hostPrebuiltTag}", "OVERRIDE_ANDROID_JAVA_HOME")
+	pctx.SourcePathVariable("JavaToolchain", "${JavaHome}/bin")
+	pctx.SourcePathVariableWithEnvOverride("JavacCmd",
+		"${JavaToolchain}/javac", "ALTERNATE_JAVAC")
+	pctx.SourcePathVariable("JavaCmd", "${JavaToolchain}/java")
+	pctx.SourcePathVariable("JarCmd", "${JavaToolchain}/jar")
+	pctx.SourcePathVariable("JavadocCmd", "${JavaToolchain}/javadoc")
+
+	pctx.StaticVariable("SoongZipCmd", filepath.Join("${bootstrap.ToolDir}", "soong_zip"))
+	pctx.HostBinToolVariable("DxCmd", "dx")
+	pctx.HostJavaToolVariable("JarjarCmd", "jarjar.jar")
+
+	pctx.VariableFunc("JavacWrapper", func(config interface{}) (string, error) {
+		if override := config.(android.Config).Getenv("JAVAC_WRAPPER"); override != "" {
+			return override + " ", nil
+		}
+		return "", nil
+	})
+}