diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2018-07-10 00:35:32 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2018-07-10 00:35:32 +0000 |
commit | 93bb483ce28e2dc37585d6c44a88b63275546bea (patch) | |
tree | 03956b5d70e26bb11eadb070ad8b3d85312a6075 | |
parent | ad234e489411a1846ec72396174bb938dd553c76 (diff) | |
parent | 63b4e0f5c15276cc5d2b04d12f914798521eed8a (diff) | |
download | build_soong-93bb483ce28e2dc37585d6c44a88b63275546bea.tar.gz build_soong-93bb483ce28e2dc37585d6c44a88b63275546bea.tar.bz2 build_soong-93bb483ce28e2dc37585d6c44a88b63275546bea.zip |
Merge "Sort and uniqify dangling rules list"
-rw-r--r-- | ui/build/test_build.go | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/ui/build/test_build.go b/ui/build/test_build.go index 940f0c89..4bc4c977 100644 --- a/ui/build/test_build.go +++ b/ui/build/test_build.go @@ -18,6 +18,7 @@ import ( "bufio" "path/filepath" "runtime" + "sort" "strings" ) @@ -56,7 +57,7 @@ func testForDanglingRules(ctx Context, config Config) { bootstrapDir := filepath.Join(outDir, "soong", ".bootstrap") miniBootstrapDir := filepath.Join(outDir, "soong", ".minibootstrap") - var danglingRules []string + danglingRules := make(map[string]bool) scanner := bufio.NewScanner(stdout) for scanner.Scan() { @@ -70,16 +71,22 @@ func testForDanglingRules(ctx Context, config Config) { // full build rules in the primary build.ninja file. continue } - danglingRules = append(danglingRules, line) + danglingRules[line] = true } cmd.WaitOrFatal() - if len(danglingRules) > 0 { + var danglingRulesList []string + for rule := range danglingRules { + danglingRulesList = append(danglingRulesList, rule) + } + sort.Strings(danglingRulesList) + + if len(danglingRulesList) > 0 { ctx.Println("Dependencies in out found with no rule to create them:") - for _, dep := range danglingRules { - ctx.Println(dep) + for _, dep := range danglingRulesList { + ctx.Println(" ", dep) } - ctx.Fatal("") + ctx.Fatal("stopping") } } |