github.com/lineaje-labs/syft@v0.98.1-0.20231227153149-9e393f60ff1b/syft/format/common/cyclonedxhelpers/publisher.go (about)

     1  package cyclonedxhelpers
     2  
     3  import (
     4  	"github.com/anchore/syft/syft/pkg"
     5  )
     6  
     7  func encodePublisher(p pkg.Package) string {
     8  	if hasMetadata(p) {
     9  		switch metadata := p.Metadata.(type) {
    10  		case pkg.ApkDBEntry:
    11  			return metadata.Maintainer
    12  		case pkg.RpmDBEntry:
    13  			return metadata.Vendor
    14  		case pkg.DpkgDBEntry:
    15  			return metadata.Maintainer
    16  		}
    17  	}
    18  	return ""
    19  }
    20  
    21  func decodePublisher(publisher string, metadata interface{}) {
    22  	switch meta := metadata.(type) {
    23  	case *pkg.ApkDBEntry:
    24  		meta.Maintainer = publisher
    25  	case *pkg.RpmDBEntry:
    26  		meta.Vendor = publisher
    27  	case *pkg.DpkgDBEntry:
    28  		meta.Maintainer = publisher
    29  	}
    30  }