Implement supp-ort for multiple input paths in command line tool.

This commit is contained in:
Jim Teeuwen 2013-11-16 12:19:19 +01:00
parent 14a0ff90f8
commit 4674192d6b

View File

@ -53,15 +53,20 @@ func parseArgs() *bindata.Config {
os.Exit(0) os.Exit(0)
} }
// Make sure we have in/output paths. // Make sure we have input paths.
if flag.NArg() == 0 { if flag.NArg() == 0 {
fmt.Fprintf(os.Stderr, "Missing <input dir>\n\n") fmt.Fprintf(os.Stderr, "Missing <input dir>\n\n")
flag.Usage() flag.Usage()
os.Exit(1) os.Exit(1)
} }
input := filepath.Clean(flag.Arg(0)) // Create input configurations.
c.Input = []bindata.InputConfig{parseInput(input)} c.Input = make([]bindata.InputConfig, flag.NArg())
for i := range c.Input {
c.Input[i] = parseInput(flag.Arg(i))
fmt.Printf("%v\n", c.Input[i])
}
return c return c
} }
@ -73,9 +78,15 @@ func parseArgs() *bindata.Config {
// /path/to/bar -> (/path/to/bar, false) // /path/to/bar -> (/path/to/bar, false)
func parseInput(path string) bindata.InputConfig { func parseInput(path string) bindata.InputConfig {
if strings.HasSuffix(path, "/...") { if strings.HasSuffix(path, "/...") {
return bindata.InputConfig{Path: path[:len(path)-4], Recursive: true} return bindata.InputConfig{
Path: filepath.Clean(path[:len(path)-4]),
Recursive: true,
}
} else { } else {
return bindata.InputConfig{Path: path, Recursive: false} return bindata.InputConfig{
Path: filepath.Clean(path),
Recursive: false,
}
} }
} }