Generate RBE socket address randomly for each invocation of soong.
Test: started soong multiple times and saw different socket files in out/soong/.temp Change-Id: Ib0087dd3867bdbf584c6868196070840cff291aa
This commit is contained in:
@@ -184,7 +184,8 @@ func NewConfig(ctx Context, args ...string) Config {
|
|||||||
// Tell python not to spam the source tree with .pyc files.
|
// Tell python not to spam the source tree with .pyc files.
|
||||||
ret.environ.Set("PYTHONDONTWRITEBYTECODE", "1")
|
ret.environ.Set("PYTHONDONTWRITEBYTECODE", "1")
|
||||||
|
|
||||||
ret.environ.Set("TMPDIR", absPath(ctx, ret.TempDir()))
|
tmpDir := absPath(ctx, ret.TempDir())
|
||||||
|
ret.environ.Set("TMPDIR", tmpDir)
|
||||||
|
|
||||||
// Always set ASAN_SYMBOLIZER_PATH so that ASAN-based tools can symbolize any crashes
|
// Always set ASAN_SYMBOLIZER_PATH so that ASAN-based tools can symbolize any crashes
|
||||||
symbolizerPath := filepath.Join("prebuilts/clang/host", ret.HostPrebuiltTag(),
|
symbolizerPath := filepath.Join("prebuilts/clang/host", ret.HostPrebuiltTag(),
|
||||||
@@ -258,6 +259,12 @@ func NewConfig(ctx Context, args ...string) Config {
|
|||||||
|
|
||||||
ret.environ.Set("BUILD_DATETIME_FILE", buildDateTimeFile)
|
ret.environ.Set("BUILD_DATETIME_FILE", buildDateTimeFile)
|
||||||
|
|
||||||
|
if ret.UseRBE() {
|
||||||
|
for k, v := range getRBEVars(ctx, tmpDir) {
|
||||||
|
ret.environ.Set(k, v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return Config{ret}
|
return Config{ret}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -15,8 +15,11 @@
|
|||||||
package build
|
package build
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
"math/rand"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
"time"
|
||||||
|
|
||||||
"android/soong/ui/metrics"
|
"android/soong/ui/metrics"
|
||||||
)
|
)
|
||||||
@@ -49,6 +52,11 @@ func rbeCommand(ctx Context, config Config, rbeCmd string) string {
|
|||||||
return cmdPath
|
return cmdPath
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getRBEVars(ctx Context, tmpDir string) map[string]string {
|
||||||
|
rand.Seed(time.Now().UnixNano())
|
||||||
|
return map[string]string{"RBE_server_address": fmt.Sprintf("unix://%v/reproxy_%v.sock", tmpDir, rand.Intn(1000))}
|
||||||
|
}
|
||||||
|
|
||||||
func startRBE(ctx Context, config Config) {
|
func startRBE(ctx Context, config Config) {
|
||||||
ctx.BeginTrace(metrics.RunSetupTool, "rbe_bootstrap")
|
ctx.BeginTrace(metrics.RunSetupTool, "rbe_bootstrap")
|
||||||
defer ctx.EndTrace()
|
defer ctx.EndTrace()
|
||||||
|
Reference in New Issue
Block a user