Skip to content

Commit f86ddb5

Browse files
committed
cmd/go: refactor usage of ForceUseModules
This commit refactors usage of the global variable `ForceUseModules` to the global LoaderState field of the same name. This commit is part of the overall effort to eliminate global modloader state. [git-generate] cd src/cmd/go/internal/modload rf 'mv State.forceUseModules State.ForceUseModules' rf 'ex { ForceUseModules -> LoaderState.ForceUseModules }' for dir in load modcmd modget run toolchain work workcmd ; do cd ../${dir} rf 'ex { import "cmd/go/internal/modload"; modload.ForceUseModules -> modload.LoaderState.ForceUseModules }' done cd ../modload rf 'add State.initialized \ // ForceUseModules may be set to force modules to be enabled when\ // GO111MODULE=auto or to report an error when GO111MODULE=off.' rf 'rm ForceUseModules' Change-Id: Ibdecfd273ff672516c9eb86279e5dfc6cdecb2ea Reviewed-on: https://go-review.googlesource.com/c/go/+/698057 Reviewed-by: Michael Matloob <[email protected]> Reviewed-by: Michael Matloob <[email protected]> LUCI-TryBot-Result: Go LUCI <[email protected]>
1 parent c938051 commit f86ddb5

File tree

16 files changed

+26
-27
lines changed

16 files changed

+26
-27
lines changed

