Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 416201d0 authored by Liz Kammer's avatar Liz Kammer
Browse files

Make all defaults modules bazelable

Since these are not being converted directly, this has two primary
impacts:
* defaults modules will no longer appear as unconverted deps.
* defaults modules do not have to be marked individually, which should
  allow all defaults-based soong-config-modules to just convert as
  necessary.

Test: bp2build.sh
Change-Id: I44c99d5a51d1887a95c17dfdf956f91af671b2ea
parent b29852a3
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -92,6 +92,7 @@ func InitDefaultableModule(module DefaultableModule) {
	if module.base().module == nil {
		panic("InitAndroidModule must be called before InitDefaultableModule")
	}

	module.setProperties(module.GetProperties(), module.base().variableProperties)

	module.AddProperties(module.defaults())
@@ -118,6 +119,11 @@ type DefaultsVisibilityProperties struct {

type DefaultsModuleBase struct {
	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
@@ -160,6 +166,7 @@ func (d *DefaultsModuleBase) isDefaults() bool {
type DefaultsModule interface {
	Module
	Defaults
	Bazelable
}

func (d *DefaultsModuleBase) properties() []interface{} {
@@ -170,8 +177,7 @@ func (d *DefaultsModuleBase) productVariableProperties() interface{} {
	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
// *NOT* converted with bp2build
@@ -186,6 +192,8 @@ func InitDefaultsModule(module DefaultsModule) {
		&ApexProperties{},
		&distProperties{})

	// Bazel module must be initialized _before_ Defaults to be included in cc_defaults module.
	InitBazelModule(module)
	initAndroidModuleBase(module)
	initProductVariableModule(module)
	initArchModule(module)
+0 −6
Original line number Diff line number Diff line
@@ -3496,10 +3496,6 @@ func (c *Module) ConvertWithBp2build(ctx android.TopDownMutatorContext) {
type Defaults struct {
	android.ModuleBase
	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
}

@@ -3547,8 +3543,6 @@ func DefaultsFactory(props ...interface{}) android.Module {
		&prebuiltLinkerProperties{},
	)

	// Bazel module must be initialized _before_ Defaults to be included in cc_defaults module.
	android.InitBazelModule(module)
	android.InitDefaultsModule(module)

	return module