Enable goma in soong

When the UseGoma flag is set, put all rules except the C compilation
rule in an externally defined local_pool, which will have been created
by kati.  The gomacc wrapper will already be in the CC_WRAPPER
environment variable.

Bug: 31142427
Change-Id: I699d4edff2e302eee398dad8692ceb14721a628c
diff --git a/java/app_builder.go b/java/app_builder.go
index d8f2571..bbd3dac 100644
--- a/java/app_builder.go
+++ b/java/app_builder.go
@@ -27,7 +27,7 @@
 )
 
 var (
-	aaptCreateResourceJavaFile = pctx.StaticRule("aaptCreateResourceJavaFile",
+	aaptCreateResourceJavaFile = pctx.AndroidStaticRule("aaptCreateResourceJavaFile",
 		blueprint.RuleParams{
 			Command: `rm -rf "$javaDir" && mkdir -p "$javaDir" && ` +
 				`$aaptCmd package -m $aaptFlags -P $publicResourcesFile -G $proguardOptionsFile ` +
@@ -38,7 +38,7 @@
 		},
 		"aaptFlags", "publicResourcesFile", "proguardOptionsFile", "javaDir", "javaFileList")
 
-	aaptCreateAssetsPackage = pctx.StaticRule("aaptCreateAssetsPackage",
+	aaptCreateAssetsPackage = pctx.AndroidStaticRule("aaptCreateAssetsPackage",
 		blueprint.RuleParams{
 			Command:     `rm -f $out && $aaptCmd package $aaptFlags -F $out`,
 			CommandDeps: []string{"$aaptCmd"},
@@ -46,7 +46,7 @@
 		},
 		"aaptFlags", "publicResourcesFile", "proguardOptionsFile", "javaDir", "javaFileList")
 
-	aaptAddResources = pctx.StaticRule("aaptAddResources",
+	aaptAddResources = pctx.AndroidStaticRule("aaptAddResources",
 		blueprint.RuleParams{
 			// TODO: add-jni-shared-libs-to-package
 			Command:     `cp -f $in $out.tmp && $aaptCmd package -u $aaptFlags -F $out.tmp && mv $out.tmp $out`,
@@ -55,7 +55,7 @@
 		},
 		"aaptFlags")
 
-	signapk = pctx.StaticRule("signapk",
+	signapk = pctx.AndroidStaticRule("signapk",
 		blueprint.RuleParams{
 			Command:     `java -jar $signapkCmd $certificates $in $out`,
 			CommandDeps: []string{"$signapkCmd"},
@@ -63,7 +63,7 @@
 		},
 		"certificates")
 
-	androidManifestMerger = pctx.StaticRule("androidManifestMerger",
+	androidManifestMerger = pctx.AndroidStaticRule("androidManifestMerger",
 		blueprint.RuleParams{
 			Command: "java -classpath $androidManifestMergerCmd com.android.manifmerger.Main merge " +
 				"--main $in --libs $libsManifests --out $out",
diff --git a/java/builder.go b/java/builder.go
index f674f98..a9da0fc 100644
--- a/java/builder.go
+++ b/java/builder.go
@@ -37,7 +37,7 @@
 	// 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.StaticRule("javac",
+	javac = pctx.AndroidStaticRule("javac",
 		blueprint.RuleParams{
 			Command: `rm -rf "$outDir" && mkdir -p "$outDir" && ` +
 				`$javacCmd -encoding UTF-8 $javacFlags $bootClasspath $classpath ` +
@@ -49,7 +49,7 @@
 		},
 		"javacCmd", "javacFlags", "bootClasspath", "classpath", "outDir")
 
-	jar = pctx.StaticRule("jar",
+	jar = pctx.AndroidStaticRule("jar",
 		blueprint.RuleParams{
 			Command:     `$jarCmd -o $out $jarArgs`,
 			CommandDeps: []string{"$jarCmd"},
@@ -57,7 +57,7 @@
 		},
 		"jarCmd", "jarArgs")
 
-	dx = pctx.StaticRule("dx",
+	dx = pctx.AndroidStaticRule("dx",
 		blueprint.RuleParams{
 			Command: `rm -rf "$outDir" && mkdir -p "$outDir" && ` +
 				`$dxCmd --dex --output=$outDir $dxFlags $in || ( rm -rf "$outDir"; exit 41 ) && ` +
@@ -67,7 +67,7 @@
 		},
 		"outDir", "dxFlags")
 
-	jarjar = pctx.StaticRule("jarjar",
+	jarjar = pctx.AndroidStaticRule("jarjar",
 		blueprint.RuleParams{
 			Command:     "java -jar $jarjarCmd process $rulesFile $in $out",
 			CommandDeps: []string{"$jarjarCmd", "$rulesFile"},
@@ -75,7 +75,7 @@
 		},
 		"rulesFile")
 
-	extractPrebuilt = pctx.StaticRule("extractPrebuilt",
+	extractPrebuilt = pctx.AndroidStaticRule("extractPrebuilt",
 		blueprint.RuleParams{
 			Command: `rm -rf $outDir && unzip -qo $in -d $outDir && ` +
 				`find $outDir -name "*.class" > $classFile && ` +
diff --git a/java/gen.go b/java/gen.go
index 57c4ba2..52a0c79 100644
--- a/java/gen.go
+++ b/java/gen.go
@@ -33,7 +33,7 @@
 }
 
 var (
-	aidl = pctx.StaticRule("aidl",
+	aidl = pctx.AndroidStaticRule("aidl",
 		blueprint.RuleParams{
 			Command:     "$aidlCmd -d$depFile $aidlFlags $in $out",
 			CommandDeps: []string{"$aidlCmd"},
@@ -41,14 +41,14 @@
 		},
 		"depFile", "aidlFlags")
 
-	logtags = pctx.StaticRule("logtags",
+	logtags = pctx.AndroidStaticRule("logtags",
 		blueprint.RuleParams{
 			Command:     "$logtagsCmd -o $out $in $allLogtagsFile",
 			CommandDeps: []string{"$logtagsCmd"},
 			Description: "logtags $out",
 		})
 
-	mergeLogtags = pctx.StaticRule("mergeLogtags",
+	mergeLogtags = pctx.AndroidStaticRule("mergeLogtags",
 		blueprint.RuleParams{
 			Command:     "$mergeLogtagsCmd -o $out $in",
 			CommandDeps: []string{"$mergeLogtagsCmd"},