github.com/hwaf/hwaf@v0.0.0-20140814122253-5465f73b20f1/cmd_pmgr_get.go (about) 1 package main 2 3 import ( 4 "fmt" 5 // "io" 6 // "io/ioutil" 7 // "os" 8 // "os/exec" 9 // "path" 10 // "path/filepath" 11 "strings" 12 13 "github.com/gonuts/commander" 14 "github.com/gonuts/flag" 15 ) 16 17 func hwaf_make_cmd_pmgr_get() *commander.Command { 18 cmd := &commander.Command{ 19 Run: hwaf_run_cmd_pmgr_get, 20 UsageLine: "get [options] <pkguri>", 21 Short: "download and install a package/project", 22 Long: ` 23 get downloads and installs a package or project from a URI. 24 25 ex: 26 $ hwaf pmgr get cern.ch/mana-fwk/mana-latest 27 $ hwaf pmgr get -o /opt cern.ch/mana-fwk/mana-latest 28 `, 29 Flag: *flag.NewFlagSet("hwaf-pmgr-get", flag.ExitOnError), 30 } 31 cmd.Flag.Bool("v", false, "enable verbose output") 32 cmd.Flag.String("o", "", "directory where to install the package") 33 return cmd 34 } 35 36 func hwaf_run_cmd_pmgr_get(cmd *commander.Command, args []string) error { 37 var err error 38 n := "hwaf-pmgr-" + cmd.Name() 39 verbose := cmd.Flag.Lookup("v").Value.Get().(bool) 40 41 pkguri := "" 42 switch len(args) { 43 case 1: 44 pkguri = args[0] 45 default: 46 return fmt.Errorf("%s: you need to give a package URI to install", n) 47 } 48 49 pkguri = strings.Replace(pkguri, "http://", "", 1) 50 pkguri = strings.Replace(pkguri, "https://", "", 1) 51 52 if verbose { 53 fmt.Printf("%s: get [%s]...\n", n, pkguri) 54 } 55 56 //manifest_url := path.Join(pkguri, "MANIFEST") 57 58 if verbose { 59 fmt.Printf("%s: get [%s]... [ok]\n", n, pkguri) 60 } 61 62 return err 63 } 64 65 // EOF