本文整理匯總了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
}
示例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
}
示例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
}
示例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
}