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


Golang Config.GetListDefault方法代码示例

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


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

示例1: 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

示例2: organizeResult

func organizeResult(c *config.Config) error {
	excludes := c.GetListDefault("deploy.exclude")
	includes := c.GetListDefault("deploy.include")
	moves := c.GetListDefault("deploy.moves")

	// Extract list of paths to remove
	removePaths := map[string]bool{}
	walkFn := func(path string, info os.FileInfo) error {
		removePaths[path] = true
		if *config.Verbose {
			log.Printf("flag to remove `%s`...\n", path)
		}
		return nil
	}
	for _, exclude := range excludes {
		exclude = filepath.Join("..", "deploy", exclude)
		if err := utils.NewWalker(exclude).Walk(walkFn); err != nil {
			fmt.Errorf("deploy exclude walker failed: %s", err)
		}
	}

	// Cancel removing of files that are included again
	walkFn = func(path string, info os.FileInfo) error {
		cur := path
		for cur != "." {
			removePaths[cur] = false
			cur = filepath.Dir(cur)
		}
		if *config.Verbose {
			log.Printf("include `%s`...\n", path)
		}
		return nil
	}
	for _, include := range includes {
		include = filepath.Join("..", "deploy", include)
		if err := utils.NewWalker(include).Walk(walkFn); err != nil {
			fmt.Errorf("deploy include walker failed: %s", err)
		}
	}

	// Remove flagged files & folders
	for path, remove := range removePaths {
		if remove {
			if *config.Verbose {
				log.Printf("removing `%s`...\n", path)
			}
			if err := os.RemoveAll(path); err != nil {
				return fmt.Errorf("cannot remove deploy entry: %s", err)
			}
		}
	}

	// Execute move operations
	for _, move := range moves {
		parts := strings.Split(move, "->")
		origin := filepath.Join("..", "deploy", strings.TrimSpace(parts[0]))
		dest := filepath.Join("..", "deploy", strings.TrimSpace(parts[1]))

		if err := os.MkdirAll(filepath.Dir(dest), 0755); err != nil {
			return fmt.Errorf("cannot create dest tree structure: %s", err)
		}

		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,代码行数:71,代码来源:deploy.go


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