Add a Name property
Blueprint is going to abdicate responsibility for determining the name
of a module. Add a name property, and a method to retreive the name.
Test: build.ninja identical
Change-Id: I09c6f5283cd6e28ad4b04c24c5ab8b00f71ae2ab
diff --git a/android/defaults.go b/android/defaults.go
index 11ce099..df1409e 100644
--- a/android/defaults.go
+++ b/android/defaults.go
@@ -80,7 +80,20 @@
}
func InitDefaultsModule(module Module, d Defaults, props ...interface{}) (blueprint.Module, []interface{}) {
- return InitDefaultableModule(module, d, props...)
+ props = append(props,
+ &hostAndDeviceProperties{},
+ &commonProperties{},
+ &variableProperties{})
+
+ _, props = InitArchModule(module, props...)
+
+ _, props = InitDefaultableModule(module, d, props...)
+
+ props = append(props, &module.base().nameProperties)
+
+ module.base().module = module
+
+ return module, props
}
var _ Defaults = (*DefaultsModule)(nil)
diff --git a/android/module.go b/android/module.go
index 06f1fca..52280d2 100644
--- a/android/module.go
+++ b/android/module.go
@@ -99,9 +99,12 @@
InstallInData() bool
}
-type commonProperties struct {
+type nameProperties struct {
+ // The name of the module. Must be unique across all modules.
Name string
- Deps []string
+}
+
+type commonProperties struct {
Tags []string
// emit build rules for this module
@@ -177,7 +180,10 @@
base := m.base()
base.module = m
- propertyStructs = append(propertyStructs, &base.commonProperties, &base.variableProperties)
+ propertyStructs = append(propertyStructs,
+ &base.nameProperties,
+ &base.commonProperties,
+ &base.variableProperties)
return m, propertyStructs
}
@@ -250,6 +256,7 @@
// the thing pattern to good use.
module Module
+ nameProperties nameProperties
commonProperties commonProperties
variableProperties variableProperties
hostAndDeviceProperties hostAndDeviceProperties
@@ -270,6 +277,10 @@
hooks hooks
}
+func (a *ModuleBase) Name() string {
+ return a.nameProperties.Name
+}
+
func (a *ModuleBase) base() *ModuleBase {
return a
}