Update Soong docs generator for blueprint changes
bootstrap.ModuleTypeDocs needs a mapping of module types to factories
to support factories that are wrapped in ModuleFactoryAdapter closures.
It also returns ModuleType objects grouped into Package objects.
Bug: 67909957
Test: m soong_docs
Change-Id: I70eac9f0f0e13075580da92d4219792ca0b18fbf
diff --git a/android/register.go b/android/register.go
index 10e14fe..19745fe 100644
--- a/android/register.go
+++ b/android/register.go
@@ -20,7 +20,7 @@
type moduleType struct {
name string
- factory blueprint.ModuleFactory
+ factory ModuleFactory
}
var moduleTypes []moduleType
@@ -40,8 +40,6 @@
parallel bool
}
-var mutators []*mutator
-
type ModuleFactory func() Module
// ModuleFactoryAdaptor wraps a ModuleFactory into a blueprint.ModuleFactory by converting a Module
@@ -65,7 +63,7 @@
}
func RegisterModuleType(name string, factory ModuleFactory) {
- moduleTypes = append(moduleTypes, moduleType{name, ModuleFactoryAdaptor(factory)})
+ moduleTypes = append(moduleTypes, moduleType{name, factory})
}
func RegisterSingletonType(name string, factory SingletonFactory) {
@@ -90,7 +88,7 @@
}
for _, t := range moduleTypes {
- ctx.RegisterModuleType(t.name, t.factory)
+ ctx.RegisterModuleType(t.name, ModuleFactoryAdaptor(t.factory))
}
for _, t := range singletons {
@@ -105,3 +103,11 @@
// Register env last so that it can track all used environment variables
ctx.RegisterSingletonType("env", SingletonFactoryAdaptor(EnvSingleton))
}
+
+func ModuleTypeFactories() map[string]ModuleFactory {
+ ret := make(map[string]ModuleFactory)
+ for _, t := range moduleTypes {
+ ret[t.name] = t.factory
+ }
+ return ret
+}