Revert "Detect invalid arch specific properties in snapshot"
Revert submission 1302576
Bug: 156054601
Reason for revert: Presumed root cause of build break.
Reverted Changes:
Ifc8116e11:Detect invalid arch specific properties in snapsho...
I7ebd33307:Adds support for 'ignored-on-host'
I167b47a13:Fix snapshot of a host/device cc_library with stub...
Change-Id: Id7eba0bdde5c579e10e9b42d94a7cfab5f34995f
diff --git a/sdk/update.go b/sdk/update.go
index bcc2c77..03a5c03 100644
--- a/sdk/update.go
+++ b/sdk/update.go
@@ -1225,9 +1225,6 @@
// The empty value for the field.
emptyValue reflect.Value
-
- // True if the property can support arch variants false otherwise.
- archVariant bool
}
func (p extractorProperty) String() string {
@@ -1306,7 +1303,6 @@
name,
fieldGetter,
reflect.Zero(field.Type),
- proptools.HasTag(field, "android", "arch_variant"),
}
e.properties = append(e.properties, property)
}
@@ -1374,16 +1370,10 @@
fieldGetter := property.getter
// Check to see if all the structures have the same value for the field. The commonValue
- // is nil on entry to the loop and if it is nil on exit then there is no common value or
- // all the values have been filtered out, otherwise it points to the common value.
+ // is nil on entry to the loop and if it is nil on exit then there is no common value,
+ // otherwise it points to the common value.
var commonValue *reflect.Value
- // Assume that all the values will be the same.
- //
- // While similar to this is not quite the same as commonValue == nil. If all the values
- // have been filtered out then this will be false but commonValue == nil will be true.
- valuesDiffer := false
-
for i := 0; i < sliceValue.Len(); i++ {
container := sliceValue.Index(i).Interface().(propertiesContainer)
itemValue := reflect.ValueOf(container.optimizableProperties())
@@ -1397,13 +1387,12 @@
// no value in common so break out.
if !reflect.DeepEqual(fieldValue.Interface(), commonValue.Interface()) {
commonValue = nil
- valuesDiffer = true
break
}
}
}
- // If the fields all have common value then store it in the common struct field
+ // If the fields all have a common value then store it in the common struct field
// and set the input struct's field to the empty value.
if commonValue != nil {
emptyValue := property.emptyValue
@@ -1415,21 +1404,6 @@
fieldValue.Set(emptyValue)
}
}
-
- if valuesDiffer && !property.archVariant {
- // The values differ but the property does not support arch variants so it
- // is an error.
- var details strings.Builder
- for i := 0; i < sliceValue.Len(); i++ {
- container := sliceValue.Index(i).Interface().(propertiesContainer)
- itemValue := reflect.ValueOf(container.optimizableProperties())
- fieldValue := fieldGetter(itemValue)
-
- _, _ = fmt.Fprintf(&details, "\n %q has value %q", container.String(), fieldValue.Interface())
- }
-
- return fmt.Errorf("field %q is not tagged as \"arch_variant\" but has arch specific properties:%s", property.String(), details.String())
- }
}
return nil