1
2
3
4
5 package modconv
6
7 import (
8 "encoding/json"
9
10 "golang.org/x/mod/modfile"
11 "golang.org/x/mod/module"
12 )
13
14 func ParseVendorJSON(file string, data []byte) (*modfile.File, error) {
15 var cfg struct {
16 Package []struct {
17 Path string
18 Revision string
19 }
20 }
21 if err := json.Unmarshal(data, &cfg); err != nil {
22 return nil, err
23 }
24 mf := new(modfile.File)
25 for _, d := range cfg.Package {
26 mf.Require = append(mf.Require, &modfile.Require{Mod: module.Version{Path: d.Path, Version: d.Revision}})
27 }
28 return mf, nil
29 }
30
View as plain text