diff options
author | Kousik Kumar <kousikk@google.com> | 2020-05-28 06:13:33 -0700 |
---|---|---|
committer | Kousik Kumar <kousikk@google.com> | 2020-05-30 19:58:58 +0000 |
commit | 15e9d0dbf8717d1224370c513fdaf733f6b3d456 (patch) | |
tree | 07ecd9ad96b14fd7824dc06d4280e20da5bd9e3c /java/app_builder.go | |
parent | d8c3955119306a550e32b0103f51289dcbd4e2db (diff) | |
download | build_soong-15e9d0dbf8717d1224370c513fdaf733f6b3d456.tar.gz build_soong-15e9d0dbf8717d1224370c513fdaf733f6b3d456.tar.bz2 build_soong-15e9d0dbf8717d1224370c513fdaf733f6b3d456.zip |
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
Merged-In: I4b8c21320c2f38914ef39d3d8f036d885fab4e72
Diffstat (limited to 'java/app_builder.go')
-rw-r--r-- | java/app_builder.go | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/java/app_builder.go b/java/app_builder.go index 967c55fc..acc02f26 100644 --- a/java/app_builder.go +++ b/java/app_builder.go @@ -26,16 +26,23 @@ import ( "github.com/google/blueprint/proptools" "android/soong/android" + "android/soong/remoteexec" ) var ( - Signapk = pctx.AndroidStaticRule("signapk", + Signapk, SignapkRE = remoteexec.StaticRules(pctx, "signapk", blueprint.RuleParams{ - Command: `${config.JavaCmd} ${config.JavaVmFlags} -Djava.library.path=$$(dirname ${config.SignapkJniLibrary}) ` + + Command: `$reTemplate${config.JavaCmd} ${config.JavaVmFlags} -Djava.library.path=$$(dirname ${config.SignapkJniLibrary}) ` + `-jar ${config.SignapkCmd} $flags $certificates $in $out`, CommandDeps: []string{"${config.SignapkCmd}", "${config.SignapkJniLibrary}"}, }, - "flags", "certificates") + &remoteexec.REParams{Labels: map[string]string{"type": "tool", "name": "signapk"}, + ExecStrategy: "${config.RESignApkExecStrategy}", + Inputs: []string{"${config.SignapkCmd}", "$in", "$$(dirname ${config.SignapkJniLibrary})", "$implicits"}, + OutputFiles: []string{"$outCommaList"}, + ToolchainInputs: []string{"${config.JavaCmd}"}, + Platform: map[string]string{remoteexec.PoolKey: "${config.REJavaPool}"}, + }, []string{"flags", "certificates"}, []string{"implicits", "outCommaList"}) ) var combineApk = pctx.AndroidStaticRule("combineApk", @@ -90,16 +97,23 @@ func SignAppPackage(ctx android.ModuleContext, signedApk android.WritablePath, u deps = append(deps, lineageFile) } + rule := Signapk + args := map[string]string{ + "certificates": strings.Join(certificateArgs, " "), + "flags": strings.Join(flags, " "), + } + if ctx.Config().IsEnvTrue("RBE_SIGNAPK") { + rule = SignapkRE + args["implicits"] = strings.Join(deps.Strings(), ",") + args["outCommaList"] = strings.Join(outputFiles.Strings(), ",") + } ctx.Build(pctx, android.BuildParams{ - Rule: Signapk, + Rule: rule, Description: "signapk", Outputs: outputFiles, Input: unsignedApk, Implicits: deps, - Args: map[string]string{ - "certificates": strings.Join(certificateArgs, " "), - "flags": strings.Join(flags, " "), - }, + Args: args, }) } |