github.com/nextlinux/gosbom@v0.81.1-0.20230627115839-1ff50c281391/gosbom/pkg/cataloger/java/package_url.go (about) 1 package java 2 3 import ( 4 "github.com/nextlinux/gosbom/gosbom/pkg" 5 "github.com/nextlinux/gosbom/gosbom/pkg/cataloger/common/cpe" 6 7 "github.com/anchore/packageurl-go" 8 ) 9 10 // PackageURL returns the PURL for the specific java package (see https://github.com/package-url/purl-spec) 11 func packageURL(name, version string, metadata pkg.JavaMetadata) string { 12 var groupID = name 13 groupIDs := cpe.GroupIDsFromJavaMetadata(metadata) 14 if len(groupIDs) > 0 { 15 groupID = groupIDs[0] 16 } 17 18 pURL := packageurl.NewPackageURL( 19 packageurl.TypeMaven, // TODO: should we filter down by package types here? 20 groupID, 21 name, 22 version, 23 nil, // TODO: there are probably several qualifiers that can be specified here 24 "") 25 return pURL.ToString() 26 }