summaryrefslogtreecommitdiff
path: root/libgo/go/cmd/go/internal/fix/fix.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/cmd/go/internal/fix/fix.go')
-rw-r--r--libgo/go/cmd/go/internal/fix/fix.go13
1 files changed, 12 insertions, 1 deletions
diff --git a/libgo/go/cmd/go/internal/fix/fix.go b/libgo/go/cmd/go/internal/fix/fix.go
index 99c7ca51acf..aab164148ff 100644
--- a/libgo/go/cmd/go/internal/fix/fix.go
+++ b/libgo/go/cmd/go/internal/fix/fix.go
@@ -9,12 +9,15 @@ import (
"cmd/go/internal/base"
"cmd/go/internal/cfg"
"cmd/go/internal/load"
+ "cmd/go/internal/modload"
"cmd/go/internal/str"
+ "fmt"
+ "os"
)
var CmdFix = &base.Command{
Run: runFix,
- UsageLine: "fix [packages]",
+ UsageLine: "go fix [packages]",
Short: "update packages to use new APIs",
Long: `
Fix runs the Go fix command on the packages named by the import paths.
@@ -29,7 +32,15 @@ See also: go fmt, go vet.
}
func runFix(cmd *base.Command, args []string) {
+ printed := false
for _, pkg := range load.Packages(args) {
+ if modload.Enabled() && !pkg.Module.Main {
+ if !printed {
+ fmt.Fprintf(os.Stderr, "go: not fixing packages in dependency modules\n")
+ printed = true
+ }
+ continue
+ }
// Use pkg.gofiles instead of pkg.Dir so that
// the command only applies to this package,
// not to packages in subdirectories.