bp2build: add allowlist for package-level conversions.

This CL adds the support for specifying lists of directories in
build/soong/android/bazel.go, which are then written into
out/soong/bp2build/MANIFEST. Using this configuration,
modules/directories can either default to bp2build_available: true or
false, while still retaining the ability to opt-in or out at the module level.

It also ensures that ConvertWithBp2Build returns true iff the module
type has a registered bp2build converter.

Test: go tests
Test: demo.sh full
Test: TreeHugger presubmits for bp2build and mixed builds.

Change-Id: I0e0f6f4b1b2ec045f2f1c338f7084defc5d23a55
This commit is contained in:
Jingwen Chen
2021-03-10 02:05:59 -05:00
parent dca349a782
commit 12b4c2706d
20 changed files with 409 additions and 57 deletions

View File

@@ -174,7 +174,13 @@ func (ctx *Context) RegisterForBazelConversion() {
t.register(ctx)
}
RegisterMutatorsForBazelConversion(ctx, bp2buildPreArchMutators, bp2buildDepsMutators, bp2buildMutators)
bp2buildMutatorList := []RegisterMutatorFunc{}
for t, f := range bp2buildMutators {
ctx.config.bp2buildModuleTypeConfig[t] = true
bp2buildMutatorList = append(bp2buildMutatorList, f)
}
RegisterMutatorsForBazelConversion(ctx, bp2buildPreArchMutators, bp2buildDepsMutators, bp2buildMutatorList)
}
// Register the pipeline of singletons, module types, and mutators for