Skip to content

Commit

Permalink
Hack to ignore stale packages in godep
Browse files Browse the repository at this point in the history
Change-Id: Ibf0877521310d6f2baad605bf1216940e95cb9cd
  • Loading branch information
dims committed Mar 12, 2019
1 parent 317ecf5 commit eb4865f
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 2 deletions.
18 changes: 16 additions & 2 deletions hack/godep-save.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,23 @@ if [[ -d Godeps ]]; then
mv Godeps "${BACKUP}/Godeps"
fi

## Workaround "httplex" was dropped from golang.org/x/net repo and the code
## was moved to the "golang.org/x/net/http/httpguts" directory, we do not use
## this directly, however many packages we vendor are still using the older
## golang.org/x/net and we need to keep this until all those dependencies
## are switched to newer golang.org/x/net.
IGNORED_PACKAGES=(
"golang.org/x/net/lex/httplex"
)
REQUIRED_BINS=(
"golang.org/x/net/internal/nettest"
"golang.org/x/net/internal/socks"
"golang.org/x/net/internal/sockstest"
)

# Some things we want in godeps aren't code dependencies, so ./...
# won't pick them up.
REQUIRED_BINS=(
REQUIRED_BINS+=(
"github.com/bazelbuild/bazel-gazelle/cmd/gazelle"
"github.com/bazelbuild/buildtools/buildozer"
"github.com/cespare/prettybench"
Expand All @@ -74,7 +88,7 @@ kube::log::status "Running godep save - this might take a while"
# This uses $(pwd) rather than ${KUBE_ROOT} because KUBE_ROOT will be
# realpath'ed, and godep barfs ("... is not using a known version control
# system") on our staging dirs.
GOPATH="${GOPATH}:$(pwd)/staging" ${KUBE_GODEP:?} save "${REQUIRED_BINS[@]}"
GOPATH="${GOPATH}:$(pwd)/staging" ${KUBE_GODEP:?} save -i $(IFS=,; echo "${IGNORED_PACKAGES[*]}") "${REQUIRED_BINS[@]}"

# create a symlink in vendor directory pointing to the staging client. This
# let other packages use the staging client as if it were vendored.
Expand Down
13 changes: 13 additions & 0 deletions third_party/forked/godep/pkg.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
package main

import (
"fmt"
"go/build"
"os"
"regexp"
"sort"
"strings"
)

Expand Down Expand Up @@ -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)
Expand Down
2 changes: 2 additions & 0 deletions third_party/forked/godep/save.go
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down

0 comments on commit eb4865f

Please sign in to comment.