var pkgsFilter = func(pkgs []*load.Package) []*load.Package { return pkgs }
func runBuild(ctx context.Context, cmd *base.Command, args []string) {
- modload.InitWorkfile(modload.LoaderState)
- BuildInit(modload.LoaderState)
- b := NewBuilder("", modload.LoaderState.VendorDirOrEmpty)
+ moduleLoaderState := modload.NewState()
+ modload.InitWorkfile(moduleLoaderState)
+ BuildInit(moduleLoaderState)
+ b := NewBuilder("", moduleLoaderState.VendorDirOrEmpty)
defer func() {
if err := b.Close(); err != nil {
base.Fatal(err)
}
}()
- pkgs := load.PackagesAndErrors(modload.LoaderState, ctx, load.PackageOpts{AutoVCS: true}, args)
+ pkgs := load.PackagesAndErrors(moduleLoaderState, ctx, load.PackageOpts{AutoVCS: true}, args)
load.CheckPackageErrors(pkgs)
explicitO := len(cfg.BuildO) > 0
}
if cfg.BuildCover {
- load.PrepareForCoverageBuild(modload.LoaderState, pkgs)
+ load.PrepareForCoverageBuild(moduleLoaderState, pkgs)
}
if cfg.BuildO != "" {
p.Target += cfg.ExeSuffix
p.Stale = true
p.StaleReason = "build -o flag in use"
- a.Deps = append(a.Deps, b.AutoAction(modload.LoaderState, ModeInstall, depMode, p))
+ a.Deps = append(a.Deps, b.AutoAction(moduleLoaderState, ModeInstall, depMode, p))
}
if len(a.Deps) == 0 {
base.Fatalf("go: no main packages to build")
p.Target = cfg.BuildO
p.Stale = true // must build - not up to date
p.StaleReason = "build -o flag in use"
- a := b.AutoAction(modload.LoaderState, ModeInstall, depMode, p)
+ a := b.AutoAction(moduleLoaderState, ModeInstall, depMode, p)
b.Do(ctx, a)
return
}
a := &Action{Mode: "go build"}
for _, p := range pkgs {
- a.Deps = append(a.Deps, b.AutoAction(modload.LoaderState, ModeBuild, depMode, p))
+ a.Deps = append(a.Deps, b.AutoAction(moduleLoaderState, ModeBuild, depMode, p))
}
if cfg.BuildBuildmode == "shared" {
- a = b.buildmodeShared(modload.LoaderState, ModeBuild, depMode, args, pkgs, a)
+ a = b.buildmodeShared(moduleLoaderState, ModeBuild, depMode, args, pkgs, a)
}
b.Do(ctx, a)
}
}
func runInstall(ctx context.Context, cmd *base.Command, args []string) {
+ moduleLoaderState := modload.NewState()
for _, arg := range args {
if strings.Contains(arg, "@") && !build.IsLocalImport(arg) && !filepath.IsAbs(arg) {
- installOutsideModule(modload.LoaderState, ctx, args)
+ installOutsideModule(moduleLoaderState, ctx, args)
return
}
}
- modload.InitWorkfile(modload.LoaderState)
- BuildInit(modload.LoaderState)
- pkgs := load.PackagesAndErrors(modload.LoaderState, ctx, load.PackageOpts{AutoVCS: true}, args)
- if cfg.ModulesEnabled && !modload.HasModRoot(modload.LoaderState) {
+ modload.InitWorkfile(moduleLoaderState)
+ BuildInit(moduleLoaderState)
+ pkgs := load.PackagesAndErrors(moduleLoaderState, ctx, load.PackageOpts{AutoVCS: true}, args)
+ if cfg.ModulesEnabled && !modload.HasModRoot(moduleLoaderState) {
haveErrors := false
allMissingErrors := true
for _, pkg := range pkgs {
load.CheckPackageErrors(pkgs)
if cfg.BuildCover {
- load.PrepareForCoverageBuild(modload.LoaderState, pkgs)
+ load.PrepareForCoverageBuild(moduleLoaderState, pkgs)
}
- InstallPackages(modload.LoaderState, ctx, args, pkgs)
+ InstallPackages(moduleLoaderState, ctx, args, pkgs)
}
// omitTestOnly returns pkgs with test-only packages removed.