Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1f74135f authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

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

parents bdb1ed82 a3a97415
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -383,6 +383,7 @@ func InitAndroidModule(m Module) {
		&base.nameProperties,
		&base.commonProperties,
		&base.variableProperties)
	base.generalProperties = m.GetProperties()
	base.customizableProperties = m.GetProperties()
}

+1 −1
Original line number Diff line number Diff line
@@ -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)
+22 −5
Original line number Diff line number Diff line
@@ -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)