Pass javac flags to errorprone builds
Pass CommonJdkFlags to errorprone builds, which is required for
frameworks/base/layoutlib/create to work correctly. Unfortunately,
javac and errorprone cannot use the same syntax for the heap size,
javac needs -J-Xmx and errorprone needs -Xmx, so split the heap size
flag out into a separate variable.
Test: m -j RUN_ERROR_PRONE=true javac-check
Change-Id: Icd7f8cf627534fb089ec83e462c060572dd2d20c
diff --git a/java/builder.go b/java/builder.go
index b7ff3ab..6912c87 100644
--- a/java/builder.go
+++ b/java/builder.go
@@ -38,7 +38,7 @@
javac = pctx.AndroidGomaStaticRule("javac",
blueprint.RuleParams{
Command: `rm -rf "$outDir" "$annoDir" && mkdir -p "$outDir" "$annoDir" && ` +
- `${config.JavacWrapper}${config.JavacCmd} ${config.CommonJdkFlags} ` +
+ `${config.JavacWrapper}${config.JavacCmd} ${config.JavacHeapFlags} ${config.CommonJdkFlags} ` +
`$javacFlags $bootClasspath $classpath ` +
`-source $javaVersion -target $javaVersion ` +
`-d $outDir -s $annoDir @$out.rsp && ` +
diff --git a/java/config/config.go b/java/config/config.go
index 90d0fb5..c6c8fff 100644
--- a/java/config/config.go
+++ b/java/config/config.go
@@ -26,14 +26,17 @@
var (
pctx = android.NewPackageContext("android/soong/java/config")
+ JavacHeapSize = "2048M"
+
DefaultLibraries = []string{"core-oj", "core-libart", "ext", "framework", "okhttp"}
)
func init() {
pctx.Import("github.com/google/blueprint/bootstrap")
+ pctx.StaticVariable("JavacHeapFlags", "-J-Xmx"+JavacHeapSize)
+
pctx.StaticVariable("CommonJdkFlags", strings.Join([]string{
- `-J-Xmx2048M`,
`-Xmaxerrs 9999999`,
`-encoding UTF-8`,
`-sourcepath ""`,
diff --git a/java/config/errorprone.go b/java/config/errorprone.go
index da9b775..ddb9902 100644
--- a/java/config/errorprone.go
+++ b/java/config/errorprone.go
@@ -78,6 +78,8 @@
"-Xep:UnusedAnonymousClass:ERROR",
}, " "))
+ pctx.StaticVariable("ErrorProneHeapFlags", "-Xmx"+JavacHeapSize)
+
pctx.StaticVariable("ErrorProneFlags", strings.Join([]string{
"com.google.errorprone.ErrorProneCompiler",
"-Xdiags:verbose",
@@ -87,11 +89,12 @@
"-XDuseStrictMethodClashCheck=true",
"-XDuseStructuralMostSpecificResolution=true",
"-XDuseGraphInference=true",
- "-Xmaxwarns 100000",
"-XDandroidCompatible=true",
"-XepAllErrorsAsWarnings",
}, " "))
pctx.StaticVariable("ErrorProneCmd",
- "${JavaCmd} -Xbootclasspath/p:${ErrorProneJavacJar} -cp ${ErrorProneJar}:${ErrorProneClasspath} ${ErrorProneFlags} ${ErrorProneChecksError}")
+ "${JavaCmd} ${ErrorProneHeapFlags} -Xbootclasspath/p:${ErrorProneJavacJar} "+
+ "-cp ${ErrorProneJar}:${ErrorProneClasspath} "+
+ "${ErrorProneFlags} ${CommonJdkFlags} ${ErrorProneChecksError}")
}