示例#1
0
文件: config.go 项目: johnt337/gopack
func addDepsTree(deps *Dependencies, depsTree *toml.TomlTree, modifiedChecksum bool, pos int) error {
	if depsTree == nil {
		return nil
	}
	for _, k := range depsTree.Keys() {

		depTree := depsTree.Get(k).(*toml.TomlTree)
		d := NewDependency(depTree.Get("import").(string))

		d.setScm(depTree)
		d.setSource(depTree)

		d.setCheckout(depTree, "branch", BranchFlag)
		d.setCheckout(depTree, "commit", CommitFlag)
		d.setCheckout(depTree, "tag", TagFlag)

		if err := d.Validate(); err != nil {
			return err
		}

		d.Fetch(modifiedChecksum)

		deps.Keys[pos] = k
		deps.Imports[pos] = d.Import
		deps.DepList[pos] = d

		pos++

		deps.ImportGraph.Insert(d)
	}
	return nil
}