Merge "Ignore variant dependencies in rust-project.json"

This commit is contained in:
Thiébaud Weksteen 2020-11-26 09:15:09 +00:00 committed by Gerrit Code Review
commit 463ab7a27e
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")
}
}
}
}
}