in cmd/path/main.go [37:75]
func do(cmd string, a args) error {
if a.specFile == "" {
return fmt.Errorf("all subcommands require the --spec-file argument")
}
b, err := os.ReadFile(a.specFile)
if err != nil {
return err
}
var s archive.Spec
if err := json.Unmarshal(b, &s); err != nil {
return err
}
var p string
switch cmd {
case "dir":
p = s.Dir(a.bundleDir)
case "full-path":
var err error
p, err = s.FullPath(a.bundleDir)
if err != nil {
return err
}
case "basename":
var err error
p, err = s.Basename()
if err != nil {
return err
}
default:
return fmt.Errorf("command not recognized")
}
fmt.Printf("%s", p)
return nil
}