Ensure that sdk/module_exports depends on source members

Previously, preferring a prebuilt of an sdk/module_exports's member
would cause the sdk/module_exports to depend on the prebuilt instead
of the source and cause problems with the build.

This chance prevents the dependency from an sdk/module_exports to its
members from being replaced with prebuilts.

Bug: 160785918
Test: m nothing
Change-Id: Iee4bcd438c11929e30fb5766701b05a0e89956d9
This commit is contained in:
Paul Duffin
2020-07-09 17:32:57 +01:00
parent 2c79c871d9
commit cee7e66b07
4 changed files with 84 additions and 21 deletions

View File

@@ -16,9 +16,13 @@ package java
import (
"fmt"
"reflect"
"sort"
"testing"
"android/soong/android"
"android/soong/cc"
"github.com/google/blueprint"
)
func TestConfig(buildDir string, env map[string]string, bp string, fs map[string][]byte) android.Config {
@@ -216,3 +220,17 @@ func GatherRequiredDepsForTest() string {
return bp
}
func CheckModuleDependencies(t *testing.T, ctx *android.TestContext, name, variant string, expected []string) {
t.Helper()
module := ctx.ModuleForTests(name, variant).Module()
deps := []string{}
ctx.VisitDirectDeps(module, func(m blueprint.Module) {
deps = append(deps, m.Name())
})
sort.Strings(deps)
if actual := deps; !reflect.DeepEqual(expected, actual) {
t.Errorf("expected %#q, found %#q", expected, actual)
}
}