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


Golang config.Config类代码示例

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


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

示例1: handle_toolchain_section

func (a *asetup_t) handle_toolchain_section(lcfg *gocfg.Config, lcfg_fname string) error {
	var err error
	n := "hwaf-" + a.cmd.Name()

	section := "hwaf-toolchain"
	if !lcfg.HasSection(section) {
		if !lcfg.AddSection(section) {
			err = fmt.Errorf("%s: could not create section [%s] in file [%s]",
				n, section, lcfg_fname)
			if err != nil {
				return err
			}
		}
	}
	for k, v := range a.opts.toolchain {
		if lcfg.HasOption(section, k) {
			lcfg.RemoveOption(section, k)
		}
		ok := lcfg.AddOption(section, k, v)
		if !ok {
			err = fmt.Errorf(
				"%s: could not add option [%s=%q] to file [%s]",
				n, k, v, lcfg_fname,
			)
			if err != nil {
				return err
			}
		}
	}
	return err
}
开发者ID:hwaf,项目名称:hwaf,代码行数:31,代码来源:asetup.go

示例2: handle_env_section

func (a *asetup_t) handle_env_section(lcfg *gocfg.Config, lcfg_fname, dirname string) error {
	var err error
	n := "hwaf-" + a.cmd.Name()

	section := "hwaf-env"
	if !lcfg.HasSection(section) {
		if !lcfg.AddSection(section) {
			err = fmt.Errorf("%s: could not create section [%s] in file [%s]",
				n, section, lcfg_fname)
			if err != nil {
				return err
			}
		}
	}
	// add a few asetup defaults...
	for k, v := range map[string]string{
		"SVNGROUPS": "svn+ssh://svn.cern.ch/reps/atlasgroups",
		"SVNGRP":    "svn+ssh://svn.cern.ch/reps/atlasgrp",
		"SVNINST":   "svn+ssh://svn.cern.ch/reps/atlasinst",
		"SVNOFF":    "svn+ssh://svn.cern.ch/reps/atlasoff",
		"SVNPERF":   "svn+ssh://svn.cern.ch/reps/atlasperf",
		"SVNPHYS":   "svn+ssh://svn.cern.ch/reps/atlasphys",
		"SVNROOT":   "svn+ssh://svn.cern.ch/reps/atlasoff",
		"SVNUSR":    "svn+ssh://svn.cern.ch/reps/atlasusr",
		"TestArea":  dirname,
	} {
		a.opts.env[k] = v
	}

	for k, v := range a.opts.env {
		if lcfg.HasOption(section, k) {
			lcfg.RemoveOption(section, k)
		}
		ok := lcfg.AddOption(section, k, v)
		if !ok {
			err = fmt.Errorf(
				"%s: could not add option [%s=%q] to file [%s]",
				n, k, v, lcfg_fname,
			)
			if err != nil {
				return err
			}
		}
	}

	return err
}
开发者ID:hwaf,项目名称:hwaf,代码行数:47,代码来源:asetup.go

示例3: load_env_from_cfg

func (ctx *Context) load_env_from_cfg(cfg *gocfg.Config) error {

	if !cfg.HasSection("hwaf-env") {
		return nil
	}

	section := "hwaf-env"
	options, err := cfg.Options(section)
	if err != nil {
		return err
	}
	for _, k := range options {
		v, err := cfg.String(section, k)
		if err != nil {
			continue
		}
		v = os.ExpandEnv(v)

		vv := os.Getenv(k)
		if vv != "" && vv != v {
			// we don't override parent environment!
			// would be too confusing
			ctx.Warn(
				"configuration tries to override env.var [%s] with [%s] (current=%s)\n",
				k, v, vv,
			)
		}
		err = os.Setenv(k, v)
		if err != nil {
			ctx.Warn("problem setting env. var [%s]: %v\n", k, err)
		}
	}
	return nil
}
开发者ID:ChristianArnault,项目名称:hwaf,代码行数:34,代码来源:context.go

示例4: hwaf_run_cmd_setup

func hwaf_run_cmd_setup(cmd *commander.Command, args []string) {
	var err error
	n := "hwaf-" + cmd.Name()
	dirname := "."
	switch len(args) {
	case 0:
		dirname = "."
	case 1:
		dirname = args[0]
	default:
		err = fmt.Errorf("%s: you need to give a directory name", n)
		handle_err(err)
	}

	dirname = os.ExpandEnv(dirname)
	dirname = filepath.Clean(dirname)

	verbose := cmd.Flag.Lookup("v").Value.Get().(bool)
	cfg_fname := cmd.Flag.Lookup("cfg").Value.Get().(string)
	pkgdir := cmd.Flag.Lookup("pkgdir").Value.Get().(string)
	variant := cmd.Flag.Lookup("variant").Value.Get().(string)
	tags := cmd.Flag.Lookup("tags").Value.Get().(string)

	projdirs := []string{}
	const pathsep = string(os.PathListSeparator)
	for _, v := range strings.Split(cmd.Flag.Lookup("p").Value.Get().(string), pathsep) {
		if v != "" {
			v = os.ExpandEnv(v)
			v = filepath.Clean(v)
			projdirs = append(projdirs, v)
		}
	}

	if verbose {
		fmt.Printf("%s: setup workarea [%s]...\n", n, dirname)
		fmt.Printf("%s: projects=%v\n", n, projdirs)
		if cfg_fname != "" {
			fmt.Printf("%s: cfg-file=%s\n", n, cfg_fname)
		}
	}

	if cfg_fname != "" && !path_exists(cfg_fname) {
		err = fmt.Errorf("configuration file [%s] does not exist (or is not readable)", cfg_fname)
		handle_err(err)
	}

	for _, projdir := range projdirs {
		if !path_exists(projdir) {
			err = fmt.Errorf("no such directory: [%s]", projdir)
			handle_err(err)
		}

		pinfo := filepath.Join(projdir, "project.info")
		if !path_exists(pinfo) {
			err = fmt.Errorf("no such file: [%s]", pinfo)
			handle_err(err)
		}
	}

	pwd, err := os.Getwd()
	handle_err(err)
	defer os.Chdir(pwd)

	err = os.Chdir(dirname)
	handle_err(err)

	if verbose {
		fmt.Printf("%s: create local config...\n", n)
	}

	var lcfg *gocfg.Config
	lcfg_fname := "local.conf"

	// if the user provided a configuration file use that as a default
	if cfg_fname != "" && path_exists(cfg_fname) {
		lcfg, err = gocfg.ReadDefault(cfg_fname)
		handle_err(err)
	} else {
		if path_exists(lcfg_fname) {
			lcfg, err = gocfg.ReadDefault(lcfg_fname)
			handle_err(err)
		} else {
			lcfg = gocfg.NewDefault()
		}
	}

	section := "hwaf-cfg"
	if !lcfg.HasSection(section) && !lcfg.AddSection(section) {
		err = fmt.Errorf("%s: could not create section [%s] in file [%s]",
			n, section, lcfg_fname)
		handle_err(err)
	}

	// fetch a few informations from the first project.info
	cmtcfg := g_ctx.Cmtcfg()
	//projvers := time.Now().Format("20060102")
	if len(projdirs) > 0 {
		pinfo, err := hwaflib.NewProjectInfo(filepath.Join(projdirs[0], "project.info"))
		handle_err(err)
		cmtcfg, err = pinfo.Get("CMTCFG")
//.........这里部分代码省略.........
开发者ID:ChristianArnault,项目名称:hwaf,代码行数:101,代码来源:cmd_setup.go


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