Merge "Don't add dependencies on modules referenced in unused arch variants"

am: 1f74135f97

Change-Id: Id27103a3513985e325fca47215ca85b77aaf8c52
This commit is contained in:
Colin Cross 2019-03-19 01:17:57 -07:00 committed by android-build-merger
commit 577ef51ca7
3 changed files with 24 additions and 6 deletions

View file

@ -383,6 +383,7 @@ func InitAndroidModule(m Module) {
&base.nameProperties,
&base.commonProperties,
&base.variableProperties)
base.generalProperties = m.GetProperties()
base.customizableProperties = m.GetProperties()
}

View file

@ -33,7 +33,7 @@ func pathDepsMutator(ctx BottomUpMutatorContext) {
return
}
props := m.base().customizableProperties
props := m.base().generalProperties
for _, ps := range props {
pathProperties := pathPropertiesForPropertyStruct(ctx, ps)

View file

@ -25,7 +25,7 @@ type pathDepsMutatorTestModule struct {
ModuleBase
props struct {
Foo string `android:"path"`
Bar []string `android:"path"`
Bar []string `android:"path,arch_variant"`
Baz *string `android:"path"`
Qux string
}
@ -36,7 +36,7 @@ type pathDepsMutatorTestModule struct {
func pathDepsMutatorTestModuleFactory() Module {
module := &pathDepsMutatorTestModule{}
module.AddProperties(&module.props)
InitAndroidModule(module)
InitAndroidArchModule(module, DeviceSupported, MultilibBoth)
return module
}
@ -64,6 +64,23 @@ func TestPathDepsMutator(t *testing.T) {
}`,
deps: []string{"a", "b", "c"},
},
{
name: "arch variant",
bp: `
test {
name: "foo",
arch: {
arm64: {
bar: [":a"],
},
arm: {
bar: [":b"],
},
},
bar: [":c"],
}`,
deps: []string{"c", "a"},
},
}
buildDir, err := ioutil.TempDir("", "soong_path_properties_test")
@ -74,8 +91,8 @@ func TestPathDepsMutator(t *testing.T) {
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
config := TestConfig(buildDir, nil)
ctx := NewTestContext()
config := TestArchConfig(buildDir, nil)
ctx := NewTestArchContext()
ctx.RegisterModuleType("test", ModuleFactoryAdaptor(pathDepsMutatorTestModuleFactory))
ctx.RegisterModuleType("filegroup", ModuleFactoryAdaptor(FileGroupFactory))
@ -110,7 +127,7 @@ func TestPathDepsMutator(t *testing.T) {
_, errs = ctx.PrepareBuildActions(config)
FailIfErrored(t, errs)
m := ctx.ModuleForTests("foo", "").Module().(*pathDepsMutatorTestModule)
m := ctx.ModuleForTests("foo", "android_arm64_armv8-a").Module().(*pathDepsMutatorTestModule)
if g, w := m.sourceDeps, test.deps; !reflect.DeepEqual(g, w) {
t.Errorf("want deps %q, got %q", w, g)