github.com/nextlinux/gosbom@v0.81.1-0.20230627115839-1ff50c281391/gosbom/pkg/cataloger/swift/package.go (about) 1 package swift 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(name, version, hash string, locations ...file.Location) pkg.Package { 11 p := pkg.Package{ 12 Name: name, 13 Version: version, 14 PURL: packageURL(name, version), 15 Locations: file.NewLocationSet(locations...), 16 Type: pkg.CocoapodsPkg, 17 Language: pkg.Swift, 18 MetadataType: pkg.CocoapodsMetadataType, 19 Metadata: pkg.CocoapodsMetadata{ 20 Checksum: hash, 21 }, 22 } 23 24 p.SetID() 25 26 return p 27 } 28 29 func packageURL(name, version string) string { 30 var qualifiers packageurl.Qualifiers 31 32 return packageurl.NewPackageURL( 33 packageurl.TypeCocoapods, 34 "", 35 name, 36 version, 37 qualifiers, 38 "", 39 ).ToString() 40 }