• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang router.Context类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/hashicorp/otto/helper/router.Context的典型用法代码示例。如果您正苦于以下问题:Golang Context类的具体用法?Golang Context怎么用?Golang Context使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Context类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: actionTest

func (a *App) actionTest(rctx router.Context) error {
	ctx := rctx.(*app.Context)

	// Rebuild
	if err := a.actionRebuild(rctx); err != nil {
		return err
	}

	// Verify we have the files
	dir := filepath.Join(filepath.Dir(ctx.Appfile.Path), "_scriptpack_staging")
	if _, err := os.Stat(dir); err != nil {
		return fmt.Errorf(
			"The directory with the built ScriptPack files doesn't exist!\n" +
				"Please build this with `otto dev scriptpack-rebuild` prior to\n" +
				"running tests.")
	}

	// Get the env vars
	f, err := os.Open(filepath.Join(dir, "env"))
	if err != nil {
		return err
	}
	var env map[string]string
	err = json.NewDecoder(f).Decode(&env)
	f.Close()
	if err != nil {
		return err
	}

	// Build the command we execute to run the tests
	cmd := []string{
		"docker",
		"run",
		"-v /vagrant:/devroot",
	}
	for k, v := range env {
		cmd = append(cmd, fmt.Sprintf("-e %s=%s", k, v))
	}
	cmd = append(cmd, "hashicorp/otto-scriptpack-test-ubuntu:14.04")
	cmd = append(cmd, "bats")

	// Determine the test to execute
	testPath := "test"
	if args := rctx.RouteArgs(); len(args) > 0 {
		testPath = args[0]
	}
	if !filepath.IsAbs(testPath) {
		testPath = fmt.Sprintf("/devroot/" + testPath)
	}

	cmd = append(cmd, testPath)

	// Run the command
	ctx.Ui.Header(fmt.Sprintf("Executing: %s", strings.Join(cmd, " ")))
	v := &vagrant.DevOptions{}
	v.Vagrant(ctx).Execute("ssh", "-c", strings.Join(cmd, " "))

	return nil
}
开发者ID:mbrodala,项目名称:otto,代码行数:59,代码来源:app.go


示例2: actionLayers

func (opts *DevOptions) actionLayers(rctx router.Context) error {
	if opts.Layer == nil {
		return fmt.Errorf(
			"This development environment does not use layers.\n" +
				"This command can only be used to manage development\n" +
				"environments with layers.")
	}

	ctx := rctx.(*app.Context)
	fs := flag.NewFlagSet("otto", flag.ContinueOnError)
	graph := fs.Bool("graph", false, "show graph")
	prune := fs.Bool("prune", false, "prune unused layers")
	if err := fs.Parse(rctx.RouteArgs()); err != nil {
		return err
	}

	// Graph?
	if *graph {
		graph, err := opts.Layer.Graph()
		if err != nil {
			return err
		}

		ctx.Ui.Raw(graph.String() + "\n")
		return nil
	}

	// Prune?
	if *prune {
		ctx.Ui.Header("Pruning any outdated or unused layers...")
		count, err := opts.Layer.Prune(&ctx.Shared)
		if err != nil {
			return err
		}
		if count == 0 {
			ctx.Ui.Message("No outdated or unused layers were found!")
		} else {
			ctx.Ui.Message(fmt.Sprintf(
				"[green]Pruned %d outdated or unused layers!", count))
		}

		return nil
	}

	// We're just listing the layers. Eventually we probably should
	// output status or something more useful here.
	for _, l := range opts.Layer.Layers {
		ctx.Ui.Raw(l.ID + "\n")
	}

	return nil
}
开发者ID:TheBigBear,项目名称:otto,代码行数:52,代码来源:dev.go


示例3: actionApply

func (i *Infrastructure) actionApply(rctx router.Context) error {
	rctx.UI().Header("Building main infrastructure...")
	ctx := rctx.(*infrastructure.Context)
	return i.execute(ctx, "apply")
}
开发者ID:mbrodala,项目名称:otto,代码行数:5,代码来源:infrastructure.go


示例4: actionDestroy

func (i *Infrastructure) actionDestroy(rctx router.Context) error {
	rctx.UI().Header("Destroying main infrastructure...")
	ctx := rctx.(*infrastructure.Context)
	return i.execute(ctx, "destroy", "-force")
}
开发者ID:mbrodala,项目名称:otto,代码行数:5,代码来源:infrastructure.go



注:本文中的github.com/hashicorp/otto/helper/router.Context类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang schema.FieldData类代码示例发布时间:2022-05-23
下一篇:
Golang oneline.Read函数代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap