github.com/nextlinux/gosbom@v0.81.1-0.20230627115839-1ff50c281391/gosbom/pkg/cataloger/elixir/package.go (about) 1 package elixir 2 3 import ( 4 "github.com/nextlinux/gosbom/gosbom/file" 5 "github.com/nextlinux/gosbom/gosbom/pkg" 6 7 "github.com/anchore/packageurl-go" 8 ) 9 10 func newPackage(d pkg.MixLockMetadata, locations ...file.Location) pkg.Package { 11 p := pkg.Package{ 12 Name: d.Name, 13 Version: d.Version, 14 Language: pkg.Elixir, 15 Locations: file.NewLocationSet(locations...), 16 PURL: packageURL(d), 17 Type: pkg.HexPkg, 18 MetadataType: pkg.MixLockMetadataType, 19 Metadata: d, 20 } 21 22 p.SetID() 23 24 return p 25 } 26 27 func packageURL(m pkg.MixLockMetadata) string { 28 var qualifiers packageurl.Qualifiers 29 30 return packageurl.NewPackageURL( 31 packageurl.TypeHex, 32 "", 33 m.Name, 34 m.Version, 35 qualifiers, 36 "", 37 ).ToString() 38 }