Merge "Make all defaults modules bazelable"

This commit is contained in:
Treehugger Robot
2021-12-16 01:36:47 +00:00
committed by Gerrit Code Review
2 changed files with 10 additions and 8 deletions

View File

@@ -92,6 +92,7 @@ func InitDefaultableModule(module DefaultableModule) {
if module.base().module == nil { if module.base().module == nil {
panic("InitAndroidModule must be called before InitDefaultableModule") panic("InitAndroidModule must be called before InitDefaultableModule")
} }
module.setProperties(module.GetProperties(), module.base().variableProperties) module.setProperties(module.GetProperties(), module.base().variableProperties)
module.AddProperties(module.defaults()) module.AddProperties(module.defaults())
@@ -118,6 +119,11 @@ type DefaultsVisibilityProperties struct {
type DefaultsModuleBase struct { type DefaultsModuleBase struct {
DefaultableModuleBase DefaultableModuleBase
// Included to support setting bazel_module.label for multiple Soong modules to the same Bazel
// target. This is primarily useful for modules that were architecture specific and instead are
// handled in Bazel as a select().
BazelModuleBase
} }
// The common pattern for defaults modules is to register separate instances of // The common pattern for defaults modules is to register separate instances of
@@ -160,6 +166,7 @@ func (d *DefaultsModuleBase) isDefaults() bool {
type DefaultsModule interface { type DefaultsModule interface {
Module Module
Defaults Defaults
Bazelable
} }
func (d *DefaultsModuleBase) properties() []interface{} { func (d *DefaultsModuleBase) properties() []interface{} {
@@ -170,8 +177,7 @@ func (d *DefaultsModuleBase) productVariableProperties() interface{} {
return d.defaultableVariableProperties return d.defaultableVariableProperties
} }
func (d *DefaultsModuleBase) GenerateAndroidBuildActions(ctx ModuleContext) { func (d *DefaultsModuleBase) GenerateAndroidBuildActions(ctx ModuleContext) {}
}
// ConvertWithBp2build to fulfill Bazelable interface; however, at this time defaults module are // ConvertWithBp2build to fulfill Bazelable interface; however, at this time defaults module are
// *NOT* converted with bp2build // *NOT* converted with bp2build
@@ -186,6 +192,8 @@ func InitDefaultsModule(module DefaultsModule) {
&ApexProperties{}, &ApexProperties{},
&distProperties{}) &distProperties{})
// Bazel module must be initialized _before_ Defaults to be included in cc_defaults module.
InitBazelModule(module)
initAndroidModuleBase(module) initAndroidModuleBase(module)
initProductVariableModule(module) initProductVariableModule(module)
initArchModule(module) initArchModule(module)

View File

@@ -3496,10 +3496,6 @@ func (c *Module) ConvertWithBp2build(ctx android.TopDownMutatorContext) {
type Defaults struct { type Defaults struct {
android.ModuleBase android.ModuleBase
android.DefaultsModuleBase android.DefaultsModuleBase
// Included to support setting bazel_module.label for multiple Soong modules to the same Bazel
// target. This is primarily useful for modules that were architecture specific and instead are
// handled in Bazel as a select().
android.BazelModuleBase
android.ApexModuleBase android.ApexModuleBase
} }
@@ -3547,8 +3543,6 @@ func DefaultsFactory(props ...interface{}) android.Module {
&prebuiltLinkerProperties{}, &prebuiltLinkerProperties{},
) )
// Bazel module must be initialized _before_ Defaults to be included in cc_defaults module.
android.InitBazelModule(module)
android.InitDefaultsModule(module) android.InitDefaultsModule(module)
return module return module