func (pkg *LocalPackage) Clone(newRepo *repo.Repo, newName string) *LocalPackage { // XXX: Validate name. // Copy the package. newPkg := *pkg newPkg.repo = newRepo newPkg.name = newName newPkg.basePath = newRepo.Path() + "/" + newPkg.name // Insert the clone into the global package map. proj := interfaces.GetProject() pMap := proj.PackageList() (*pMap[newRepo.Name()])[newPkg.name] = &newPkg return &newPkg }
func (r *Repo) Init(repoName string, rversreq string, d downloader.Downloader) error { var err error r.name = repoName r.downloader = d r.deps = []*RepoDependency{} r.versreq, err = LoadVersionMatches(rversreq) if err != nil { return err } path := interfaces.GetProject().Path() if r.local { r.localPath = filepath.Clean(path) } else { r.localPath = filepath.Clean(path + "/" + REPOS_DIR + "/" + r.name) } return nil }
func (ps *ProjectState) StateFile() string { return interfaces.GetProject().Path() + "/" + PROJECT_STATE_FILE }
func (r *Repo) repoFilePath() string { return interfaces.GetProject().Path() + "/" + REPOS_DIR + "/" + ".configs/" + r.name + "/" }