Merge "Remove EnforceRROExemptedTargets" am: f0a869847a am: 7a7c1491c4

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/1596231

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic7fc17dd2f173a1e28509012b4eb7c8bc3872c43
This commit is contained in:
Treehugger Robot
2021-02-20 03:24:59 +00:00
committed by Automerger Merge Worker
4 changed files with 21 additions and 52 deletions

View File

@@ -160,8 +160,8 @@ func (a *aapt) SetRROEnforcedForDependent(enforce bool) {
func (a *aapt) IsRROEnforced(ctx android.BaseModuleContext) bool {
// True if RRO is enforced for this module or...
return ctx.Config().EnforceRROForModule(ctx.ModuleName()) ||
// if RRO is enforced for any of its dependents, and this module is not exempted.
(a.aaptProperties.RROEnforcedForDependent && !ctx.Config().EnforceRROExemptedForModule(ctx.ModuleName()))
// if RRO is enforced for any of its dependents.
a.aaptProperties.RROEnforcedForDependent
}
func (a *aapt) aapt2Flags(ctx android.ModuleContext, sdkContext sdkContext,
@@ -443,16 +443,14 @@ func aaptLibs(ctx android.ModuleContext, sdkContext sdkContext, classLoaderConte
assets = append(assets, aarDep.ExportedAssets().Path())
}
if !ctx.Config().EnforceRROExemptedForModule(ctx.ModuleName()) {
outer:
for _, d := range aarDep.ExportedRRODirs() {
for _, e := range staticRRODirs {
if d.path == e.path {
continue outer
}
outer:
for _, d := range aarDep.ExportedRRODirs() {
for _, e := range staticRRODirs {
if d.path == e.path {
continue outer
}
staticRRODirs = append(staticRRODirs, d)
}
staticRRODirs = append(staticRRODirs, d)
}
}
}

View File

@@ -263,47 +263,34 @@ func TestOverrideRuntimeResourceOverlay(t *testing.T) {
func TestEnforceRRO_propagatesToDependencies(t *testing.T) {
testCases := []struct {
name string
enforceRROTargets []string
enforceRROExemptTargets []string
rroDirs map[string][]string
name string
enforceRROTargets []string
rroDirs map[string][]string
}{
{
name: "no RRO",
enforceRROTargets: nil,
enforceRROExemptTargets: nil,
name: "no RRO",
enforceRROTargets: nil,
rroDirs: map[string][]string{
"foo": nil,
"bar": nil,
},
},
{
name: "enforce RRO on all",
enforceRROTargets: []string{"*"},
enforceRROExemptTargets: nil,
name: "enforce RRO on all",
enforceRROTargets: []string{"*"},
rroDirs: map[string][]string{
"foo": {"product/vendor/blah/overlay/lib2/res"},
"bar": {"product/vendor/blah/overlay/lib2/res"},
},
},
{
name: "enforce RRO on foo",
enforceRROTargets: []string{"foo"},
enforceRROExemptTargets: nil,
name: "enforce RRO on foo",
enforceRROTargets: []string{"foo"},
rroDirs: map[string][]string{
"foo": {"product/vendor/blah/overlay/lib2/res"},
"bar": {"product/vendor/blah/overlay/lib2/res"},
},
},
{
name: "enforce RRO on foo, bar exempted",
enforceRROTargets: []string{"foo"},
enforceRROExemptTargets: []string{"bar"},
rroDirs: map[string][]string{
"foo": {"product/vendor/blah/overlay/lib2/res"},
"bar": nil,
},
},
}
productResourceOverlays := []string{
@@ -351,9 +338,6 @@ func TestEnforceRRO_propagatesToDependencies(t *testing.T) {
if testCase.enforceRROTargets != nil {
config.TestProductVariables.EnforceRROTargets = testCase.enforceRROTargets
}
if testCase.enforceRROExemptTargets != nil {
config.TestProductVariables.EnforceRROExemptedTargets = testCase.enforceRROExemptTargets
}
ctx := testContext(config)
run(t, ctx, config)