src/cmd/go/internal/load/pkg.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3348,7 +3348,7 @@ func GoFilesPackage(ctx context.Context, opts PackageOpts, gofiles []string) *Pa
33483348
// would cause it to be interpreted differently if it were the main module
33493349
// (replace, exclude).
33503350
func PackagesAndErrorsOutsideModule(ctx context.Context, opts PackageOpts, args []string) ([]*Package, error) {
3351-
if !modload.ForceUseModules {
3351+
if !modload.LoaderState.ForceUseModules {
33523352
panic("modload.ForceUseModules must be true")
33533353
}
33543354
if modload.RootMode != modload.NoRoot {

src/cmd/go/internal/modcmd/download.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ func runDownload(ctx context.Context, cmd *base.Command, args []string) {
112112
modload.InitWorkfile()
113113

114114
// Check whether modules are enabled and whether we're in a module.
115-
modload.ForceUseModules = true
115+
modload.LoaderState.ForceUseModules = true
116116
modload.ExplicitWriteGoMod = true
117117
haveExplicitArgs := len(args) > 0
118118

src/cmd/go/internal/modcmd/graph.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func runGraph(ctx context.Context, cmd *base.Command, args []string) {
5757
if len(args) > 0 {
5858
base.Fatalf("go: 'go mod graph' accepts no arguments")
5959
}
60-
modload.ForceUseModules = true
60+
modload.LoaderState.ForceUseModules = true
6161
modload.RootMode = modload.NeedRoot
6262

6363
goVersion := graphGo.String()

src/cmd/go/internal/modcmd/init.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,6 @@ func runInit(ctx context.Context, cmd *base.Command, args []string) {
4343
modPath = args[0]
4444
}
4545

46-
modload.ForceUseModules = true
46+
modload.LoaderState.ForceUseModules = true
4747
modload.CreateModFile(ctx, modPath) // does all the hard work
4848
}

src/cmd/go/internal/modcmd/tidy.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ func runTidy(ctx context.Context, cmd *base.Command, args []string) {
119119
// those packages. In order to make 'go test' reproducible for the packages
120120
// that are in 'all' but outside of the main module, we must explicitly
121121
// request that their test dependencies be included.
122-
modload.ForceUseModules = true
122+
modload.LoaderState.ForceUseModules = true
123123
modload.RootMode = modload.NeedRoot
124124

125125
goVersion := tidyGo.String()

src/cmd/go/internal/modcmd/vendor.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ func RunVendor(ctx context.Context, vendorE bool, vendorO string, args []string)
7777
if len(args) != 0 {
7878
base.Fatalf("go: 'go mod vendor' accepts no arguments")
7979
}
80-
modload.ForceUseModules = true
80+
modload.LoaderState.ForceUseModules = true
8181
modload.RootMode = modload.NeedRoot
8282

8383
loadOpts := modload.PackageOpts{

src/cmd/go/internal/modcmd/verify.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func runVerify(ctx context.Context, cmd *base.Command, args []string) {
5050
// NOTE(rsc): Could take a module pattern.
5151
base.Fatalf("go: verify takes no arguments")
5252
}
53-
modload.ForceUseModules = true
53+
modload.LoaderState.ForceUseModules = true
5454
modload.RootMode = modload.NeedRoot
5555

5656
// Only verify up to GOMAXPROCS zips at once.

src/cmd/go/internal/modcmd/why.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ func init() {
6464

6565
func runWhy(ctx context.Context, cmd *base.Command, args []string) {
6666
modload.InitWorkfile()
67-
modload.ForceUseModules = true
67+
modload.LoaderState.ForceUseModules = true
6868
modload.RootMode = modload.NeedRoot
6969
modload.ExplicitWriteGoMod = true // don't write go.mod in ListModules
7070

src/cmd/go/internal/modget/get.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ func runGet(ctx context.Context, cmd *base.Command, args []string) {
298298
base.Fatalf("go: -insecure flag is no longer supported; use GOINSECURE instead")
299299
}
300300

301-
modload.ForceUseModules = true
301+
modload.LoaderState.ForceUseModules = true
302302

303303
// Do not allow any updating of go.mod until we've applied
304304
// all the requested changes and checked that the result matches

src/cmd/go/internal/modload/init.go

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,6 @@ var (
4141
// RootMode determines whether a module root is needed.
4242
RootMode Root
4343

44-
// ForceUseModules may be set to force modules to be enabled when
45-
// GO111MODULE=auto or to report an error when GO111MODULE=off.
46-
ForceUseModules bool
47-
4844
allowMissingModuleImports bool
4945

5046
// ExplicitWriteGoMod prevents LoadPackages, ListModules, and other functions
@@ -96,7 +92,7 @@ func EnterWorkspace(ctx context.Context) (exit func(), err error) {
9692

9793
// Reset the state to a clean state.
9894
oldstate := setState(State{})
99-
ForceUseModules = true
95+
LoaderState.ForceUseModules = true
10096

10197
// Load in workspace mode.
10298
InitWorkfile()
@@ -406,15 +402,15 @@ func Reset() {
406402
func setState(s State) State {
407403
oldState := State{
408404
initialized: LoaderState.initialized,
409-
forceUseModules: ForceUseModules,
405+
ForceUseModules: LoaderState.ForceUseModules,
410406
rootMode: RootMode,
411407
modRoots: modRoots,
412408
modulesEnabled: cfg.ModulesEnabled,
413409
mainModules: MainModules,
414410
requirements: requirements,
415411
}
416412
LoaderState.initialized = s.initialized
417-
ForceUseModules = s.forceUseModules
413+
LoaderState.ForceUseModules = s.ForceUseModules
418414
RootMode = s.rootMode
419415
modRoots = s.modRoots
420416
cfg.ModulesEnabled = s.modulesEnabled
@@ -429,8 +425,11 @@ func setState(s State) State {
429425
}
430426

431427
type State struct {
432-
initialized bool
433-
forceUseModules bool
428+
initialized bool
429+
430+
// ForceUseModules may be set to force modules to be enabled when
431+
// GO111MODULE=auto or to report an error when GO111MODULE=off.
432+
ForceUseModules bool
434433
rootMode Root
435434
modRoots []string
436435
modulesEnabled bool
@@ -465,11 +464,11 @@ func Init() {
465464
default:
466465
base.Fatalf("go: unknown environment setting GO111MODULE=%s", env)
467466
case "auto":
468-
mustUseModules = ForceUseModules
467+
mustUseModules = LoaderState.ForceUseModules
469468
case "on", "":
470469
mustUseModules = true
471470
case "off":
472-
if ForceUseModules {
471+
if LoaderState.ForceUseModules {
473472
base.Fatalf("go: modules disabled by GO111MODULE=off; see 'go help modules'")
474473
}
475474
mustUseModules = false

0 commit comments

Comments
 (0)