Add support for remote-execution / caching of signapk actions
Test: "RBE_SIGNAPK=true RBE_SIGNAPK_EXEC_STRATEGY=remote ... use_rbe m" on crosshatch-userdebug and
signapk targets worked
Bug: b/156765091
Change-Id: I4b8c21320c2f38914ef39d3d8f036d885fab4e72
diff --git a/apex/builder.go b/apex/builder.go
index 11652bc..a6a347b 100644
--- a/apex/builder.go
+++ b/apex/builder.go
@@ -582,19 +582,27 @@
}
a.outputFile = android.PathForModuleOut(ctx, a.Name()+suffix)
+ rule := java.Signapk
+ args := map[string]string{
+ "certificates": a.container_certificate_file.String() + " " + a.container_private_key_file.String(),
+ "flags": "-a 4096", //alignment
+ }
+ implicits := android.Paths{
+ a.container_certificate_file,
+ a.container_private_key_file,
+ }
+ if ctx.Config().IsEnvTrue("RBE_SIGNAPK") {
+ rule = java.SignapkRE
+ args["implicits"] = strings.Join(implicits.Strings(), ",")
+ args["outCommaList"] = a.outputFile.String()
+ }
ctx.Build(pctx, android.BuildParams{
- Rule: java.Signapk,
+ Rule: rule,
Description: "signapk",
Output: a.outputFile,
Input: unsignedOutputFile,
- Implicits: []android.Path{
- a.container_certificate_file,
- a.container_private_key_file,
- },
- Args: map[string]string{
- "certificates": a.container_certificate_file.String() + " " + a.container_private_key_file.String(),
- "flags": "-a 4096", //alignment
- },
+ Implicits: implicits,
+ Args: args,
})
// Install to $OUT/soong/{target,host}/.../apex