Remove the GeneratingPrimaryBuilder() method.
It's replaced with a flag in bootstrap.Args. It's a little bit ugly that
bootstrap.Main also gained a new Boolean flag in the process. The plan
is to delete that method in favor of directly calling RunBlueprint().
Test: "m nothing" (presubmits take a full workday these days)
Change-Id: Iae3421ae517a90570259b6278f18c3614bb1bb73
diff --git a/bootstrap/command.go b/bootstrap/command.go
index 93daee6..c5cfe61 100644
--- a/bootstrap/command.go
+++ b/bootstrap/command.go
@@ -32,21 +32,22 @@
)
type Args struct {
- OutFile string
- GlobFile string
- DepFile string
- DocFile string
- Cpuprofile string
- Memprofile string
- TraceFile string
- RunGoTests bool
- UseValidations bool
- NoGC bool
- EmptyNinjaFile bool
- BuildDir string
- ModuleListFile string
- NinjaBuildDir string
- TopFile string
+ OutFile string
+ GlobFile string
+ DepFile string
+ DocFile string
+ Cpuprofile string
+ Memprofile string
+ TraceFile string
+ RunGoTests bool
+ UseValidations bool
+ NoGC bool
+ EmptyNinjaFile bool
+ BuildDir string
+ ModuleListFile string
+ NinjaBuildDir string
+ TopFile string
+ GeneratingPrimaryBuilder bool
}
var (
@@ -85,7 +86,7 @@
flag.BoolVar(&cmdline.EmptyNinjaFile, "empty-ninja-file", false, "write out a 0-byte ninja file")
}
-func Main(ctx *blueprint.Context, config interface{}, extraNinjaFileDeps ...string) {
+func Main(ctx *blueprint.Context, config interface{}, generatingPrimaryBuilder bool, extraNinjaFileDeps ...string) {
if !flag.Parsed() {
flag.Parse()
}
@@ -95,6 +96,7 @@
}
cmdline.TopFile = flag.Arg(0)
+ cmdline.GeneratingPrimaryBuilder = generatingPrimaryBuilder
RunBlueprint(cmdline, ctx, config, extraNinjaFileDeps...)
}
@@ -143,10 +145,8 @@
buildDir := args.BuildDir
stage := StageMain
- if c, ok := config.(interface{ GeneratingPrimaryBuilder() bool }); ok {
- if c.GeneratingPrimaryBuilder() {
- stage = StagePrimary
- }
+ if args.GeneratingPrimaryBuilder {
+ stage = StagePrimary
}
bootstrapConfig := &Config{
diff --git a/bootstrap/minibp/main.go b/bootstrap/minibp/main.go
index bc77226..00ba865 100644
--- a/bootstrap/minibp/main.go
+++ b/bootstrap/minibp/main.go
@@ -23,18 +23,12 @@
)
var runAsPrimaryBuilder bool
-var buildPrimaryBuilder bool
func init() {
flag.BoolVar(&runAsPrimaryBuilder, "p", false, "run as a primary builder")
}
type Config struct {
- generatingPrimaryBuilder bool
-}
-
-func (c Config) GeneratingPrimaryBuilder() bool {
- return c.generatingPrimaryBuilder
}
func (c Config) SrcDir() string {
@@ -42,7 +36,7 @@
}
func (c Config) RemoveAbandonedFilesUnder(buildDir string) (under, exempt []string) {
- if c.generatingPrimaryBuilder {
+ if !runAsPrimaryBuilder {
under = []string{filepath.Join(buildDir, ".bootstrap")}
exempt = []string{filepath.Join(buildDir, ".bootstrap", "build.ninja")}
}
@@ -57,9 +51,6 @@
ctx.SetIgnoreUnknownModuleTypes(true)
}
- config := Config{
- generatingPrimaryBuilder: !runAsPrimaryBuilder,
- }
-
- bootstrap.Main(ctx, config)
+ config := Config{}
+ bootstrap.Main(ctx, config, !runAsPrimaryBuilder)
}