Browse Source

Bug fixed

pull/103/head
Unknown 11 years ago
parent
commit
679b61cd48
  1. 40
      cmd/gopath.go

40
cmd/gopath.go

@ -49,10 +49,16 @@ func getGopmPkgs(dirPath string, isTest bool) (pkgs map[string]*doc.Pkg, err err
}
if !doc.IsGoRepoPath(name) {
if builds != nil {
if dep, ok := builds[name]; ok {
// TODO: need version
pkgs[name] = &doc.Pkg{ImportPath: dep}
continue
if info, ok := builds[name]; ok {
// Check version.
if i := strings.Index(info, ":"); i > -1 {
pkgs[name] = &doc.Pkg{
ImportPath: name,
Type: info[:i],
Value: info[i+1:],
}
continue
}
}
}
pkgs[name] = doc.NewDefaultPkg(name)
@ -82,16 +88,21 @@ func getChildPkgs(ctx *cli.Context, cpath string, ppkg *doc.Pkg, cachePkgs map[s
if !pkgInCache(name, cachePkgs) {
var newPath string
if !build.IsLocalImport(name) {
suf := "." + pkg.Value
if len(suf) == 1 {
suf = ""
}
newPath = filepath.Join(installRepoPath, pkg.ImportPath)
if pkgName != "" && strings.HasPrefix(pkg.ImportPath, pkgName) {
newPath = filepath.Join(curPath, pkg.ImportPath[len(pkgName)+1:])
newPath = filepath.Join(curPath, pkg.ImportPath[len(pkgName)+1:]+suf)
} else {
if !com.IsExist(newPath) {
var t, ver string = doc.BRANCH, ""
node := doc.NewNode(pkg.ImportPath, pkg.ImportPath, t, ver, true)
if !com.IsExist(newPath + suf) {
node := doc.NewNode(pkg.ImportPath, pkg.ImportPath,
pkg.Type, pkg.Value, true)
nodes := []*doc.Node{node}
downloadPackages(ctx, nodes)
// should handler download failed
// TODO: Should handler download failed
}
}
} else {
@ -214,8 +225,13 @@ func genNewGoPath(ctx *cli.Context, isTest bool) {
os.RemoveAll(newGoPathSrc)
os.MkdirAll(newGoPathSrc, os.ModePerm)
for name, _ := range cachePkgs {
oldPath := filepath.Join(installRepoPath, name)
for name, pkg := range cachePkgs {
suf := "." + pkg.Value
if len(suf) == 1 {
suf = ""
}
oldPath := filepath.Join(installRepoPath, name) + suf
newPath := filepath.Join(newGoPathSrc, name)
paths := strings.Split(name, "/")
var isExistP bool
@ -236,7 +252,7 @@ func genNewGoPath(ctx *cli.Context, isTest bool) {
}
if !isExistP {
log.Log("Linking %s", name)
log.Log("Linking %s", name+suf)
err = autoLink(oldPath, newPath)
if err != nil {
log.Error("", "Fail to make link")

Loading…
Cancel
Save