Merge "allow specifying remote caching opt for rewrapper" into main am: 80117e6c4f am: 7eb74575b5 am: 45cbc5dea1

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2838517

Change-Id: Ia0d3b5c647bb081794f83aa268a1615f54368d4c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Anas Sulaiman 2023-11-29 19:16:19 +00:00 committed by Automerger Merge Worker
commit ea5c7509d2
2 changed files with 16 additions and 9 deletions

View file

@ -19,7 +19,6 @@ import (
"path/filepath"
"regexp"
"sort"
"strconv"
"strings"
"github.com/google/blueprint/proptools"
@ -500,18 +499,20 @@ func metalavaCmd(ctx android.ModuleContext, rule *android.RuleBuilder, javaVersi
if metalavaUseRbe(ctx) {
rule.Remoteable(android.RemoteRuleSupports{RBE: true})
execStrategy := ctx.Config().GetenvWithDefault("RBE_METALAVA_EXEC_STRATEGY", remoteexec.LocalExecStrategy)
compare, _ := strconv.ParseBool(ctx.Config().GetenvWithDefault("RBE_METALAVA_COMPARE", "false"))
compare := ctx.Config().IsEnvTrue("RBE_METALAVA_COMPARE")
remoteUpdateCache := !ctx.Config().IsEnvFalse("RBE_METALAVA_REMOTE_UPDATE_CACHE")
labels := map[string]string{"type": "tool", "name": "metalava"}
// TODO: metalava pool rejects these jobs
pool := ctx.Config().GetenvWithDefault("RBE_METALAVA_POOL", "java16")
rule.Rewrapper(&remoteexec.REParams{
Labels: labels,
ExecStrategy: execStrategy,
ToolchainInputs: []string{config.JavaCmd(ctx).String()},
Platform: map[string]string{remoteexec.PoolKey: pool},
Compare: compare,
NumLocalRuns: 1,
NumRemoteRuns: 1,
Labels: labels,
ExecStrategy: execStrategy,
ToolchainInputs: []string{config.JavaCmd(ctx).String()},
Platform: map[string]string{remoteexec.PoolKey: pool},
Compare: compare,
NumLocalRuns: 1,
NumRemoteRuns: 1,
NoRemoteUpdateCache: !remoteUpdateCache,
})
}

View file

@ -91,6 +91,8 @@ type REParams struct {
NumLocalRuns int
// Number of times the action should be rerun remotely.
NumRemoteRuns int
// Boolean indicating whether to update remote cache entry. Rewrapper defaults to true, so the name is negated here.
NoRemoteUpdateCache bool
}
func init() {
@ -146,6 +148,10 @@ func (r *REParams) wrapperArgs() string {
args += fmt.Sprintf(" --compare=true --num_local_reruns=%d --num_remote_reruns=%d", r.NumLocalRuns, r.NumRemoteRuns)
}
if r.NoRemoteUpdateCache {
args += " --remote_update_cache=false"
}
if len(r.Inputs) > 0 {
args += " --inputs=" + strings.Join(r.Inputs, ",")
}