diff options
author | Colin Cross <ccross@android.com> | 2019-04-02 08:21:42 -0700 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2019-04-02 08:21:42 -0700 |
commit | a50a2464c660a92019ab381f550f2ec2c89a75b6 (patch) | |
tree | d9edc9aacf1ce26062557fc532c28f8c86e86244 /cmd | |
parent | 8de11009cdb20c08eb6cb0fd96462624e12bc58d (diff) | |
parent | 6c99a30bb7969cd720eeb1f53bd2d248fc39d3cc (diff) | |
download | build_soong-a50a2464c660a92019ab381f550f2ec2c89a75b6.tar.gz build_soong-a50a2464c660a92019ab381f550f2ec2c89a75b6.tar.bz2 build_soong-a50a2464c660a92019ab381f550f2ec2c89a75b6.zip |
Merge changes I7dd4ba7f,I7887a67a am: 92cc71606c am: 900574f0cd
am: 6c99a30bb7
Change-Id: If557897ed64ecdf8967299b5512392e5485767ae
Diffstat (limited to 'cmd')
-rw-r--r-- | cmd/dep_fixer/main.go | 36 |
1 files changed, 24 insertions, 12 deletions
diff --git a/cmd/dep_fixer/main.go b/cmd/dep_fixer/main.go index 0647fb29..f94cf2fd 100644 --- a/cmd/dep_fixer/main.go +++ b/cmd/dep_fixer/main.go @@ -29,30 +29,42 @@ import ( func main() { flag.Usage = func() { - fmt.Fprintf(os.Stderr, "Usage: %s <depfile.d>", os.Args[0]) + fmt.Fprintf(os.Stderr, "Usage: %s [-o <output>] <depfile.d> [<depfile.d>...]", os.Args[0]) flag.PrintDefaults() } output := flag.String("o", "", "Optional output file (defaults to rewriting source if necessary)") flag.Parse() - if flag.NArg() != 1 { - log.Fatal("Expected a single file as an argument") + if flag.NArg() < 1 { + log.Fatal("Expected at least one input file as an argument") } - old, err := ioutil.ReadFile(flag.Arg(0)) - if err != nil { - log.Fatalf("Error opening %q: %v", flag.Arg(0), err) - } + var mergedDeps *Deps + var firstInput []byte + + for i, arg := range flag.Args() { + input, err := ioutil.ReadFile(arg) + if err != nil { + log.Fatalf("Error opening %q: %v", arg, err) + } - deps, err := Parse(flag.Arg(0), bytes.NewBuffer(append([]byte(nil), old...))) - if err != nil { - log.Fatalf("Failed to parse: %v", err) + deps, err := Parse(arg, bytes.NewBuffer(append([]byte(nil), input...))) + if err != nil { + log.Fatalf("Failed to parse: %v", err) + } + + if i == 0 { + mergedDeps = deps + firstInput = input + } else { + mergedDeps.Inputs = append(mergedDeps.Inputs, deps.Inputs...) + } } - new := deps.Print() + new := mergedDeps.Print() if *output == "" || *output == flag.Arg(0) { - if !bytes.Equal(old, new) { + if !bytes.Equal(firstInput, new) { err := ioutil.WriteFile(flag.Arg(0), new, 0666) if err != nil { log.Fatalf("Failed to write: %v", err) |