|
@@ -709,24 +709,29 @@ func (t *topDownMutatorContext) CreateBazelTargetModuleWithRestrictions(
|
|
|
// module and returns it as a list of keyed tags.
|
|
|
func ApexAvailableTags(mod Module) bazel.StringListAttribute {
|
|
|
attr := bazel.StringListAttribute{}
|
|
|
- tags := []string{}
|
|
|
// Transform specific attributes into tags.
|
|
|
if am, ok := mod.(ApexModule); ok {
|
|
|
// TODO(b/218841706): hidl_interface has the apex_available prop, but it's
|
|
|
// defined directly as a prop and not via ApexModule, so this doesn't
|
|
|
// pick those props up.
|
|
|
- // TODO(b/260694842): This does not pick up aidl_interface.backend.ndk.apex_available.
|
|
|
- for _, a := range am.apexModuleBase().ApexAvailable() {
|
|
|
- tags = append(tags, "apex_available="+a)
|
|
|
- }
|
|
|
- }
|
|
|
- if len(tags) > 0 {
|
|
|
- // This avoids creating a tags attr with an empty list if there are no tags.
|
|
|
- attr.Value = tags
|
|
|
+ attr.Value = ConvertApexAvailableToTags(am.apexModuleBase().ApexAvailable())
|
|
|
}
|
|
|
return attr
|
|
|
}
|
|
|
|
|
|
+func ConvertApexAvailableToTags(apexAvailable []string) []string {
|
|
|
+ if len(apexAvailable) == 0 {
|
|
|
+ // We need nil specifically to make bp2build not add the tags property at all,
|
|
|
+ // instead of adding it with an empty list
|
|
|
+ return nil
|
|
|
+ }
|
|
|
+ result := make([]string, 0, len(apexAvailable))
|
|
|
+ for _, a := range apexAvailable {
|
|
|
+ result = append(result, "apex_available="+a)
|
|
|
+ }
|
|
|
+ return result
|
|
|
+}
|
|
|
+
|
|
|
func (t *topDownMutatorContext) createBazelTargetModule(
|
|
|
bazelProps bazel.BazelTargetModuleProperties,
|
|
|
commonAttrs CommonAttributes,
|