aboutsummaryrefslogtreecommitdiffstats
path: root/cmd
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2019-04-02 08:21:42 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-04-02 08:21:42 -0700
commita50a2464c660a92019ab381f550f2ec2c89a75b6 (patch)
treed9edc9aacf1ce26062557fc532c28f8c86e86244 /cmd
parent8de11009cdb20c08eb6cb0fd96462624e12bc58d (diff)
parent6c99a30bb7969cd720eeb1f53bd2d248fc39d3cc (diff)
downloadbuild_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.go36
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)