Allowlist apexer for bp2build
This also introduces a workaround for the fact that
apexer depends on aapt2, but aapt2 doesn't build
with bp2build yet. Aapt2 is removed from apexer's
requirements during bp2build.
Bug: 204244290
Test: ./build/bazel/ci/bp2build.sh
Change-Id: I837597ce035c7d5c06e1a3957166583a7a94b5c7
diff --git a/android/module.go b/android/module.go
index ad01e9e..2925081 100644
--- a/android/module.go
+++ b/android/module.go
@@ -1177,7 +1177,6 @@
data := &attrs.Data
- required := depsToLabelList(props.Required)
archVariantProps := mod.GetArchVariantProperties(ctx, &commonProperties{})
var enabledProperty bazel.BoolAttribute
@@ -1231,10 +1230,21 @@
}
}
+ required := depsToLabelList(props.Required)
for axis, configToProps := range archVariantProps {
for config, _props := range configToProps {
if archProps, ok := _props.(*commonProperties); ok {
- required.SetSelectValue(axis, config, depsToLabelList(archProps.Required).Value)
+ // TODO(b/234748998) Remove this requiredFiltered workaround when aapt2 converts successfully
+ requiredFiltered := archProps.Required
+ if name == "apexer" {
+ requiredFiltered = make([]string, 0, len(archProps.Required))
+ for _, req := range archProps.Required {
+ if req != "aapt2" && req != "apexer" {
+ requiredFiltered = append(requiredFiltered, req)
+ }
+ }
+ }
+ required.SetSelectValue(axis, config, depsToLabelList(requiredFiltered).Value)
if !neitherHostNorDevice {
if archProps.Enabled != nil {
if axis != bazel.OsConfigurationAxis || osSupport[config] {