Skip to content

Commit

Permalink
Workaround "go list" error when upstream uses "../.." in import path
Browse files Browse the repository at this point in the history
Closes: #992610
  • Loading branch information
anthonyfok committed Aug 26, 2021
1 parent 8914933 commit a90f4fb
Showing 1 changed file with 25 additions and 2 deletions.
27 changes: 25 additions & 2 deletions make.go
Original file line number Diff line number Diff line change
Expand Up @@ -219,9 +219,21 @@ func (u *upstream) findMains(gopath, repo string) error {
"GO111MODULE=off",
"GOPATH=" + gopath,
}, passthroughEnv()...)

out, err := cmd.Output()
if err != nil {
return fmt.Errorf("go list %s (args: %v): %w", repo, cmd.Args, err)
log.Println("WARNING: In findMains:", fmt.Errorf("%q: %w", cmd.Args, err))
log.Printf("Retrying without appending \"/...\" to repo")
cmd = exec.Command("go", "list", "-f", "{{.ImportPath}} {{.Name}}", repo)
cmd.Stderr = os.Stderr
cmd.Env = append([]string{
"GO111MODULE=off",
"GOPATH=" + gopath,
}, passthroughEnv()...)
out, err = cmd.Output()
if err != nil {
return fmt.Errorf("%q: %w", cmd.Args, err)
}
}
for _, line := range strings.Split(strings.TrimSpace(string(out)), "\n") {
if strings.Contains(line, "/vendor/") ||
Expand Down Expand Up @@ -251,7 +263,18 @@ func (u *upstream) findDependencies(gopath, repo string) error {

out, err := cmd.Output()
if err != nil {
return fmt.Errorf("go list %s (args: %v): %w", repo, cmd.Args, err)
log.Println("WARNING: In findDependencies:", fmt.Errorf("%q: %w", cmd.Args, err))
log.Printf("Retrying without appending \"/...\" to repo")
cmd = exec.Command("go", "list", "-f", "{{join .Imports \"\\n\"}}\n{{join .TestImports \"\\n\"}}\n{{join .XTestImports \"\\n\"}}", repo)
cmd.Stderr = os.Stderr
cmd.Env = append([]string{
"GO111MODULE=off",
"GOPATH=" + gopath,
}, passthroughEnv()...)
out, err = cmd.Output()
if err != nil {
return fmt.Errorf("%q: %w", cmd.Args, err)
}
}

godependencies := make(map[string]bool)
Expand Down

0 comments on commit a90f4fb

Please sign in to comment.