bp2build: split full_cc_library into shared/static
Test: mixed_droid.sh in conjunction with rule changes Test: bp2build.sh Change-Id: If0577065fd39a0446eab16b62c15204d43207e19
This commit is contained in:
@@ -385,9 +385,12 @@ func (ll labelListSelectValues) addSelects(label labelSelectValues) {
|
||||
}
|
||||
}
|
||||
|
||||
func (ll labelListSelectValues) appendSelects(other labelListSelectValues) {
|
||||
func (ll labelListSelectValues) appendSelects(other labelListSelectValues, forceSpecifyEmptyList bool) {
|
||||
for k, v := range other {
|
||||
l := ll[k]
|
||||
if forceSpecifyEmptyList && l.IsNil() && !v.IsNil() {
|
||||
l.Includes = []Label{}
|
||||
}
|
||||
(&l).Append(v)
|
||||
ll[k] = l
|
||||
}
|
||||
@@ -443,17 +446,22 @@ func (cll configurableLabelLists) setValueForAxis(axis ConfigurationAxis, config
|
||||
cll[axis][config] = list
|
||||
}
|
||||
|
||||
func (cll configurableLabelLists) Append(other configurableLabelLists) {
|
||||
func (cll configurableLabelLists) Append(other configurableLabelLists, forceSpecifyEmptyList bool) {
|
||||
for axis, otherSelects := range other {
|
||||
selects := cll[axis]
|
||||
if selects == nil {
|
||||
selects = make(labelListSelectValues, len(otherSelects))
|
||||
}
|
||||
selects.appendSelects(otherSelects)
|
||||
selects.appendSelects(otherSelects, forceSpecifyEmptyList)
|
||||
cll[axis] = selects
|
||||
}
|
||||
}
|
||||
|
||||
func (lla *LabelListAttribute) Clone() *LabelListAttribute {
|
||||
result := &LabelListAttribute{ForceSpecifyEmptyList: lla.ForceSpecifyEmptyList}
|
||||
return result.Append(*lla)
|
||||
}
|
||||
|
||||
// MakeLabelListAttribute initializes a LabelListAttribute with the non-arch specific value.
|
||||
func MakeLabelListAttribute(value LabelList) LabelListAttribute {
|
||||
return LabelListAttribute{
|
||||
@@ -507,16 +515,18 @@ func (lla *LabelListAttribute) SortedConfigurationAxes() []ConfigurationAxis {
|
||||
}
|
||||
|
||||
// Append all values, including os and arch specific ones, from another
|
||||
// LabelListAttribute to this LabelListAttribute.
|
||||
func (lla *LabelListAttribute) Append(other LabelListAttribute) {
|
||||
if lla.ForceSpecifyEmptyList && !other.Value.IsNil() {
|
||||
// LabelListAttribute to this LabelListAttribute. Returns this LabelListAttribute.
|
||||
func (lla *LabelListAttribute) Append(other LabelListAttribute) *LabelListAttribute {
|
||||
forceSpecifyEmptyList := lla.ForceSpecifyEmptyList || other.ForceSpecifyEmptyList
|
||||
if forceSpecifyEmptyList && lla.Value.IsNil() && !other.Value.IsNil() {
|
||||
lla.Value.Includes = []Label{}
|
||||
}
|
||||
lla.Value.Append(other.Value)
|
||||
if lla.ConfigurableValues == nil {
|
||||
lla.ConfigurableValues = make(configurableLabelLists)
|
||||
}
|
||||
lla.ConfigurableValues.Append(other.ConfigurableValues)
|
||||
lla.ConfigurableValues.Append(other.ConfigurableValues, forceSpecifyEmptyList)
|
||||
return lla
|
||||
}
|
||||
|
||||
// Add inserts the labels for each axis of LabelAttribute at the end of corresponding axis's
|
||||
@@ -795,12 +805,18 @@ func (sla StringListAttribute) HasConfigurableValues() bool {
|
||||
|
||||
// Append appends all values, including os and arch specific ones, from another
|
||||
// StringListAttribute to this StringListAttribute
|
||||
func (sla *StringListAttribute) Append(other StringListAttribute) {
|
||||
func (sla *StringListAttribute) Append(other StringListAttribute) *StringListAttribute {
|
||||
sla.Value = append(sla.Value, other.Value...)
|
||||
if sla.ConfigurableValues == nil {
|
||||
sla.ConfigurableValues = make(configurableStringLists)
|
||||
}
|
||||
sla.ConfigurableValues.Append(other.ConfigurableValues)
|
||||
return sla
|
||||
}
|
||||
|
||||
func (sla *StringListAttribute) Clone() *StringListAttribute {
|
||||
result := &StringListAttribute{}
|
||||
return result.Append(*sla)
|
||||
}
|
||||
|
||||
// SetSelectValue set a value for a bazel select for the given axis, config and value.
|
||||
|
Reference in New Issue
Block a user