Set default pool when RBE or goma is enabled

Pass --default_pool=local_pool to kati when RBE or goma is enabled
to put most rules into the local_pool.  Specific rules that support
RBE or goma will set .KATI_NINJA_POOL := none to remove themselves
from the local_pool.  Passing --default_pool will also disable the
hack in kati that sets the pool based on the presence of the string
"/gomacc" in the command line.

Fixes: 143938974
Test: inspect pools in build-${TARGET-PRODUCT}.ninja for m USE_RBE=true
Test: inspect pools in build-${TARGET-PRODUCT}.ninja for m USE_GOMA=true
Change-Id: I839b2488383fcd63fffd613e25b0b9abcb72b567
This commit is contained in:
Colin Cross 2019-11-11 14:57:42 -08:00
parent 2d5ce8538b
commit 9016b91290
3 changed files with 9 additions and 1 deletions

View File

@ -767,6 +767,10 @@ func (c *configImpl) StartRBE() bool {
return true
}
func (c *configImpl) UseRemoteBuild() bool {
return c.UseGoma() || c.UseRBE()
}
// RemoteParallel controls how many remote jobs (i.e., commands which contain
// gomacc) are run in parallel. Note the parallelism of all other jobs is
// still limited by Parallel()

View File

@ -89,6 +89,10 @@ func runKati(ctx Context, config Config, extraSuffix string, args []string, envF
args = append(args, "--empty_ninja_file")
}
if config.UseRemoteBuild() {
args = append(args, "--default_pool=local_pool")
}
cmd := Command(ctx, config, "ckati", executable, args...)
cmd.Sandbox = katiSandbox
pipe, err := cmd.StdoutPipe()

View File

@ -43,7 +43,7 @@ func runNinja(ctx Context, config Config) {
args = append(args, config.NinjaArgs()...)
var parallel int
if config.UseGoma() || config.UseRBE() {
if config.UseRemoteBuild() {
parallel = config.RemoteParallel()
} else {
parallel = config.Parallel()