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, " <glob>:<out_dir>/")
|
||||||
fmt.Fprintln(os.Stderr, "")
|
fmt.Fprintln(os.Stderr, "")
|
||||||
fmt.Fprintln(os.Stderr, "<glob> uses the rules at https://golang.org/pkg/path/filepath/#Match")
|
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, "")
|
||||||
fmt.Fprintln(os.Stderr, "Files will be copied with their existing compression from the input zipfile to")
|
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()
|
flag.Parse()
|
||||||
|
|
||||||
if flag.NArg() == 0 || *input == "" || *output == "" {
|
if *input == "" || *output == "" {
|
||||||
flag.Usage()
|
flag.Usage()
|
||||||
os.Exit(1)
|
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 {
|
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 {
|
for _, arg := range args {
|
||||||
var input string
|
var input string
|
||||||
var output string
|
var output string
|
||||||
|
@@ -116,6 +116,31 @@ var testCases = []struct {
|
|||||||
"RADIO/a",
|
"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",
|
name: "sort jar",
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user