Hack to ignore stale packages in godep

Change-Id: Ibf0877521310d6f2baad605bf1216940e95cb9cd
This commit is contained in:
Davanum Srinivas
2019-02-24 22:37:56 -05:00
parent 317ecf58cc
commit eb4865fbe5
3 changed files with 31 additions and 2 deletions

View File

@@ -1,8 +1,11 @@
package main
import (
"fmt"
"go/build"
"os"
"regexp"
"sort"
"strings"
)
@@ -42,9 +45,19 @@ func LoadPackages(names ...string) (a []*Package, err error) {
if len(names) == 0 {
return nil, nil
}
pkgs := strings.Split(ignorePackages, ",")
sort.Strings(pkgs)
for _, i := range importPaths(names) {
p, err := listPackage(i)
if err != nil {
if len(pkgs) > 0 {
idx := sort.SearchStrings(pkgs, i)
if idx < len(pkgs) && pkgs[idx] == i {
fmt.Fprintf(os.Stderr, "warning: ignoring package %q \n", i)
continue
}
}
return nil, err
}
a = append(a, p)

View File

@@ -64,11 +64,13 @@ For more about specifying packages, see 'go help packages'.
var (
saveR, saveT bool
ignorePackages string
)
func init() {
cmdSave.Flag.BoolVar(&saveR, "r", false, "rewrite import paths")
cmdSave.Flag.BoolVar(&saveT, "t", false, "save test files")
cmdSave.Flag.StringVar(&ignorePackages, "i", "", "list of packages to ignore separated by commas")
}
func runSave(cmd *Command, args []string) {