aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorYoshisato Yanagisawa <yyanagisawa@google.com>2017-06-05 17:41:50 +0900
committerYoshisato Yanagisawa <yyanagisawa@google.com>2017-06-14 01:04:50 +0000
commit572324ac335ca8b72bcf41330cd267fe07ac577c (patch)
tree5e1ee0c4fe4e3cfc9679d8471489e51d316f832e /java
parent2a60959b65456bd789b90b537a03104c7b437b8a (diff)
downloadbuild_soong-572324ac335ca8b72bcf41330cd267fe07ac577c.tar.gz
build_soong-572324ac335ca8b72bcf41330cd267fe07ac577c.tar.bz2
build_soong-572324ac335ca8b72bcf41330cd267fe07ac577c.zip
Add JAVAC_WRAPPER support
To run javac with AndroidGomaStaticRule, let me make JAVAC_WRAPPER also show up to javac/builder.go. Test: USE_GOMA=true JAVAC_WRAPPER=gomacc m -j32 Bug: b/62334576 Change-Id: I19e1e4315f71d8706800da810b5212f5964171a4
Diffstat (limited to 'java')
-rw-r--r--java/builder.go12
1 files changed, 10 insertions, 2 deletions
diff --git a/java/builder.go b/java/builder.go
index 895a9994..041c3039 100644
--- a/java/builder.go
+++ b/java/builder.go
@@ -37,10 +37,11 @@ var (
// this, all java rules write into separate directories and then a post-processing step lists
// the files in the the directory into a list file that later rules depend on (and sometimes
// read from directly using @<listfile>)
- javac = pctx.AndroidStaticRule("javac",
+ javac = pctx.AndroidGomaStaticRule("javac",
blueprint.RuleParams{
Command: `rm -rf "$outDir" && mkdir -p "$outDir" && ` +
- `$javacCmd -encoding UTF-8 $javacFlags $bootClasspath $classpath ` +
+ `${config.JavacWrapper}$javacCmd ` +
+ `-encoding UTF-8 $javacFlags $bootClasspath $classpath ` +
`-extdirs "" -d $outDir @$out.rsp || ( rm -rf "$outDir"; exit 41 ) && ` +
`find $outDir -name "*.class" > $out`,
Rspfile: "$out.rsp",
@@ -88,6 +89,13 @@ func init() {
pctx.StaticVariable("jarCmd", 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
+ })
}
type javaBuilderFlags struct {