Merge "support PRODUCT_SOURCE_ROOT_DIRS product variable"

This commit is contained in:
Treehugger Robot
2023-03-29 17:04:37 +00:00
committed by Gerrit Code Review
8 changed files with 26 additions and 3 deletions

View File

@@ -1179,6 +1179,10 @@ func (c *config) ExportedNamespaces() []string {
return append([]string(nil), c.productVariables.NamespacesToExport...)
}
func (c *config) SourceRootDirs() []string {
return c.productVariables.SourceRootDirs
}
func (c *config) IncludeTags() []string {
return c.productVariables.IncludeTags
}

View File

@@ -225,6 +225,10 @@ func (r *NameResolver) NewModule(ctx blueprint.NamespaceContext, moduleGroup blu
return ns, nil
}
func (r *NameResolver) NewSkippedModule(ctx blueprint.NamespaceContext, name string, skipInfo blueprint.SkippedModuleInfo) {
r.rootNamespace.moduleContainer.NewSkippedModule(ctx, name, skipInfo)
}
func (r *NameResolver) AllModules() []blueprint.ModuleGroup {
childLists := [][]blueprint.ModuleGroup{}
totalCount := 0
@@ -300,7 +304,7 @@ func (r *NameResolver) FindNamespaceImports(namespace *Namespace) (err error) {
for _, name := range namespace.importedNamespaceNames {
imp, ok := r.namespaceAt(name)
if !ok {
return fmt.Errorf("namespace %v does not exist", name)
return fmt.Errorf("namespace %v does not exist; Some necessary modules may have been skipped by Soong. Check if PRODUCT_SOURCE_ROOT_DIRS is pruning necessary Android.bp files.", name)
}
namespace.visibleNamespaces = append(namespace.visibleNamespaces, imp)
}

View File

@@ -162,6 +162,7 @@ func NewContext(config Config) *Context {
ctx := &Context{blueprint.NewContext(), config}
ctx.SetSrcDir(absSrcDir)
ctx.AddIncludeTags(config.IncludeTags()...)
ctx.AddSourceRootDirs(config.SourceRootDirs()...)
return ctx
}

View File

@@ -461,7 +461,8 @@ type productVariables struct {
IgnorePrefer32OnDevice bool `json:",omitempty"`
IncludeTags []string `json:",omitempty"`
IncludeTags []string `json:",omitempty"`
SourceRootDirs []string `json:",omitempty"`
}
func boolPtr(v bool) *bool {

View File

@@ -105,6 +105,7 @@ func newContext(configuration android.Config) *android.Context {
ctx.SetNameInterface(newNameResolver(configuration))
ctx.SetAllowMissingDependencies(configuration.AllowMissingDependencies())
ctx.AddIncludeTags(configuration.IncludeTags()...)
ctx.AddSourceRootDirs(configuration.SourceRootDirs()...)
return ctx
}

View File

@@ -117,7 +117,8 @@ type configImpl struct {
bazelForceEnabledModules string
includeTags []string
includeTags []string
sourceRootDirs []string
// Data source to write ninja weight list
ninjaWeightListSource NinjaWeightListSource
@@ -1229,6 +1230,14 @@ func (c *configImpl) Parallel() int {
return c.parallel
}
func (c *configImpl) GetSourceRootDirs() []string {
return c.sourceRootDirs
}
func (c *configImpl) SetSourceRootDirs(i []string) {
c.sourceRootDirs = i
}
func (c *configImpl) GetIncludeTags() []string {
return c.includeTags
}

View File

@@ -148,6 +148,7 @@ var BannerVars = []string{
"PLATFORM_VERSION_CODENAME",
"PLATFORM_VERSION",
"PRODUCT_INCLUDE_TAGS",
"PRODUCT_SOURCE_ROOT_DIRS",
"TARGET_PRODUCT",
"TARGET_BUILD_VARIANT",
"TARGET_BUILD_APPS",
@@ -299,4 +300,5 @@ func runMakeProductConfig(ctx Context, config Config) {
config.SetBuildBrokenUsesNetwork(makeVars["BUILD_BROKEN_USES_NETWORK"] == "true")
config.SetBuildBrokenNinjaUsesEnvVars(strings.Fields(makeVars["BUILD_BROKEN_NINJA_USES_ENV_VARS"]))
config.SetIncludeTags(strings.Fields(makeVars["PRODUCT_INCLUDE_TAGS"]))
config.SetSourceRootDirs(strings.Fields(makeVars["PRODUCT_SOURCE_ROOT_DIRS"]))
}

View File

@@ -410,6 +410,7 @@ func bootstrapBlueprint(ctx Context, config Config) {
blueprintCtx := blueprint.NewContext()
blueprintCtx.AddIncludeTags(config.GetIncludeTags()...)
blueprintCtx.AddSourceRootDirs(config.GetSourceRootDirs()...)
blueprintCtx.SetIgnoreUnknownModuleTypes(true)
blueprintConfig := BlueprintConfig{
soongOutDir: config.SoongOutDir(),