Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c8f6cc24 authored by Ramy Medhat's avatar Ramy Medhat
Browse files

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
parent 10361f51
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -259,10 +259,16 @@ func Build(ctx Context, config Config) {
		startGoma(ctx, config)
	}

	rbeCh := make(chan bool)
	if config.StartRBE() {
		cleanupRBELogsDir(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)
	}

+9 −0
Original line number Diff line number Diff line
@@ -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.
+1 −0
Original line number Diff line number Diff line
@@ -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() {