Merge "Ignore variant dependencies in rust-project.json" am: 463ab7a27e

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

Change-Id: Iddf43a1dcd27f625656bfe75ac824f980e034833
This commit is contained in:
Thiébaud Weksteen 2020-11-26 10:12:17 +00:00 committed by Automerger Merge Worker
commit e006241e6f
2 changed files with 20 additions and 0 deletions

View file

@ -109,6 +109,10 @@ func (singleton *projectGeneratorSingleton) mergeDependencies(ctx android.Single
if !ok {
return
}
// Skip intra-module dependencies (i.e., generated-source library depending on the source variant).
if module.Name() == child.Name() {
return
}
if _, ok = deps[ctx.ModuleName(child)]; ok {
return
}

View file

@ -131,6 +131,22 @@ func TestProjectJsonBindGen(t *testing.T) {
t.Errorf("The source path for libbindings2 does not contain the BuildOs, got %v; want %v",
rootModule, android.BuildOs.String())
}
// Check that libbindings1 does not depend on itself.
if strings.Contains(rootModule, "libbindings1") {
deps, ok := crate["deps"].([]interface{})
if !ok {
t.Errorf("Unexpected format for deps: %v", crate["deps"])
}
for _, dep := range deps {
d, ok := dep.(map[string]interface{})
if !ok {
t.Errorf("Unexpected format for dep: %v", dep)
}
if d["name"] == "bindings1" {
t.Errorf("libbindings1 depends on itself")
}
}
}
}
}