}
func runClean(ctx context.Context, cmd *base.Command, args []string) {
- modload.InitWorkfile(modload.LoaderState)
+ moduleLoaderState := modload.NewState()
+ modload.InitWorkfile(moduleLoaderState)
if len(args) > 0 {
cacheFlag := ""
switch {
// either the flags and arguments explicitly imply a package,
// or no other target (such as a cache) was requested to be cleaned.
cleanPkg := len(args) > 0 || cleanI || cleanR
- if (!modload.Enabled(modload.LoaderState) || modload.HasModRoot(modload.LoaderState)) &&
+ if (!modload.Enabled(moduleLoaderState) || modload.HasModRoot(moduleLoaderState)) &&
!cleanCache && !cleanModcache && !cleanTestcache && !cleanFuzzcache {
cleanPkg = true
}
if cleanPkg {
- for _, pkg := range load.PackagesAndErrors(modload.LoaderState, ctx, load.PackageOpts{}, args) {
+ for _, pkg := range load.PackagesAndErrors(moduleLoaderState, ctx, load.PackageOpts{}, args) {
clean(pkg)
}
}