Make '**' implicit
Default to copying all entries in the input zip to the output zip. Test: zip2zip_test Change-Id: I0d70620c621bfeee2b7fe2a64b350b4866ad2877
This commit is contained in:
@@ -47,15 +47,17 @@ func main() {
|
||||
fmt.Fprintln(os.Stderr, " <glob>:<out_dir>/")
|
||||
fmt.Fprintln(os.Stderr, "")
|
||||
fmt.Fprintln(os.Stderr, "<glob> uses the rules at https://golang.org/pkg/path/filepath/#Match")
|
||||
fmt.Fprintln(os.Stderr, "As a special exception, '**' is supported to specify all files in the input zip")
|
||||
fmt.Fprintln(os.Stderr, "As a special exception, '**' is supported to specify all files in the input zip.")
|
||||
fmt.Fprintln(os.Stderr, "")
|
||||
fmt.Fprintln(os.Stderr, "Files will be copied with their existing compression from the input zipfile to")
|
||||
fmt.Fprintln(os.Stderr, "the output zipfile, in the order of filespec arguments")
|
||||
fmt.Fprintln(os.Stderr, "the output zipfile, in the order of filespec arguments.")
|
||||
fmt.Fprintln(os.Stderr, "")
|
||||
fmt.Fprintln(os.Stderr, "If no filepsec is provided all files are copied (equivalent to '**').")
|
||||
}
|
||||
|
||||
flag.Parse()
|
||||
|
||||
if flag.NArg() == 0 || *input == "" || *output == "" {
|
||||
if *input == "" || *output == "" {
|
||||
flag.Usage()
|
||||
os.Exit(1)
|
||||
}
|
||||
@@ -93,6 +95,10 @@ type pair struct {
|
||||
}
|
||||
|
||||
func zip2zip(reader *zip.Reader, writer *zip.Writer, sortGlobs, sortJava, setTime bool, args []string) error {
|
||||
if len(args) == 0 {
|
||||
// If no filespec is provided, default to copying everything
|
||||
args = []string{"**"}
|
||||
}
|
||||
for _, arg := range args {
|
||||
var input string
|
||||
var output string
|
||||
|
@@ -116,6 +116,31 @@ var testCases = []struct {
|
||||
"RADIO/a",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "sort all implicit",
|
||||
|
||||
inputFiles: []string{
|
||||
"RADIO/a",
|
||||
"IMAGES/system.img",
|
||||
"IMAGES/b.txt",
|
||||
"IMAGES/recovery.img",
|
||||
"IMAGES/vendor.img",
|
||||
"OTA/b",
|
||||
"OTA/android-info.txt",
|
||||
},
|
||||
sortGlobs: true,
|
||||
args: nil,
|
||||
|
||||
outputFiles: []string{
|
||||
"IMAGES/b.txt",
|
||||
"IMAGES/recovery.img",
|
||||
"IMAGES/system.img",
|
||||
"IMAGES/vendor.img",
|
||||
"OTA/android-info.txt",
|
||||
"OTA/b",
|
||||
"RADIO/a",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "sort jar",
|
||||
|
||||
|
Reference in New Issue
Block a user