aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bootstrap/command.go1
-rw-r--r--context.go79
-rw-r--r--context_test.go74
3 files changed, 0 insertions, 154 deletions
diff --git a/bootstrap/command.go b/bootstrap/command.go
index 301f0e3..3071e3e 100644
--- a/bootstrap/command.go
+++ b/bootstrap/command.go
@@ -102,7 +102,6 @@ func RunBlueprint(args Args, stopBefore StopBefore, ctx *blueprint.Context, conf
ctx.RegisterBottomUpMutator("bootstrap_plugin_deps", pluginDeps)
ctx.RegisterSingletonType("bootstrap", newSingletonFactory(), false)
RegisterGoModuleTypes(ctx)
- blueprint.RegisterPackageIncludesModuleType(ctx)
ctx.BeginEvent("parse_bp")
if blueprintFiles, errs := ctx.ParseFileList(".", filesToParse, config); len(errs) > 0 {
diff --git a/context.go b/context.go
index 46f2985..1591b3c 100644
--- a/context.go
+++ b/context.go
@@ -812,43 +812,10 @@ type shouldVisitFileInfo struct {
// This should be processed before adding any modules to the build graph
func shouldVisitFile(c *Context, file *parser.File) shouldVisitFileInfo {
skippedModules := []string{}
- var blueprintPackageIncludes *PackageIncludes
for _, def := range file.Defs {
switch def := def.(type) {
case *parser.Module:
skippedModules = append(skippedModules, def.Name())
- if def.Type != "blueprint_package_includes" {
- continue
- }
- module, errs := processModuleDef(def, file.Name, c.moduleFactories, nil, c.ignoreUnknownModuleTypes)
- if len(errs) > 0 {
- // This file contains errors in blueprint_package_includes
- // Visit anyways so that we can report errors on other modules in the file
- return shouldVisitFileInfo{
- shouldVisitFile: true,
- errs: errs,
- }
- }
- logicModule, _ := c.cloneLogicModule(module)
- blueprintPackageIncludes = logicModule.(*PackageIncludes)
- }
- }
-
- if blueprintPackageIncludes != nil {
- packageMatches, err := blueprintPackageIncludes.matchesIncludeTags(c)
- if err != nil {
- return shouldVisitFileInfo{
- errs: []error{err},
- }
- } else if !packageMatches {
- return shouldVisitFileInfo{
- shouldVisitFile: false,
- skippedModules: skippedModules,
- reasonForSkip: fmt.Sprintf(
- "module is defined in %q which contains a blueprint_package_includes module with unsatisfied tags",
- file.Name,
- ),
- }
}
}
@@ -5214,52 +5181,6 @@ Singleton: {{.name}}
Factory: {{.goFactory}}
`
-// Blueprint module type that can be used to gate blueprint files beneath this directory
-type PackageIncludes struct {
- properties struct {
- // Package will be included if all include tags in this list are set
- Match_all []string
- }
- name *string `blueprint:"mutated"`
-}
-
-func (pi *PackageIncludes) Name() string {
- return proptools.String(pi.name)
-}
-
-// This module type does not have any build actions
-func (pi *PackageIncludes) GenerateBuildActions(ctx ModuleContext) {
-}
-
-func newPackageIncludesFactory() (Module, []interface{}) {
- module := &PackageIncludes{}
- AddLoadHook(module, func(ctx LoadHookContext) {
- module.name = proptools.StringPtr(ctx.ModuleDir() + "_includes") // Generate a synthetic name
- })
- return module, []interface{}{&module.properties}
-}
-
-func RegisterPackageIncludesModuleType(ctx *Context) {
- ctx.RegisterModuleType("blueprint_package_includes", newPackageIncludesFactory)
-}
-
-func (pi *PackageIncludes) MatchAll() []string {
- return pi.properties.Match_all
-}
-
-// Returns true if all requested include tags are set in the Context object
-func (pi *PackageIncludes) matchesIncludeTags(ctx *Context) (bool, error) {
- if len(pi.MatchAll()) == 0 {
- return false, ctx.ModuleErrorf(pi, "Match_all must be a non-empty list")
- }
- for _, includeTag := range pi.MatchAll() {
- if !ctx.ContainsIncludeTag(includeTag) {
- return false, nil
- }
- }
- return true, nil
-}
-
func JoinPath(base, path string) string {
if filepath.IsAbs(path) {
return path
diff --git a/context_test.go b/context_test.go
index e69f5da..d43b243 100644
--- a/context_test.go
+++ b/context_test.go
@@ -19,7 +19,6 @@ import (
"errors"
"fmt"
"hash/fnv"
- "path/filepath"
"reflect"
"strconv"
"strings"
@@ -1089,78 +1088,6 @@ func Test_parallelVisit(t *testing.T) {
})
}
-func TestPackageIncludes(t *testing.T) {
- dir1_foo_bp := `
- blueprint_package_includes {
- match_all: ["use_dir1"],
- }
- foo_module {
- name: "foo",
- }
- `
- dir2_foo_bp := `
- blueprint_package_includes {
- match_all: ["use_dir2"],
- }
- foo_module {
- name: "foo",
- }
- `
- mockFs := map[string][]byte{
- "dir1/Android.bp": []byte(dir1_foo_bp),
- "dir2/Android.bp": []byte(dir2_foo_bp),
- }
- testCases := []struct {
- desc string
- includeTags []string
- expectedDir string
- expectedErr string
- }{
- {
- desc: "use_dir1 is set, use dir1 foo",
- includeTags: []string{"use_dir1"},
- expectedDir: "dir1",
- },
- {
- desc: "use_dir2 is set, use dir2 foo",
- includeTags: []string{"use_dir2"},
- expectedDir: "dir2",
- },
- {
- desc: "duplicate module error if both use_dir1 and use_dir2 are set",
- includeTags: []string{"use_dir1", "use_dir2"},
- expectedDir: "",
- expectedErr: `module "foo" already defined`,
- },
- }
- for _, tc := range testCases {
- t.Run(tc.desc, func(t *testing.T) {
- ctx := NewContext()
- // Register mock FS
- ctx.MockFileSystem(mockFs)
- // Register module types
- ctx.RegisterModuleType("foo_module", newFooModule)
- RegisterPackageIncludesModuleType(ctx)
- // Add include tags for test case
- ctx.AddIncludeTags(tc.includeTags...)
- // Run test
- _, actualErrs := ctx.ParseFileList(".", []string{"dir1/Android.bp", "dir2/Android.bp"}, nil)
- // Evaluate
- if !strings.Contains(fmt.Sprintf("%s", actualErrs), fmt.Sprintf("%s", tc.expectedErr)) {
- t.Errorf("Expected errors: %s, got errors: %s\n", tc.expectedErr, actualErrs)
- }
- if tc.expectedErr != "" {
- return // expectedDir check not necessary
- }
- actualBpFile := ctx.moduleGroupFromName("foo", nil).modules.firstModule().relBlueprintsFile
- if tc.expectedDir != filepath.Dir(actualBpFile) {
- t.Errorf("Expected foo from %s, got %s\n", tc.expectedDir, filepath.Dir(actualBpFile))
- }
- })
- }
-
-}
-
func TestDeduplicateOrderOnlyDeps(t *testing.T) {
b := func(output string, inputs []string, orderOnlyDeps []string) *buildDef {
return &buildDef{
@@ -1532,7 +1459,6 @@ func TestSourceRootDirs(t *testing.T) {
ctx.RegisterModuleType("foo_module", newFooModule)
ctx.RegisterBottomUpMutator("deps", depsMutator)
ctx.AddSourceRootDirs(tc.sourceRootDirs...)
- RegisterPackageIncludesModuleType(ctx)
ctx.ParseFileList(".", fileList, nil)
_, actualErrs := ctx.ResolveDependencies(nil)