Deprecate USE_GOMA and replace with FORCE_USE_GOMA

Bug: b/163361527
Test: Ran builds with USE_GOMA / FORCE_USE_GOMA flags
Change-Id: I67b229fbf52e913b0c4f5e7932021132ddc0598f
Merged-In: I67b229fbf52e913b0c4f5e7932021132ddc0598f
This commit is contained in:
Kousik Kumar 2020-09-21 13:39:24 -04:00 committed by Patrice Arruda
parent 3f4bdf5015
commit dbe59cdd81
3 changed files with 24 additions and 11 deletions

View File

@ -123,7 +123,6 @@ func main() {
rbeMetricsFile := filepath.Join(logsDir, logsPrefix+"rbe_metrics.pb")
soongMetricsFile := filepath.Join(logsDir, logsPrefix+"soong_metrics")
defer build.UploadMetrics(buildCtx, config, simpleOutput, buildStarted, buildErrorFile, rbeMetricsFile, soongMetricsFile)
defer build.PrintGomaDeprecation(buildCtx, config)
os.MkdirAll(logsDir, 0777)

View File

@ -26,6 +26,7 @@ import (
"time"
"android/soong/shared"
"github.com/golang/protobuf/proto"
smpb "android/soong/ui/metrics/metrics_proto"
@ -153,6 +154,17 @@ func NewConfig(ctx Context, args ...string) Config {
"EMPTY_NINJA_FILE",
)
if ret.UseGoma() {
ctx.Println("Goma for Android is being deprecated and replaced with RBE. See go/rbe_for_android for instructions on how to use RBE.")
ctx.Println()
ctx.Println("See go/goma_android_exceptions for exceptions.")
ctx.Fatalln("USE_GOMA flag is no longer supported.")
}
if ret.ForceUseGoma() {
ret.environ.Set("USE_GOMA", "true")
}
// Tell python not to spam the source tree with .pyc files.
ret.environ.Set("PYTHONDONTWRITEBYTECODE", "1")
@ -494,6 +506,18 @@ func (c *configImpl) Parallel() int {
return c.parallel
}
// ForceUseGoma determines whether we should override Goma deprecation
// and use Goma for the current build or not.
func (c *configImpl) ForceUseGoma() bool {
if v, ok := c.environ.Get("FORCE_USE_GOMA"); ok {
v = strings.TrimSpace(v)
if v != "" && v != "false" {
return true
}
}
return false
}
func (c *configImpl) UseGoma() bool {
if v, ok := c.environ.Get("USE_GOMA"); ok {
v = strings.TrimSpace(v)

View File

@ -128,13 +128,3 @@ func DumpRBEMetrics(ctx Context, config Config, filename string) {
ctx.Fatalf("failed to copy %q to %q: %v\n", metricsFile, filename, err)
}
}
// PrintGomaDeprecation prints a PSA on the deprecation of Goma if it is set for the build.
func PrintGomaDeprecation(ctx Context, config Config) {
if config.UseGoma() {
fmt.Fprintln(ctx.Writer, "")
fmt.Fprintln(ctx.Writer, "Goma for Android is being deprecated and replaced with RBE.")
fmt.Fprintln(ctx.Writer, "See go/goma_android_deprecation for more details.")
fmt.Fprintln(ctx.Writer, "")
}
}