func()

in getdeps/files.go [30:61]


func (ff *Files) Get(projectDir string, urlOverrides *URLOverrides, hashMode HashMode) error {
	for i, f := range ff.Filelist {
		u, err := url.Parse(f.URL)
		if err != nil {
			return fmt.Errorf("%s: Invalid URL %q", ff.Label, f.URL)
		}

		name := path.Base(u.Path)

		bytes, fileInfo, err := fetchAndVerify(ff.Label, projectDir, f.URL, hashMode, &f.Hash, urlOverrides)
		if err != nil {
			return fmt.Errorf("%s: %s: %w", ff.Label, name, err)
		}

		if err = os.MkdirAll(ff.Dest, os.ModePerm); err != nil {
			return err
		}

		path := path.Join(ff.Dest, name)
		perms := os.FileMode(0644)
		if fileInfo != nil {
			perms = fileInfo.Mode()
		}
		if err = ioutil.WriteFile(path, bytes, perms); err != nil {
			return err
		}

		ff.Filelist[i] = f
	}

	return nil
}