本文整理汇总了Golang中github.com/gonuts/commander.Command类的典型用法代码示例。如果您正苦于以下问题:Golang Command类的具体用法?Golang Command怎么用?Golang Command使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Command类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: hwaf_run_cmd_self_init
func hwaf_run_cmd_self_init(cmd *commander.Command, args []string) error {
var err error
n := "hwaf-self-" + cmd.Name()
switch len(args) {
case 0:
// ok
default:
return fmt.Errorf("%s: does NOT take any argument", n)
}
verbose := cmd.Flag.Lookup("v").Value.Get().(bool)
if verbose {
fmt.Printf("%s...\n", n)
}
hwaf_root := os.Getenv("HWAF_ROOT")
for _, dir := range []string{g_ctx.Root, hwaf_root} {
if dir != "" {
g_ctx.Warnf("you are trying to 'hwaf self init' while running a HWAF_ROOT-based installation\n")
g_ctx.Warnf("this is like crossing the streams in Ghostbusters (ie: it's bad.)\n")
g_ctx.Warnf("if you think you know what you are doing, unset HWAF_ROOT and re-run 'hwaf self init'\n")
return fmt.Errorf("${HWAF_ROOT} was set (%s)", dir)
}
}
// 'hwaf self init' is now dummied out...
if verbose {
fmt.Printf("%s... [ok]\n", n)
}
return err
}
示例2: alto_run_cmd_vm_add
func alto_run_cmd_vm_add(cmd *commander.Command, args []string) {
var err error
n := "alto-" + cmd.Name()
vm_name := ""
vm_id := ""
switch len(args) {
case 2:
vm_name = args[0]
vm_id = args[1]
default:
err = fmt.Errorf("%s: needs 2 arguments (vm-name, vm-id)\n", n)
handle_err(err)
}
quiet := cmd.Flag.Lookup("q").Value.Get().(bool)
if !quiet {
fmt.Printf("%s: adding VM [%s] to repository...\n", n, vm_name)
}
err = g_ctx.AddVm(altolib.Vm{Id: vm_id, Tag: vm_name})
handle_err(err)
if !quiet {
fmt.Printf("%s: adding VM [%s] to repository... [done]\n", n, vm_name)
}
return
}
示例3: aptlyRepoShow
func aptlyRepoShow(cmd *commander.Command, args []string) error {
var err error
if len(args) != 1 {
cmd.Usage()
return err
}
name := args[0]
localRepoCollection := debian.NewLocalRepoCollection(context.database)
repo, err := localRepoCollection.ByName(name)
if err != nil {
return fmt.Errorf("unable to show: %s", err)
}
err = localRepoCollection.LoadComplete(repo)
if err != nil {
return fmt.Errorf("unable to show: %s", err)
}
fmt.Printf("Name: %s\n", repo.Name)
fmt.Printf("Comment: %s\n", repo.Comment)
fmt.Printf("Number of packages: %d\n", repo.NumPackages())
withPackages := cmd.Flag.Lookup("with-packages").Value.Get().(bool)
if withPackages {
ListPackagesRefList(repo.RefList())
}
return err
}
示例4: lbpkr_run_cmd_repo_ls
func lbpkr_run_cmd_repo_ls(cmd *commander.Command, args []string) error {
var err error
debug := cmd.Flag.Lookup("v").Value.Get().(bool)
siteroot := cmd.Flag.Lookup("siteroot").Value.Get().(string)
switch len(args) {
case 0:
default:
cmd.Usage()
return fmt.Errorf("lbpkr: invalid number of arguments. expected n=0. got=%d (%v)",
len(args),
args,
)
}
cfg := NewConfig(siteroot)
ctx, err := New(cfg, Debug(debug))
if err != nil {
return err
}
defer ctx.Close()
err = ctx.ListRepositories()
return err
}
示例5: hwaf_run_cmd_pmgr_get
func hwaf_run_cmd_pmgr_get(cmd *commander.Command, args []string) {
var err error
n := "hwaf-pmgr-" + cmd.Name()
verbose := cmd.Flag.Lookup("v").Value.Get().(bool)
pkguri := ""
switch len(args) {
case 1:
pkguri = args[0]
default:
err = fmt.Errorf("%s: you need to give a package URI to install", n)
handle_err(err)
}
pkguri = strings.Replace(pkguri, "http://", "", 1)
pkguri = strings.Replace(pkguri, "https://", "", 1)
if verbose {
fmt.Printf("%s: get [%s]...\n", n, pkguri)
}
//manifest_url := path.Join(pkguri, "MANIFEST")
if verbose {
fmt.Printf("%s: get [%s]... [ok]\n", n, pkguri)
}
}
示例6: alto_run_cmd_vm_ls
func alto_run_cmd_vm_ls(cmd *commander.Command, args []string) {
var err error
n := "alto-" + cmd.Name()
switch len(args) {
case 0:
// ok
default:
err = fmt.Errorf("%s: does not take any argument\n", n)
handle_err(err)
}
quiet := cmd.Flag.Lookup("q").Value.Get().(bool)
if !quiet {
fmt.Printf("%s: listing VMs...\n", n)
}
vms := g_ctx.Vms()
for _, vm := range vms {
fmt.Printf("%v\n", vm)
}
if !quiet {
fmt.Printf("%s: listing VMs... [done]\n", n)
}
return
}
示例7: fwk_run_cmd_build
func fwk_run_cmd_build(cmd *commander.Command, args []string) error {
var err error
n := "fwk-app-" + cmd.Name()
fnames := make([]string, 0, len(args))
for _, arg := range args {
if arg == "" {
continue
}
if arg[0] == '-' {
continue
}
fnames = append(fnames, arg)
}
if len(fnames) <= 0 {
return fmt.Errorf("%s: you need to give a list of files or a directory", n)
}
bldr, err := builder.NewBuilder(fnames...)
if err != nil {
return err
}
if o := cmd.Flag.Lookup("o").Value.Get().(string); o != "" {
bldr.Name = o
}
err = bldr.Build()
if err != nil {
return err
}
return err
}
示例8: aptlyMirrorCreate
func aptlyMirrorCreate(cmd *commander.Command, args []string) error {
var err error
if len(args) < 3 {
cmd.Usage()
return err
}
downloadSources := utils.Config.DownloadSourcePackages || cmd.Flag.Lookup("with-sources").Value.Get().(bool)
repo, err := debian.NewRemoteRepo(args[0], args[1], args[2], args[3:], context.architecturesList, downloadSources)
if err != nil {
return fmt.Errorf("unable to create mirror: %s", err)
}
verifier, err := getVerifier(cmd)
if err != nil {
return fmt.Errorf("unable to initialize GPG verifier: %s", err)
}
err = repo.Fetch(context.downloader, verifier)
if err != nil {
return fmt.Errorf("unable to fetch mirror: %s", err)
}
repoCollection := debian.NewRemoteRepoCollection(context.database)
err = repoCollection.Add(repo)
if err != nil {
return fmt.Errorf("unable to add mirror: %s", err)
}
fmt.Printf("\nMirror %s successfully added.\nYou can run 'aptly mirror update %s' to download repository contents.\n", repo, repo.Name)
return err
}
示例9: crossReleaseChanges
func crossReleaseChanges(cmd *c.Command, args []string) {
dev.MustFindCrowbar()
if len(args) != 2 {
log.Fatalf("%s takes exactly 2 release names!")
}
releases := new([2]dev.Release)
// Translate command line parameters.
// releases[0] will be the release with changes, and
// releases[1] will be the base release.
for i, name := range args {
switch name {
case "current":
releases[i] = dev.CurrentRelease()
case "parent":
if i == 0 {
log.Fatalf("parent can only be the second arg to %s\n", cmd.Name())
}
releases[1] = releases[0].Parent()
if releases[1] == nil {
log.Fatalf("%s does not have a parent release.\n", releases[0].Name())
}
default:
releases[i] = dev.GetRelease(name)
}
}
dev.CrossReleaseChanges(releases[0], releases[1])
}
示例10: lbpkr_run_cmd_provides
func lbpkr_run_cmd_provides(cmd *commander.Command, args []string) error {
var err error
siteroot := cmd.Flag.Lookup("siteroot").Value.Get().(string)
debug := cmd.Flag.Lookup("v").Value.Get().(bool)
filename := ""
switch len(args) {
case 1:
filename = args[0]
default:
cmd.Usage()
return fmt.Errorf("lbpkr: invalid number of arguments. expected n=1. got=%d (%v)",
len(args),
args,
)
}
cfg := NewConfig(siteroot)
ctx, err := New(cfg, Debug(debug))
if err != nil {
return err
}
defer ctx.Close()
_, err = ctx.Provides(filename)
return err
}
示例11: aptlySnapshotShow
func aptlySnapshotShow(cmd *commander.Command, args []string) error {
var err error
if len(args) != 1 {
cmd.Usage()
return err
}
name := args[0]
snapshotCollection := debian.NewSnapshotCollection(context.database)
snapshot, err := snapshotCollection.ByName(name)
if err != nil {
return fmt.Errorf("unable to show: %s", err)
}
err = snapshotCollection.LoadComplete(snapshot)
if err != nil {
return fmt.Errorf("unable to show: %s", err)
}
fmt.Printf("Name: %s\n", snapshot.Name)
fmt.Printf("Created At: %s\n", snapshot.CreatedAt.Format("2006-01-02 15:04:05 MST"))
fmt.Printf("Description: %s\n", snapshot.Description)
fmt.Printf("Number of packages: %d\n", snapshot.NumPackages())
withPackages := cmd.Flag.Lookup("with-packages").Value.Get().(bool)
if withPackages {
ListPackagesRefList(snapshot.RefList())
}
return err
}
示例12: aptlyMirrorUpdate
func aptlyMirrorUpdate(cmd *commander.Command, args []string) {
if len(args) != 1 {
cmd.Usage()
return
}
name := args[0]
repoCollection := debian.NewRemoteRepoCollection(context.database)
repo, err := repoCollection.ByName(name)
if err != nil {
log.Fatalf("Unable to update: %s", err)
}
err = repoCollection.LoadComplete(repo)
if err != nil {
log.Fatalf("Unable to update: %s", err)
}
err = repo.Fetch(context.downloader)
if err != nil {
log.Fatalf("Unable to update: %s", err)
}
err = repo.Download(context.downloader, context.database, context.packageRepository)
if err != nil {
log.Fatalf("Unable to update: %s", err)
}
err = repoCollection.Update(repo)
if err != nil {
log.Fatalf("Unable to update: %s", err)
}
}
示例13: aptlyMirrorCreate
func aptlyMirrorCreate(cmd *commander.Command, args []string) {
if len(args) < 3 {
cmd.Usage()
return
}
var architectures []string
archs := cmd.Flag.Lookup("architecture").Value.String()
if len(archs) > 0 {
architectures = strings.Split(archs, ",")
}
repo, err := debian.NewRemoteRepo(args[0], args[1], args[2], args[3:], architectures)
if err != nil {
log.Fatalf("Unable to create mirror: %s", err)
}
err = repo.Fetch(context.downloader)
if err != nil {
log.Fatalf("Unable to fetch mirror: %s", err)
}
repoCollection := debian.NewRemoteRepoCollection(context.database)
err = repoCollection.Add(repo)
if err != nil {
log.Fatalf("Unable to add mirror: %s", err)
}
fmt.Printf("\nMirror %s successfully added.\nYou can run 'aptly mirror update %s' to download repository contents.\n", repo, repo.Name)
}
示例14: lbpkr_run_cmd_rpm
func lbpkr_run_cmd_rpm(cmd *commander.Command, args []string) error {
var err error
siteroot := cmd.Flag.Lookup("siteroot").Value.Get().(string)
debug := cmd.Flag.Lookup("v").Value.Get().(bool)
switch len(args) {
case 0:
cmd.Usage()
return fmt.Errorf("lbpkr: invalid number of arguments. expected at least one argument. got=%d (%v)",
len(args),
args,
)
}
cfg := NewConfig(siteroot)
ctx, err := New(cfg, Debug(debug))
if err != nil {
return err
}
defer ctx.Close()
err = ctx.Rpm(args...)
return err
}
示例15: aptlyPublishDrop
func aptlyPublishDrop(cmd *commander.Command, args []string) error {
var err error
if len(args) < 1 || len(args) > 2 {
cmd.Usage()
return err
}
distribution := args[0]
prefix := "."
if len(args) == 2 {
prefix = args[1]
}
publishedCollecton := debian.NewPublishedRepoCollection(context.database)
err = publishedCollecton.Remove(context.packageRepository, prefix, distribution)
if err != nil {
return fmt.Errorf("unable to remove: %s", err)
}
fmt.Printf("\nPublished repositroy has been removed successfully.\n")
return err
}