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