}
sem <- token{}
go func() {
- err := DownloadModule(ctx, m)
+ err := DownloadModule(ctx, moduleLoaderState.Fetcher(), m)
if err != nil {
downloadErrs.Store(m, err)
m.Error = err.Error()
// DownloadModule runs 'go mod download' for m.Path@m.Version,
// leaving the results (including any error) in m itself.
-func DownloadModule(ctx context.Context, m *ModuleJSON) error {
+func DownloadModule(ctx context.Context, f *modfetch.Fetcher, m *ModuleJSON) error {
var err error
- _, file, err := modfetch.Fetcher_.InfoFile(ctx, m.Path, m.Version)
+ _, file, err := f.InfoFile(ctx, m.Path, m.Version)
if err != nil {
return err
}
m.Info = file
- m.GoMod, err = modfetch.Fetcher_.GoModFile(ctx, m.Path, m.Version)
+ m.GoMod, err = f.GoModFile(ctx, m.Path, m.Version)
if err != nil {
return err
}
- m.GoModSum, err = modfetch.Fetcher_.GoModSum(ctx, m.Path, m.Version)
+ m.GoModSum, err = f.GoModSum(ctx, m.Path, m.Version)
if err != nil {
return err
}
mod := module.Version{Path: m.Path, Version: m.Version}
- m.Zip, err = modfetch.Fetcher_.DownloadZip(ctx, mod)
+ m.Zip, err = f.DownloadZip(ctx, mod)
if err != nil {
return err
}
m.Sum = modfetch.Sum(ctx, mod)
- m.Dir, err = modfetch.Fetcher_.Download(ctx, mod)
+ m.Dir, err = f.Download(ctx, mod)
return err
}