Add a new SingletonModule type

A SingletonModule is halfway between a Singleton and a Module.  It has
access to visiting other modules via its GenerateSingletonBuildActions
method, but must be defined in an Android.bp file and can also be
depended on like a module.

Bug: 176904285
Test: singleton_module_test.go
Change-Id: I1b2bfdfb3927c1eabf431c53213cb7c581e33ca4
This commit is contained in:
Colin Cross
2020-12-28 15:15:34 -08:00
parent 86cc40a74c
commit 9aed5bc715
7 changed files with 336 additions and 11 deletions

View File

@@ -20,7 +20,6 @@ import (
"html/template"
"io/ioutil"
"path/filepath"
"reflect"
"sort"
"github.com/google/blueprint/bootstrap"
@@ -97,12 +96,8 @@ func moduleTypeDocsToTemplates(moduleTypeList []*bpdoc.ModuleType) []moduleTypeT
}
func getPackages(ctx *android.Context) ([]*bpdoc.Package, error) {
moduleTypeFactories := android.ModuleTypeFactories()
bpModuleTypeFactories := make(map[string]reflect.Value)
for moduleType, factory := range moduleTypeFactories {
bpModuleTypeFactories[moduleType] = reflect.ValueOf(factory)
}
return bootstrap.ModuleTypeDocs(ctx.Context, bpModuleTypeFactories)
moduleTypeFactories := android.ModuleTypeFactoriesForDocs()
return bootstrap.ModuleTypeDocs(ctx.Context, moduleTypeFactories)
}
func writeDocs(ctx *android.Context, filename string) error {