Make zipsync list file output empty if there are no files
The make javac rule uses [ -s srcjar-list ] to decide whether or
not to run javac. zipsync was putting a trailing "\n" in the
list file, so the file was never empty. There was one case of a
package that contained no source files (so java-source-list was
empty) and had a res directory with an xml file that declared no
resources (so aapt.jar was created but empty). The 1-byte
srcjar-list file caused javac to run and error with:
javac: no source files
Test: m checkbuild
Change-Id: I26b394b66bf81e4f5abbd27e4dc06bee1d9420a8
diff --git a/cmd/zipsync/zipsync.go b/cmd/zipsync/zipsync.go
index 035a145..ed8a06f 100644
--- a/cmd/zipsync/zipsync.go
+++ b/cmd/zipsync/zipsync.go
@@ -118,7 +118,10 @@
}
if *outputFile != "" {
- data := strings.Join(files, "\n") + "\n"
+ data := strings.Join(files, "\n")
+ if len(files) > 0 {
+ data += "\n"
+ }
must(ioutil.WriteFile(*outputFile, []byte(data), 0666))
}
}