Remove global variables from Blueprint.

The end goal of this exercise is to remove all mutable global state so
that multiple Blueprint instances can be run in the same process.

Test: Presubmit.
Change-Id: Idb34b0920f2c7d92efb9328ce8a78b7306f89571
This commit is contained in:
Lukacs T. Berki
2021-03-12 08:31:32 +01:00
parent 3abc174cfd
commit 89e9a16ebd
3 changed files with 13 additions and 5 deletions

View File

@@ -68,6 +68,14 @@ func (c Config) BuildDir() string {
return c.buildDir
}
func (c Config) NinjaBuildDir() string {
return c.buildDir
}
func (c Config) SrcDir() string {
return c.srcDir
}
// A DeviceConfig object represents the configuration for a particular device
// being built. For now there will only be one of these, but in the future there
// may be multiple devices being built.

View File

@@ -158,7 +158,7 @@ func main() {
}
if docFile != "" {
if err := writeDocs(ctx, docFile); err != nil {
if err := writeDocs(ctx, configuration, docFile); err != nil {
fmt.Fprintf(os.Stderr, "%s", err)
os.Exit(1)
}

View File

@@ -95,13 +95,13 @@ func moduleTypeDocsToTemplates(moduleTypeList []*bpdoc.ModuleType) []moduleTypeT
return result
}
func getPackages(ctx *android.Context) ([]*bpdoc.Package, error) {
func getPackages(ctx *android.Context, config interface{}) ([]*bpdoc.Package, error) {
moduleTypeFactories := android.ModuleTypeFactoriesForDocs()
return bootstrap.ModuleTypeDocs(ctx.Context, moduleTypeFactories)
return bootstrap.ModuleTypeDocs(ctx.Context, config, moduleTypeFactories)
}
func writeDocs(ctx *android.Context, filename string) error {
packages, err := getPackages(ctx)
func writeDocs(ctx *android.Context, config interface{}, filename string) error {
packages, err := getPackages(ctx, config)
if err != nil {
return err
}