示例#1
0
func (proj *Project) checkDeps(r *repo.Repo) error {
	repos, updated, err := r.UpdateDesc()
	if err != nil {
		return err
	}

	if !updated {
		return nil
	}

	for _, newRepo := range repos {
		curRepo, ok := proj.repos[newRepo.Name()]
		if !ok {
			proj.repos[newRepo.Name()] = newRepo
			return proj.UpdateRepos()
		} else {
			// Add any dependencies we might have found here.
			for _, dep := range newRepo.Deps() {
				newRepo.DownloadDesc()
				newRepo.ReadDesc()
				curRepo.AddDependency(dep)
			}
		}
	}

	return nil
}