Pass pctx and ctx to NewRuleBuilder
Enable the RuleBuilder and RuleBuilderCommand methods to access the BuilderContext by passing it to NewRuleBuilder instead of RuleBuilder.Build. Test: genrule_test.go Test: rule_builder_test.go Test: m checkbuild Change-Id: I63e6597e19167393876dc2259d6f521363b7dabc
This commit is contained in:
28
java/app.go
28
java/app.go
@@ -1115,8 +1115,8 @@ func (a *AndroidTest) FixTestConfig(ctx android.ModuleContext, testConfig androi
|
||||
}
|
||||
|
||||
fixedConfig := android.PathForModuleOut(ctx, "test_config_fixer", "AndroidTest.xml")
|
||||
rule := android.NewRuleBuilder()
|
||||
command := rule.Command().BuiltTool(ctx, "test_config_fixer").Input(testConfig).Output(fixedConfig)
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
command := rule.Command().BuiltTool("test_config_fixer").Input(testConfig).Output(fixedConfig)
|
||||
fixNeeded := false
|
||||
|
||||
if ctx.ModuleName() != a.installApkName {
|
||||
@@ -1131,7 +1131,7 @@ func (a *AndroidTest) FixTestConfig(ctx android.ModuleContext, testConfig androi
|
||||
}
|
||||
|
||||
if fixNeeded {
|
||||
rule.Build(pctx, ctx, "fix_test_config", "fix test config")
|
||||
rule.Build("fix_test_config", "fix test config")
|
||||
return fixedConfig
|
||||
}
|
||||
return testConfig
|
||||
@@ -1440,15 +1440,15 @@ func (a *AndroidAppImport) uncompressEmbeddedJniLibs(
|
||||
})
|
||||
return
|
||||
}
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
rule.Command().
|
||||
Textf(`if (zipinfo %s 'lib/*.so' 2>/dev/null | grep -v ' stor ' >/dev/null) ; then`, inputPath).
|
||||
BuiltTool(ctx, "zip2zip").
|
||||
BuiltTool("zip2zip").
|
||||
FlagWithInput("-i ", inputPath).
|
||||
FlagWithOutput("-o ", outputPath).
|
||||
FlagWithArg("-0 ", "'lib/**/*.so'").
|
||||
Textf(`; else cp -f %s %s; fi`, inputPath, outputPath)
|
||||
rule.Build(pctx, ctx, "uncompress-embedded-jni-libs", "Uncompress embedded JIN libs")
|
||||
rule.Build("uncompress-embedded-jni-libs", "Uncompress embedded JIN libs")
|
||||
}
|
||||
|
||||
// Returns whether this module should have the dex file stored uncompressed in the APK.
|
||||
@@ -1467,15 +1467,15 @@ func (a *AndroidAppImport) shouldUncompressDex(ctx android.ModuleContext) bool {
|
||||
|
||||
func (a *AndroidAppImport) uncompressDex(
|
||||
ctx android.ModuleContext, inputPath android.Path, outputPath android.OutputPath) {
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
rule.Command().
|
||||
Textf(`if (zipinfo %s '*.dex' 2>/dev/null | grep -v ' stor ' >/dev/null) ; then`, inputPath).
|
||||
BuiltTool(ctx, "zip2zip").
|
||||
BuiltTool("zip2zip").
|
||||
FlagWithInput("-i ", inputPath).
|
||||
FlagWithOutput("-o ", outputPath).
|
||||
FlagWithArg("-0 ", "'classes*.dex'").
|
||||
Textf(`; else cp -f %s %s; fi`, inputPath, outputPath)
|
||||
rule.Build(pctx, ctx, "uncompress-dex", "Uncompress dex files")
|
||||
rule.Build("uncompress-dex", "Uncompress dex files")
|
||||
}
|
||||
|
||||
func (a *AndroidAppImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
@@ -2015,8 +2015,8 @@ func (u *usesLibrary) freezeEnforceUsesLibraries() {
|
||||
func (u *usesLibrary) verifyUsesLibrariesManifest(ctx android.ModuleContext, manifest android.Path) android.Path {
|
||||
outputFile := android.PathForModuleOut(ctx, "manifest_check", "AndroidManifest.xml")
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
cmd := rule.Command().BuiltTool(ctx, "manifest_check").
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
cmd := rule.Command().BuiltTool("manifest_check").
|
||||
Flag("--enforce-uses-libraries").
|
||||
Input(manifest).
|
||||
FlagWithOutput("-o ", outputFile)
|
||||
@@ -2029,7 +2029,7 @@ func (u *usesLibrary) verifyUsesLibrariesManifest(ctx android.ModuleContext, man
|
||||
cmd.FlagWithArg("--optional-uses-library ", lib)
|
||||
}
|
||||
|
||||
rule.Build(pctx, ctx, "verify_uses_libraries", "verify <uses-library>")
|
||||
rule.Build("verify_uses_libraries", "verify <uses-library>")
|
||||
|
||||
return outputFile
|
||||
}
|
||||
@@ -2039,7 +2039,7 @@ func (u *usesLibrary) verifyUsesLibrariesManifest(ctx android.ModuleContext, man
|
||||
func (u *usesLibrary) verifyUsesLibrariesAPK(ctx android.ModuleContext, apk android.Path) android.Path {
|
||||
outputFile := android.PathForModuleOut(ctx, "verify_uses_libraries", apk.Base())
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
aapt := ctx.Config().HostToolPath(ctx, "aapt")
|
||||
rule.Command().
|
||||
Textf("aapt_binary=%s", aapt.String()).Implicit(aapt).
|
||||
@@ -2048,7 +2048,7 @@ func (u *usesLibrary) verifyUsesLibrariesAPK(ctx android.ModuleContext, apk andr
|
||||
Tool(android.PathForSource(ctx, "build/make/core/verify_uses_libraries.sh")).Input(apk)
|
||||
rule.Command().Text("cp -f").Input(apk).Output(outputFile)
|
||||
|
||||
rule.Build(pctx, ctx, "verify_uses_libraries", "verify <uses-library>")
|
||||
rule.Build("verify_uses_libraries", "verify <uses-library>")
|
||||
|
||||
return outputFile
|
||||
}
|
||||
|
@@ -85,8 +85,8 @@ func (b *bootJarsSingleton) GenerateBuildActions(ctx android.SingletonContext) {
|
||||
|
||||
timestamp := android.PathForOutput(ctx, "boot-jars-package-check/stamp")
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
checkBootJars := rule.Command().BuiltTool(ctx, "check_boot_jars").
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
checkBootJars := rule.Command().BuiltTool("check_boot_jars").
|
||||
Input(ctx.Config().HostToolPath(ctx, "dexdump")).
|
||||
Input(android.PathForSource(ctx, "build/soong/scripts/check_boot_jars/package_allowed_list.txt"))
|
||||
|
||||
@@ -109,7 +109,7 @@ func (b *bootJarsSingleton) GenerateBuildActions(ctx android.SingletonContext) {
|
||||
}
|
||||
|
||||
checkBootJars.Text("&& touch").Output(timestamp)
|
||||
rule.Build(pctx, ctx, "boot_jars_package_check", "check boot jar packages")
|
||||
rule.Build("boot_jars_package_check", "check boot jar packages")
|
||||
|
||||
// The check-boot-jars phony target depends on the timestamp created if the check succeeds.
|
||||
ctx.Phony("check-boot-jars", timestamp)
|
||||
|
@@ -216,7 +216,7 @@ func (d *dexpreopter) dexpreopt(ctx android.ModuleContext, dexJarFile android.Mo
|
||||
return dexJarFile
|
||||
}
|
||||
|
||||
dexpreoptRule.Build(pctx, ctx, "dexpreopt", "dexpreopt")
|
||||
dexpreoptRule.Build("dexpreopt", "dexpreopt")
|
||||
|
||||
d.builtInstalled = dexpreoptRule.Installs().String()
|
||||
|
||||
|
@@ -539,14 +539,14 @@ func buildBootImage(ctx android.SingletonContext, image *bootImageConfig) *bootI
|
||||
}
|
||||
|
||||
if image.zip != nil {
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
rule.Command().
|
||||
BuiltTool(ctx, "soong_zip").
|
||||
BuiltTool("soong_zip").
|
||||
FlagWithOutput("-o ", image.zip).
|
||||
FlagWithArg("-C ", image.dir.Join(ctx, android.Android.String()).String()).
|
||||
FlagWithInputList("-f ", zipFiles, " -f ")
|
||||
|
||||
rule.Build(pctx, ctx, "zip_"+image.name, "zip "+image.name+" image")
|
||||
rule.Build("zip_"+image.name, "zip "+image.name+" image")
|
||||
}
|
||||
|
||||
return image
|
||||
@@ -568,7 +568,7 @@ func buildBootImageVariant(ctx android.SingletonContext, image *bootImageVariant
|
||||
oatLocation := dexpreopt.PathToLocation(outputPath, arch)
|
||||
imagePath := outputPath.ReplaceExtension(ctx, "art")
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
rule.MissingDeps(missingDeps)
|
||||
|
||||
rule.Command().Text("mkdir").Flag("-p").Flag(symbolsDir.String())
|
||||
@@ -689,7 +689,7 @@ func buildBootImageVariant(ctx android.SingletonContext, image *bootImageVariant
|
||||
android.RuleBuilderInstall{unstrippedOat, filepath.Join(installDir, unstrippedOat.Base())})
|
||||
}
|
||||
|
||||
rule.Build(pctx, ctx, image.name+"JarsDexpreopt_"+image.target.String(), "dexpreopt "+image.name+" jars "+arch.String())
|
||||
rule.Build(image.name+"JarsDexpreopt_"+image.target.String(), "dexpreopt "+image.name+" jars "+arch.String())
|
||||
|
||||
// save output and installed files for makevars
|
||||
image.installs = rule.Installs()
|
||||
@@ -713,7 +713,7 @@ func bootImageProfileRule(ctx android.SingletonContext, image *bootImageConfig,
|
||||
profile := ctx.Config().Once(bootImageProfileRuleKey, func() interface{} {
|
||||
defaultProfile := "frameworks/base/config/boot-image-profile.txt"
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
rule.MissingDeps(missingDeps)
|
||||
|
||||
var bootImageProfile android.Path
|
||||
@@ -744,7 +744,7 @@ func bootImageProfileRule(ctx android.SingletonContext, image *bootImageConfig,
|
||||
|
||||
rule.Install(profile, "/system/etc/boot-image.prof")
|
||||
|
||||
rule.Build(pctx, ctx, "bootJarsProfile", "profile boot jars")
|
||||
rule.Build("bootJarsProfile", "profile boot jars")
|
||||
|
||||
image.profileInstalls = rule.Installs()
|
||||
|
||||
@@ -766,7 +766,7 @@ func bootFrameworkProfileRule(ctx android.SingletonContext, image *bootImageConf
|
||||
return nil
|
||||
}
|
||||
return ctx.Config().Once(bootFrameworkProfileRuleKey, func() interface{} {
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
rule.MissingDeps(missingDeps)
|
||||
|
||||
// Some branches like master-art-host don't have frameworks/base, so manually
|
||||
@@ -794,7 +794,7 @@ func bootFrameworkProfileRule(ctx android.SingletonContext, image *bootImageConf
|
||||
FlagWithOutput("--reference-profile-file=", profile)
|
||||
|
||||
rule.Install(profile, "/system/etc/boot-image.bprof")
|
||||
rule.Build(pctx, ctx, "bootFrameworkProfile", "profile boot framework jars")
|
||||
rule.Build("bootFrameworkProfile", "profile boot framework jars")
|
||||
image.profileInstalls = append(image.profileInstalls, rule.Installs()...)
|
||||
|
||||
return profile
|
||||
@@ -839,7 +839,7 @@ func updatableBcpPackagesRule(ctx android.SingletonContext, image *bootImageConf
|
||||
// WriteFileRule automatically adds the last end-of-line.
|
||||
android.WriteFileRule(ctx, updatableBcpPackages, strings.Join(updatablePackages, "\n"))
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
rule.MissingDeps(missingDeps)
|
||||
rule.Install(updatableBcpPackages, "/system/etc/"+updatableBcpPackagesName)
|
||||
// TODO: Rename `profileInstalls` to `extraInstalls`?
|
||||
@@ -863,25 +863,25 @@ func dumpOatRules(ctx android.SingletonContext, image *bootImageConfig) {
|
||||
}
|
||||
// Create a rule to call oatdump.
|
||||
output := android.PathForOutput(ctx, "boot."+suffix+".oatdump.txt")
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
rule.Command().
|
||||
// TODO: for now, use the debug version for better error reporting
|
||||
BuiltTool(ctx, "oatdumpd").
|
||||
BuiltTool("oatdumpd").
|
||||
FlagWithInputList("--runtime-arg -Xbootclasspath:", image.dexPathsDeps.Paths(), ":").
|
||||
FlagWithList("--runtime-arg -Xbootclasspath-locations:", image.dexLocationsDeps, ":").
|
||||
FlagWithArg("--image=", strings.Join(image.imageLocations(), ":")).Implicits(image.imagesDeps.Paths()).
|
||||
FlagWithOutput("--output=", output).
|
||||
FlagWithArg("--instruction-set=", arch.String())
|
||||
rule.Build(pctx, ctx, "dump-oat-boot-"+suffix, "dump oat boot "+arch.String())
|
||||
rule.Build("dump-oat-boot-"+suffix, "dump oat boot "+arch.String())
|
||||
|
||||
// Create a phony rule that depends on the output file and prints the path.
|
||||
phony := android.PathForPhony(ctx, "dump-oat-boot-"+suffix)
|
||||
rule = android.NewRuleBuilder()
|
||||
rule = android.NewRuleBuilder(pctx, ctx)
|
||||
rule.Command().
|
||||
Implicit(output).
|
||||
ImplicitOutput(phony).
|
||||
Text("echo").FlagWithArg("Output in ", output.String())
|
||||
rule.Build(pctx, ctx, "phony-dump-oat-boot-"+suffix, "dump oat boot "+arch.String())
|
||||
rule.Build("phony-dump-oat-boot-"+suffix, "dump oat boot "+arch.String())
|
||||
|
||||
allPhonies = append(allPhonies, phony)
|
||||
}
|
||||
|
@@ -671,7 +671,7 @@ func (j *Javadoc) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
|
||||
j.stubsSrcJar = nil
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
rule.Command().Text("rm -rf").Text(outDir.String())
|
||||
rule.Command().Text("mkdir -p").Text(outDir.String())
|
||||
@@ -689,7 +689,7 @@ func (j *Javadoc) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
Flag("-Xdoclint:none")
|
||||
|
||||
rule.Command().
|
||||
BuiltTool(ctx, "soong_zip").
|
||||
BuiltTool("soong_zip").
|
||||
Flag("-write_if_changed").
|
||||
Flag("-d").
|
||||
FlagWithOutput("-o ", j.docZip).
|
||||
@@ -700,7 +700,7 @@ func (j *Javadoc) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
|
||||
zipSyncCleanupCmd(rule, srcJarDir)
|
||||
|
||||
rule.Build(pctx, ctx, "javadoc", "javadoc")
|
||||
rule.Build("javadoc", "javadoc")
|
||||
}
|
||||
|
||||
//
|
||||
@@ -845,7 +845,7 @@ func javadocCmd(ctx android.ModuleContext, rule *android.RuleBuilder, srcs andro
|
||||
outDir, srcJarDir, srcJarList android.Path, sourcepaths android.Paths) *android.RuleBuilderCommand {
|
||||
|
||||
cmd := rule.Command().
|
||||
BuiltTool(ctx, "soong_javac_wrapper").Tool(config.JavadocCmd(ctx)).
|
||||
BuiltTool("soong_javac_wrapper").Tool(config.JavadocCmd(ctx)).
|
||||
Flag(config.JavacVmFlags).
|
||||
FlagWithArg("-encoding ", "UTF-8").
|
||||
FlagWithRspFileInputList("@", srcs).
|
||||
@@ -914,7 +914,7 @@ func dokkaCmd(ctx android.ModuleContext, rule *android.RuleBuilder,
|
||||
dokkaClasspath := append(bootclasspath.Paths(), classpath.Paths()...)
|
||||
|
||||
return rule.Command().
|
||||
BuiltTool(ctx, "dokka").
|
||||
BuiltTool("dokka").
|
||||
Flag(config.JavacVmFlags).
|
||||
Flag(srcJarDir.String()).
|
||||
FlagWithInputList("-classpath ", dokkaClasspath, ":").
|
||||
@@ -934,7 +934,7 @@ func (d *Droiddoc) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
outDir := android.PathForModuleOut(ctx, "out")
|
||||
srcJarDir := android.PathForModuleOut(ctx, "srcjars")
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
srcJarList := zipSyncCmd(ctx, rule, srcJarDir, d.Javadoc.srcJars)
|
||||
|
||||
@@ -968,7 +968,7 @@ func (d *Droiddoc) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
}
|
||||
|
||||
rule.Command().
|
||||
BuiltTool(ctx, "soong_zip").
|
||||
BuiltTool("soong_zip").
|
||||
Flag("-write_if_changed").
|
||||
Flag("-d").
|
||||
FlagWithOutput("-o ", d.docZip).
|
||||
@@ -979,7 +979,7 @@ func (d *Droiddoc) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
|
||||
zipSyncCleanupCmd(rule, srcJarDir)
|
||||
|
||||
rule.Build(pctx, ctx, "javadoc", desc)
|
||||
rule.Build("javadoc", desc)
|
||||
}
|
||||
|
||||
//
|
||||
@@ -1278,7 +1278,7 @@ func metalavaCmd(ctx android.ModuleContext, rule *android.RuleBuilder, javaVersi
|
||||
}).NoVarTemplate(ctx.Config()))
|
||||
}
|
||||
|
||||
cmd.BuiltTool(ctx, "metalava").
|
||||
cmd.BuiltTool("metalava").
|
||||
Flag(config.JavacVmFlags).
|
||||
Flag("-J--add-opens=java.base/java.util=ALL-UNNAMED").
|
||||
FlagWithArg("-encoding ", "UTF-8").
|
||||
@@ -1333,7 +1333,7 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
|
||||
srcJarDir := android.PathForModuleOut(ctx, "srcjars")
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
if BoolDefault(d.properties.High_mem, false) {
|
||||
// This metalava run uses lots of memory, restrict the number of metalava jobs that can run in parallel.
|
||||
@@ -1480,19 +1480,19 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
cmd.FlagWithArg("--error-message:compatibility:released ", msg)
|
||||
}
|
||||
|
||||
impRule := android.NewRuleBuilder()
|
||||
impRule := android.NewRuleBuilder(pctx, ctx)
|
||||
impCmd := impRule.Command()
|
||||
// An action that copies the ninja generated rsp file to a new location. This allows us to
|
||||
// add a large number of inputs to a file without exceeding bash command length limits (which
|
||||
// would happen if we use the WriteFile rule). The cp is needed because RuleBuilder sets the
|
||||
// rsp file to be ${output}.rsp.
|
||||
impCmd.Text("cp").FlagWithRspFileInputList("", cmd.GetImplicits()).Output(implicitsRsp)
|
||||
impRule.Build(pctx, ctx, "implicitsGen", "implicits generation")
|
||||
impRule.Build("implicitsGen", "implicits generation")
|
||||
cmd.Implicit(implicitsRsp)
|
||||
|
||||
if generateStubs {
|
||||
rule.Command().
|
||||
BuiltTool(ctx, "soong_zip").
|
||||
BuiltTool("soong_zip").
|
||||
Flag("-write_if_changed").
|
||||
Flag("-jar").
|
||||
FlagWithOutput("-o ", d.Javadoc.stubsSrcJar).
|
||||
@@ -1503,7 +1503,7 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
if Bool(d.properties.Write_sdk_values) {
|
||||
d.metadataZip = android.PathForModuleOut(ctx, ctx.ModuleName()+"-metadata.zip")
|
||||
rule.Command().
|
||||
BuiltTool(ctx, "soong_zip").
|
||||
BuiltTool("soong_zip").
|
||||
Flag("-write_if_changed").
|
||||
Flag("-d").
|
||||
FlagWithOutput("-o ", d.metadataZip).
|
||||
@@ -1524,7 +1524,7 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
|
||||
zipSyncCleanupCmd(rule, srcJarDir)
|
||||
|
||||
rule.Build(pctx, ctx, "metalava", "metalava merged")
|
||||
rule.Build("metalava", "metalava merged")
|
||||
|
||||
if apiCheckEnabled(ctx, d.properties.Check_api.Current, "current") {
|
||||
|
||||
@@ -1542,7 +1542,7 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
|
||||
d.checkCurrentApiTimestamp = android.PathForModuleOut(ctx, "check_current_api.timestamp")
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
// Diff command line.
|
||||
// -F matches the closest "opening" line, such as "package android {"
|
||||
@@ -1576,12 +1576,12 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
Text("; exit 38").
|
||||
Text(")")
|
||||
|
||||
rule.Build(pctx, ctx, "metalavaCurrentApiCheck", "check current API")
|
||||
rule.Build("metalavaCurrentApiCheck", "check current API")
|
||||
|
||||
d.updateCurrentApiTimestamp = android.PathForModuleOut(ctx, "update_current_api.timestamp")
|
||||
|
||||
// update API rule
|
||||
rule = android.NewRuleBuilder()
|
||||
rule = android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
rule.Command().Text("( true")
|
||||
|
||||
@@ -1602,7 +1602,7 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
Text("; exit 38").
|
||||
Text(")")
|
||||
|
||||
rule.Build(pctx, ctx, "metalavaCurrentApiUpdate", "update current API")
|
||||
rule.Build("metalavaCurrentApiUpdate", "update current API")
|
||||
}
|
||||
|
||||
if String(d.properties.Check_nullability_warnings) != "" {
|
||||
@@ -1625,7 +1625,7 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
` and submitting the updated file as part of your change.`,
|
||||
d.nullabilityWarningsFile, checkNullabilityWarnings)
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
rule.Command().
|
||||
Text("(").
|
||||
@@ -1637,7 +1637,7 @@ func (d *Droidstubs) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
Text("; exit 38").
|
||||
Text(")")
|
||||
|
||||
rule.Build(pctx, ctx, "nullabilityWarningsCheck", "nullability warnings check")
|
||||
rule.Build("nullabilityWarningsCheck", "nullability warnings check")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1722,7 +1722,7 @@ func zipSyncCmd(ctx android.ModuleContext, rule *android.RuleBuilder,
|
||||
|
||||
rule.Temporary(srcJarList)
|
||||
|
||||
rule.Command().BuiltTool(ctx, "zipsync").
|
||||
rule.Command().BuiltTool("zipsync").
|
||||
FlagWithArg("-d ", srcJarDir.String()).
|
||||
FlagWithOutput("-l ", srcJarList).
|
||||
FlagWithArg("-f ", `"*.java"`).
|
||||
@@ -1783,9 +1783,9 @@ func (p *PrebuiltStubsSources) GenerateAndroidBuildActions(ctx android.ModuleCon
|
||||
srcGlob := localSrcDir + "/**/*"
|
||||
srcPaths := android.PathsForModuleSrc(ctx, []string{srcGlob})
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
rule.Command().
|
||||
BuiltTool(ctx, "soong_zip").
|
||||
BuiltTool("soong_zip").
|
||||
Flag("-write_if_changed").
|
||||
Flag("-jar").
|
||||
FlagWithOutput("-o ", p.stubsSrcJar).
|
||||
@@ -1794,7 +1794,7 @@ func (p *PrebuiltStubsSources) GenerateAndroidBuildActions(ctx android.ModuleCon
|
||||
|
||||
rule.Restat()
|
||||
|
||||
rule.Build(pctx, ctx, "zip src", "Create srcjar from prebuilt source")
|
||||
rule.Build("zip src", "Create srcjar from prebuilt source")
|
||||
}
|
||||
|
||||
func (p *PrebuiltStubsSources) Prebuilt() *android.Prebuilt {
|
||||
|
@@ -57,7 +57,7 @@ func genAidl(ctx android.ModuleContext, aidlFiles android.Paths, aidlFlags strin
|
||||
|
||||
outDir := srcJarFile.ReplaceExtension(ctx, "tmp")
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
rule.Command().Text("rm -rf").Flag(outDir.String())
|
||||
rule.Command().Text("mkdir -p").Flag(outDir.String())
|
||||
@@ -98,7 +98,7 @@ func genAidl(ctx android.ModuleContext, aidlFiles android.Paths, aidlFlags strin
|
||||
ruleDesc += " " + strconv.Itoa(i)
|
||||
}
|
||||
|
||||
rule.Build(pctx, ctx, ruleName, ruleDesc)
|
||||
rule.Build(ruleName, ruleDesc)
|
||||
}
|
||||
|
||||
return srcJarFiles
|
||||
|
@@ -135,12 +135,12 @@ func (h *hiddenAPI) hiddenAPIGenerateCSV(ctx android.ModuleContext, flagsCSV, me
|
||||
})
|
||||
h.metadataCSVPath = metadataCSV
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
rule.Command().
|
||||
BuiltTool(ctx, "merge_csv").
|
||||
BuiltTool("merge_csv").
|
||||
FlagWithInput("--zip_input=", classesJar).
|
||||
FlagWithOutput("--output=", indexCSV)
|
||||
rule.Build(pctx, ctx, "merged-hiddenapi-index", "Merged Hidden API index")
|
||||
rule.Build("merged-hiddenapi-index", "Merged Hidden API index")
|
||||
h.indexCSVPath = indexCSV
|
||||
}
|
||||
|
||||
|
@@ -189,7 +189,7 @@ func stubFlagsRule(ctx android.SingletonContext) {
|
||||
}
|
||||
|
||||
// Singleton rule which applies hiddenapi on all boot class path dex files.
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
outputPath := hiddenAPISingletonPaths(ctx).stubFlags
|
||||
tempPath := android.PathForOutput(ctx, outputPath.Rel()+".tmp")
|
||||
@@ -208,7 +208,7 @@ func stubFlagsRule(ctx android.SingletonContext) {
|
||||
|
||||
commitChangeForRestat(rule, tempPath, outputPath)
|
||||
|
||||
rule.Build(pctx, ctx, "hiddenAPIStubFlagsFile", "hiddenapi stub flags")
|
||||
rule.Build("hiddenAPIStubFlagsFile", "hiddenapi stub flags")
|
||||
}
|
||||
|
||||
// flagsRule creates a rule to build hiddenapi-flags.csv out of flags.csv files generated for boot image modules and
|
||||
@@ -236,7 +236,7 @@ func flagsRule(ctx android.SingletonContext) android.Path {
|
||||
ctx.Errorf("Failed to find combined-removed-dex.")
|
||||
}
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
outputPath := hiddenAPISingletonPaths(ctx).flags
|
||||
tempPath := android.PathForOutput(ctx, outputPath.Rel()+".tmp")
|
||||
@@ -266,7 +266,7 @@ func flagsRule(ctx android.SingletonContext) android.Path {
|
||||
|
||||
commitChangeForRestat(rule, tempPath, outputPath)
|
||||
|
||||
rule.Build(pctx, ctx, "hiddenAPIFlagsFile", "hiddenapi flags")
|
||||
rule.Build("hiddenAPIFlagsFile", "hiddenapi flags")
|
||||
|
||||
return outputPath
|
||||
}
|
||||
@@ -274,14 +274,14 @@ func flagsRule(ctx android.SingletonContext) android.Path {
|
||||
// emptyFlagsRule creates a rule to build an empty hiddenapi-flags.csv, which is needed by master-art-host builds that
|
||||
// have a partial manifest without frameworks/base but still need to build a boot image.
|
||||
func emptyFlagsRule(ctx android.SingletonContext) android.Path {
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
outputPath := hiddenAPISingletonPaths(ctx).flags
|
||||
|
||||
rule.Command().Text("rm").Flag("-f").Output(outputPath)
|
||||
rule.Command().Text("touch").Output(outputPath)
|
||||
|
||||
rule.Build(pctx, ctx, "emptyHiddenAPIFlagsFile", "empty hiddenapi flags")
|
||||
rule.Build("emptyHiddenAPIFlagsFile", "empty hiddenapi flags")
|
||||
|
||||
return outputPath
|
||||
}
|
||||
@@ -299,16 +299,16 @@ func metadataRule(ctx android.SingletonContext) android.Path {
|
||||
}
|
||||
})
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
outputPath := hiddenAPISingletonPaths(ctx).metadata
|
||||
|
||||
rule.Command().
|
||||
BuiltTool(ctx, "merge_csv").
|
||||
BuiltTool("merge_csv").
|
||||
FlagWithOutput("--output=", outputPath).
|
||||
Inputs(metadataCSV)
|
||||
|
||||
rule.Build(pctx, ctx, "hiddenAPIGreylistMetadataFile", "hiddenapi greylist metadata")
|
||||
rule.Build("hiddenAPIGreylistMetadataFile", "hiddenapi greylist metadata")
|
||||
|
||||
return outputPath
|
||||
}
|
||||
@@ -399,13 +399,13 @@ func (h *hiddenAPIIndexSingleton) GenerateBuildActions(ctx android.SingletonCont
|
||||
}
|
||||
})
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
rule.Command().
|
||||
BuiltTool(ctx, "merge_csv").
|
||||
BuiltTool("merge_csv").
|
||||
FlagWithArg("--header=", "signature,file,startline,startcol,endline,endcol,properties").
|
||||
FlagWithOutput("--output=", hiddenAPISingletonPaths(ctx).index).
|
||||
Inputs(indexes)
|
||||
rule.Build(pctx, ctx, "singleton-merged-hiddenapi-index", "Singleton merged Hidden API index")
|
||||
rule.Build("singleton-merged-hiddenapi-index", "Singleton merged Hidden API index")
|
||||
|
||||
h.index = hiddenAPISingletonPaths(ctx).index
|
||||
}
|
||||
|
@@ -3049,21 +3049,21 @@ func (j *DexImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
dexOutputFile := android.PathForModuleOut(ctx, ctx.ModuleName()+".jar")
|
||||
|
||||
if j.dexpreopter.uncompressedDex {
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
temporary := android.PathForModuleOut(ctx, ctx.ModuleName()+".jar.unaligned")
|
||||
rule.Temporary(temporary)
|
||||
|
||||
// use zip2zip to uncompress classes*.dex files
|
||||
rule.Command().
|
||||
BuiltTool(ctx, "zip2zip").
|
||||
BuiltTool("zip2zip").
|
||||
FlagWithInput("-i ", inputJar).
|
||||
FlagWithOutput("-o ", temporary).
|
||||
FlagWithArg("-0 ", "'classes*.dex'")
|
||||
|
||||
// use zipalign to align uncompressed classes*.dex files
|
||||
rule.Command().
|
||||
BuiltTool(ctx, "zipalign").
|
||||
BuiltTool("zipalign").
|
||||
Flag("-f").
|
||||
Text("4").
|
||||
Input(temporary).
|
||||
@@ -3071,7 +3071,7 @@ func (j *DexImport) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
|
||||
rule.DeleteTemporaryFiles()
|
||||
|
||||
rule.Build(pctx, ctx, "uncompress_dex", "uncompress dex")
|
||||
rule.Build("uncompress_dex", "uncompress dex")
|
||||
} else {
|
||||
ctx.Build(pctx, android.BuildParams{
|
||||
Rule: android.Cp,
|
||||
|
@@ -63,9 +63,9 @@ func kotlinCommonSrcsList(ctx android.ModuleContext, commonSrcFiles android.Path
|
||||
// we can't use the rsp file because it is already being used for srcs.
|
||||
// Insert a second rule to write out the list of resources to a file.
|
||||
commonSrcsList := android.PathForModuleOut(ctx, "kotlinc_common_srcs.list")
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
rule.Command().Text("cp").FlagWithRspFileInputList("", commonSrcFiles).Output(commonSrcsList)
|
||||
rule.Build(pctx, ctx, "kotlin_common_srcs_list", "kotlin common_srcs list")
|
||||
rule.Build("kotlin_common_srcs_list", "kotlin common_srcs list")
|
||||
return android.OptionalPathForPath(commonSrcsList)
|
||||
}
|
||||
return android.OptionalPath{}
|
||||
|
16
java/lint.go
16
java/lint.go
@@ -176,9 +176,9 @@ func (l *linter) writeLintProjectXML(ctx android.ModuleContext,
|
||||
// we can't use the rsp file because it is already being used for srcs.
|
||||
// Insert a second rule to write out the list of resources to a file.
|
||||
resourcesList = android.PathForModuleOut(ctx, "lint", "resources.list")
|
||||
resListRule := android.NewRuleBuilder()
|
||||
resListRule := android.NewRuleBuilder(pctx, ctx)
|
||||
resListRule.Command().Text("cp").FlagWithRspFileInputList("", l.resources).Output(resourcesList)
|
||||
resListRule.Build(pctx, ctx, "lint_resources_list", "lint resources list")
|
||||
resListRule.Build("lint_resources_list", "lint resources list")
|
||||
deps = append(deps, l.resources...)
|
||||
}
|
||||
|
||||
@@ -192,7 +192,7 @@ func (l *linter) writeLintProjectXML(ctx android.ModuleContext,
|
||||
srcJarList := zipSyncCmd(ctx, rule, srcJarDir, l.srcJars)
|
||||
|
||||
cmd := rule.Command().
|
||||
BuiltTool(ctx, "lint-project-xml").
|
||||
BuiltTool("lint-project-xml").
|
||||
FlagWithOutput("--project_out ", projectXMLPath).
|
||||
FlagWithOutput("--config_out ", configXMLPath).
|
||||
FlagWithArg("--name ", ctx.ModuleName())
|
||||
@@ -284,7 +284,7 @@ func (l *linter) lint(ctx android.ModuleContext) {
|
||||
}
|
||||
}
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
if l.manifest == nil {
|
||||
manifest := l.generateManifest(ctx, rule)
|
||||
@@ -347,7 +347,7 @@ func (l *linter) lint(ctx android.ModuleContext) {
|
||||
|
||||
rule.Command().Text("rm -rf").Flag(cacheDir.String()).Flag(homeDir.String())
|
||||
|
||||
rule.Build(pctx, ctx, "lint", "lint")
|
||||
rule.Build("lint", "lint")
|
||||
|
||||
l.outputs = lintOutputs{
|
||||
html: html,
|
||||
@@ -511,12 +511,12 @@ func lintZip(ctx android.BuilderContext, paths android.Paths, outputPath android
|
||||
return paths[i].String() < paths[j].String()
|
||||
})
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
rule.Command().BuiltTool(ctx, "soong_zip").
|
||||
rule.Command().BuiltTool("soong_zip").
|
||||
FlagWithOutput("-o ", outputPath).
|
||||
FlagWithArg("-C ", android.PathForIntermediates(ctx).String()).
|
||||
FlagWithRspFileInputList("-r ", paths)
|
||||
|
||||
rule.Build(pctx, ctx, outputPath.Base(), outputPath.Base())
|
||||
rule.Build(outputPath.Base(), outputPath.Base())
|
||||
}
|
||||
|
@@ -86,15 +86,15 @@ func (p *platformCompatConfigSingleton) GenerateBuildActions(ctx android.Singlet
|
||||
return
|
||||
}
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
outputPath := platformCompatConfigPath(ctx)
|
||||
|
||||
rule.Command().
|
||||
BuiltTool(ctx, "process-compat-config").
|
||||
BuiltTool("process-compat-config").
|
||||
FlagForEachInput("--xml ", compatConfigMetadata).
|
||||
FlagWithOutput("--merged-config ", outputPath)
|
||||
|
||||
rule.Build(pctx, ctx, "merged-compat-config", "Merge compat config")
|
||||
rule.Build("merged-compat-config", "Merge compat config")
|
||||
|
||||
p.metadata = outputPath
|
||||
}
|
||||
@@ -106,7 +106,7 @@ func (p *platformCompatConfigSingleton) MakeVars(ctx android.MakeVarsContext) {
|
||||
}
|
||||
|
||||
func (p *platformCompatConfig) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
configFileName := p.Name() + ".xml"
|
||||
metadataFileName := p.Name() + "_meta.xml"
|
||||
@@ -115,13 +115,13 @@ func (p *platformCompatConfig) GenerateAndroidBuildActions(ctx android.ModuleCon
|
||||
path := android.PathForModuleSrc(ctx, String(p.properties.Src))
|
||||
|
||||
rule.Command().
|
||||
BuiltTool(ctx, "process-compat-config").
|
||||
BuiltTool("process-compat-config").
|
||||
FlagWithInput("--jar ", path).
|
||||
FlagWithOutput("--device-config ", p.configFile).
|
||||
FlagWithOutput("--merged-config ", p.metadataFile)
|
||||
|
||||
p.installDirPath = android.PathForModuleInstall(ctx, "etc", "compatconfig")
|
||||
rule.Build(pctx, ctx, configFileName, "Extract compat/compat_config.xml and install it")
|
||||
rule.Build(configFileName, "Extract compat/compat_config.xml and install it")
|
||||
|
||||
}
|
||||
|
||||
|
@@ -34,7 +34,7 @@ func genProto(ctx android.ModuleContext, protoFiles android.Paths, flags android
|
||||
|
||||
outDir := srcJarFile.ReplaceExtension(ctx, "tmp")
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
rule.Command().Text("rm -rf").Flag(outDir.String())
|
||||
rule.Command().Text("mkdir -p").Flag(outDir.String())
|
||||
@@ -42,13 +42,13 @@ func genProto(ctx android.ModuleContext, protoFiles android.Paths, flags android
|
||||
for _, protoFile := range shard {
|
||||
depFile := srcJarFile.InSameDir(ctx, protoFile.String()+".d")
|
||||
rule.Command().Text("mkdir -p").Flag(filepath.Dir(depFile.String()))
|
||||
android.ProtoRule(ctx, rule, protoFile, flags, flags.Deps, outDir, depFile, nil)
|
||||
android.ProtoRule(rule, protoFile, flags, flags.Deps, outDir, depFile, nil)
|
||||
}
|
||||
|
||||
// Proto generated java files have an unknown package name in the path, so package the entire output directory
|
||||
// into a srcjar.
|
||||
rule.Command().
|
||||
BuiltTool(ctx, "soong_zip").
|
||||
BuiltTool("soong_zip").
|
||||
Flag("-jar").
|
||||
Flag("-write_if_changed").
|
||||
FlagWithOutput("-o ", srcJarFile).
|
||||
@@ -66,7 +66,7 @@ func genProto(ctx android.ModuleContext, protoFiles android.Paths, flags android
|
||||
ruleDesc += " " + strconv.Itoa(i)
|
||||
}
|
||||
|
||||
rule.Build(pctx, ctx, ruleName, ruleDesc)
|
||||
rule.Build(ruleName, ruleDesc)
|
||||
}
|
||||
|
||||
return srcJarFiles
|
||||
|
@@ -199,7 +199,7 @@ func (r *robolectricTest) GenerateAndroidBuildActions(ctx android.ModuleContext)
|
||||
|
||||
func generateRoboTestConfig(ctx android.ModuleContext, outputFile android.WritablePath,
|
||||
instrumentedApp *AndroidApp) {
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
manifest := instrumentedApp.mergedManifestFile
|
||||
resourceApk := instrumentedApp.outputFile
|
||||
@@ -213,11 +213,11 @@ func generateRoboTestConfig(ctx android.ModuleContext, outputFile android.Writab
|
||||
Implicit(manifest).
|
||||
Implicit(resourceApk)
|
||||
|
||||
rule.Build(pctx, ctx, "generate_test_config", "generate test_config.properties")
|
||||
rule.Build("generate_test_config", "generate test_config.properties")
|
||||
}
|
||||
|
||||
func generateSameDirRoboTestConfigJar(ctx android.ModuleContext, outputFile android.ModuleOutPath) {
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
outputDir := outputFile.InSameDir(ctx)
|
||||
configFile := outputDir.Join(ctx, "com/android/tools/test_config.properties")
|
||||
@@ -230,12 +230,12 @@ func generateSameDirRoboTestConfigJar(ctx android.ModuleContext, outputFile andr
|
||||
Textf(`echo "android_resource_apk=%s.apk"`, ctx.ModuleName()).
|
||||
Text(") >>").Output(configFile)
|
||||
rule.Command().
|
||||
BuiltTool(ctx, "soong_zip").
|
||||
BuiltTool("soong_zip").
|
||||
FlagWithArg("-C ", outputDir.String()).
|
||||
FlagWithInput("-f ", configFile).
|
||||
FlagWithOutput("-o ", outputFile)
|
||||
|
||||
rule.Build(pctx, ctx, "generate_test_config_samedir", "generate test_config.properties")
|
||||
rule.Build("generate_test_config_samedir", "generate test_config.properties")
|
||||
}
|
||||
|
||||
func (r *robolectricTest) generateRoboSrcJar(ctx android.ModuleContext, outputFile android.WritablePath,
|
||||
|
12
java/sdk.go
12
java/sdk.go
@@ -544,7 +544,7 @@ func createSdkFrameworkAidl(ctx android.SingletonContext) {
|
||||
|
||||
commitChangeForRestat(rule, tempPath, combinedAidl)
|
||||
|
||||
rule.Build(pctx, ctx, "framework_aidl", "generate framework.aidl")
|
||||
rule.Build("framework_aidl", "generate framework.aidl")
|
||||
}
|
||||
|
||||
// Creates a version of framework.aidl for the non-updatable part of the platform.
|
||||
@@ -558,7 +558,7 @@ func createNonUpdatableFrameworkAidl(ctx android.SingletonContext) {
|
||||
|
||||
commitChangeForRestat(rule, tempPath, combinedAidl)
|
||||
|
||||
rule.Build(pctx, ctx, "framework_non_updatable_aidl", "generate framework_non_updatable.aidl")
|
||||
rule.Build("framework_non_updatable_aidl", "generate framework_non_updatable.aidl")
|
||||
}
|
||||
|
||||
func createFrameworkAidl(stubsModules []string, path android.OutputPath, ctx android.SingletonContext) *android.RuleBuilder {
|
||||
@@ -586,7 +586,7 @@ func createFrameworkAidl(stubsModules []string, path android.OutputPath, ctx and
|
||||
}
|
||||
}
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
rule.MissingDeps(missingDeps)
|
||||
|
||||
var aidls android.Paths
|
||||
@@ -597,7 +597,7 @@ func createFrameworkAidl(stubsModules []string, path android.OutputPath, ctx and
|
||||
rule.Command().
|
||||
Text("rm -f").Output(aidl)
|
||||
rule.Command().
|
||||
BuiltTool(ctx, "sdkparcelables").
|
||||
BuiltTool("sdkparcelables").
|
||||
Input(jar).
|
||||
Output(aidl)
|
||||
|
||||
@@ -632,7 +632,7 @@ func nonUpdatableFrameworkAidlPath(ctx android.PathContext) android.OutputPath {
|
||||
func createAPIFingerprint(ctx android.SingletonContext) {
|
||||
out := ApiFingerprintPath(ctx)
|
||||
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
|
||||
rule.Command().
|
||||
Text("rm -f").Output(out)
|
||||
@@ -659,7 +659,7 @@ func createAPIFingerprint(ctx android.SingletonContext) {
|
||||
Output(out)
|
||||
}
|
||||
|
||||
rule.Build(pctx, ctx, "api_fingerprint", "generate api_fingerprint.txt")
|
||||
rule.Build("api_fingerprint", "generate api_fingerprint.txt")
|
||||
}
|
||||
|
||||
func ApiFingerprintPath(ctx android.PathContext) android.OutputPath {
|
||||
|
@@ -2176,12 +2176,12 @@ func (module *sdkLibraryXml) GenerateAndroidBuildActions(ctx android.ModuleConte
|
||||
xmlContent := fmt.Sprintf(permissionsTemplate, libName, module.implPath(ctx))
|
||||
|
||||
module.outputFilePath = android.PathForModuleOut(ctx, libName+".xml").OutputPath
|
||||
rule := android.NewRuleBuilder()
|
||||
rule := android.NewRuleBuilder(pctx, ctx)
|
||||
rule.Command().
|
||||
Text("/bin/bash -c \"echo -e '" + xmlContent + "'\" > ").
|
||||
Output(module.outputFilePath)
|
||||
|
||||
rule.Build(pctx, ctx, "java_sdk_xml", "Permission XML")
|
||||
rule.Build("java_sdk_xml", "Permission XML")
|
||||
|
||||
module.installDirPath = android.PathForModuleInstall(ctx, "etc", module.SubDir())
|
||||
}
|
||||
|
Reference in New Issue
Block a user