Skip creating variants for disabled OSes
The documentation java_genrule_host states that it creates a single variant, which would make it work with the single variant fallback in AddDependency used by the data property, but it actually has a host and a host-cross windows variant. Modify osMutator to take the OS-specific enabled properties into account to skip creating variants that will immediately be disabled so there is a single variant. Test: m checkbuild Change-Id: Ic2daab29f4fa3a3797d7a08348fbfcf1036ec5dc
This commit is contained in:
@@ -757,7 +757,7 @@ func osMutator(bpctx blueprint.BottomUpMutatorContext) {
|
||||
|
||||
for _, os := range OsTypeList {
|
||||
for _, t := range mctx.Config().Targets[os] {
|
||||
if base.supportsTarget(t) {
|
||||
if base.supportsTarget(t) && base.osEnabled(os) {
|
||||
moduleOSList = append(moduleOSList, os)
|
||||
break
|
||||
}
|
||||
@@ -1183,6 +1183,16 @@ func InitArchModule(m Module) {
|
||||
}
|
||||
base.archProperties = append(base.archProperties, archProperties)
|
||||
m.AddProperties(archProperties...)
|
||||
|
||||
// Special case the enabled property so the osMutator can skip creating variants that
|
||||
// are disabled.
|
||||
if properties == &base.enabledProperties {
|
||||
if len(archProperties) != 1 {
|
||||
panic(fmt.Errorf("expected a single arch-specific enabledProperties type, found %d",
|
||||
len(archProperties)))
|
||||
}
|
||||
base.archEnabledProperties = archProperties[0].(*archPropRoot)
|
||||
}
|
||||
}
|
||||
|
||||
base.customizableProperties = m.GetProperties()
|
||||
|
Reference in New Issue
Block a user