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  }