当前位置: 首页>>代码示例>>Golang>>正文


Golang Config.GetListRequired方法代码示例

本文整理汇总了Golang中github.com/ernestokarim/cb/config.Config.GetListRequired方法的典型用法代码示例。如果您正苦于以下问题:Golang Config.GetListRequired方法的具体用法?Golang Config.GetListRequired怎么用?Golang Config.GetListRequired使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/ernestokarim/cb/config.Config的用法示例。


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

示例1: prepareDist

func prepareDist(c *config.Config, q *registry.Queue) error {
	dirs := c.GetListRequired("dist.prepare")
	for _, from := range dirs {
		to := "temp"
		if strings.Contains(from, "->") {
			parts := strings.Split(from, "->")
			from = strings.TrimSpace(parts[0])
			to = filepath.Join("temp", strings.TrimSpace(parts[1]))
		}

		if _, err := os.Stat(from); err != nil {
			if os.IsNotExist(err) {
				continue
			}
			return fmt.Errorf("stat failed: %s", err)
		}

		if err := os.MkdirAll(filepath.Dir(to), 0755); err != nil {
			return fmt.Errorf("prepare dir failed (%s): %s", to, err)
		}

		output, err := utils.Exec("cp", []string{"-r", from, to})
		if err != nil {
			fmt.Println(output)
			return fmt.Errorf("copy error: %s", err)
		}
	}
	return nil
}
开发者ID:ernestoalejo,项目名称:cb,代码行数:29,代码来源:dist.go

示例2: ngtemplates

func ngtemplates(c *config.Config, q *registry.Queue) error {
	count := c.CountRequired("ngtemplates")
	for i := 0; i < count; i++ {
		append := c.GetRequired("ngtemplates[%d].append", i)
		files := c.GetListRequired("ngtemplates[%d].files", i)

		templates, err := readTemplates(files)
		if err != nil {
			return fmt.Errorf("cannot read templates: %s", err)
		}

		if err = writeTemplates(append, templates); err != nil {
			return fmt.Errorf("cannot save template file: %s", err)
		}
	}

	return nil
}
开发者ID:ernestoalejo,项目名称:cb,代码行数:18,代码来源:ngtemplates.go

示例3: cacherev

func cacherev(c *config.Config, q *registry.Queue) error {
	dirs := c.GetListRequired("cacherev.dirs")
	exclude := c.GetListRequired("cacherev.exclude")
	for _, dir := range dirs {
		dir = filepath.Join("temp", dir)
		if err := filepath.Walk(dir, changeName(exclude)); err != nil {
			return fmt.Errorf("change names walk failed (%s): %s", dir, err)
		}
	}

	rev := c.GetListDefault("cacherev.rev")
	for _, dir := range rev {
		dir = filepath.Join("temp", dir)
		if err := filepath.Walk(dir, changeReferences); err != nil {
			return fmt.Errorf("change references walk failed (%s): %s", dir, err)
		}
	}

	utils.SaveChanges(changes)
	return nil
}
开发者ID:ernestoalejo,项目名称:cb,代码行数:21,代码来源:cacherev.go

示例4: copyDist

func copyDist(c *config.Config, q *registry.Queue) error {
	dirs := c.GetListRequired("dist.final")

	changes := utils.LoadChanges()
	for i, dir := range dirs {
		if name, ok := changes[dir]; ok {
			dir = name
		}
		dirs[i] = dir
	}

	for _, dir := range dirs {
		from := dir
		to := dir
		if strings.Contains(dir, "->") {
			parts := strings.Split(dir, "->")
			from = strings.TrimSpace(parts[0])
			to = strings.TrimSpace(parts[1])
		}
		origin := filepath.Join("temp", from)
		dest := filepath.Join("dist", to)

		if err := os.MkdirAll(filepath.Dir(dest), 0755); err != nil {
			return fmt.Errorf("prepare dir failed (%s): %s", dir, err)
		}

		if *config.Verbose {
			log.Printf("copy `%s`\n", origin)
		}

		output, err := utils.Exec("cp", []string{"-r", origin, dest})
		if err != nil {
			fmt.Println(output)
			return fmt.Errorf("copy error: %s", err)
		}
	}

	return nil
}
开发者ID:ernestoalejo,项目名称:cb,代码行数:39,代码来源:dist.go


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