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