Enable reclient cache directory.
The cache directory stores files that should persist between builds. Currently it will contain reproxy.creds, which caches the authentication mechanism and token used to make subsequent builds faster. Test: m nothing build takes 7s Change-Id: Iaaa20b92630405918e5e91e09eca6c798b8fc872
This commit is contained in:
@@ -259,10 +259,16 @@ func Build(ctx Context, config Config) {
|
||||
startGoma(ctx, config)
|
||||
}
|
||||
|
||||
rbeCh := make(chan bool)
|
||||
if config.StartRBE() {
|
||||
cleanupRBELogsDir(ctx, config)
|
||||
startRBE(ctx, config)
|
||||
go func() {
|
||||
startRBE(ctx, config)
|
||||
close(rbeCh)
|
||||
}()
|
||||
defer DumpRBEMetrics(ctx, config, filepath.Join(config.LogsDir(), "rbe_metrics.pb"))
|
||||
} else {
|
||||
close(rbeCh)
|
||||
}
|
||||
|
||||
if what&RunProductConfig != 0 {
|
||||
@@ -315,11 +321,11 @@ func Build(ctx Context, config Config) {
|
||||
testForDanglingRules(ctx, config)
|
||||
}
|
||||
|
||||
<-rbeCh
|
||||
if what&RunNinja != 0 {
|
||||
if what&RunKati != 0 {
|
||||
installCleanIfNecessary(ctx, config)
|
||||
}
|
||||
|
||||
runNinjaForBuild(ctx, config)
|
||||
}
|
||||
|
||||
|
@@ -1374,6 +1374,15 @@ func (c *configImpl) rbeProxyLogsDir() string {
|
||||
return filepath.Join(buildTmpDir, "rbe")
|
||||
}
|
||||
|
||||
func (c *configImpl) rbeCacheDir() string {
|
||||
for _, f := range []string{"RBE_cache_dir", "FLAG_cache_dir"} {
|
||||
if v, ok := c.environ.Get(f); ok {
|
||||
return v
|
||||
}
|
||||
}
|
||||
return shared.JoinPath(c.SoongOutDir(), "rbe")
|
||||
}
|
||||
|
||||
func (c *configImpl) shouldCleanupRBELogsDir() bool {
|
||||
// Perform a log directory cleanup only when the log directory
|
||||
// is auto created by the build rather than user-specified.
|
||||
|
@@ -60,6 +60,7 @@ func getRBEVars(ctx Context, config Config) map[string]string {
|
||||
"RBE_exec_root": config.rbeExecRoot(),
|
||||
"RBE_output_dir": config.rbeProxyLogsDir(),
|
||||
"RBE_proxy_log_dir": config.rbeProxyLogsDir(),
|
||||
"RBE_cache_dir": config.rbeCacheDir(),
|
||||
"RBE_platform": "container-image=" + remoteexec.DefaultImage,
|
||||
}
|
||||
if config.StartRBE() {
|
||||
|
Reference in New Issue
Block a user