github.com/noqcks/syft@v0.0.0-20230920222752-a9e2c4e288e5/syft/formats/spdxtagvalue/encoder.go (about)

     1  package spdxtagvalue
     2  
     3  import (
     4  	"io"
     5  
     6  	"github.com/spdx/tools-golang/convert"
     7  	"github.com/spdx/tools-golang/spdx/v2/v2_1"
     8  	"github.com/spdx/tools-golang/spdx/v2/v2_2"
     9  	"github.com/spdx/tools-golang/tagvalue"
    10  
    11  	"github.com/anchore/syft/syft/formats/common/spdxhelpers"
    12  	"github.com/anchore/syft/syft/sbom"
    13  )
    14  
    15  func encoder2_3(output io.Writer, s sbom.SBOM) error {
    16  	model := spdxhelpers.ToFormatModel(s)
    17  	return tagvalue.Write(model, output)
    18  }
    19  
    20  func encoder2_2(output io.Writer, s sbom.SBOM) error {
    21  	model := spdxhelpers.ToFormatModel(s)
    22  	var out v2_2.Document
    23  	err := convert.Document(model, &out)
    24  	if err != nil {
    25  		return err
    26  	}
    27  	return tagvalue.Write(out, output)
    28  }
    29  
    30  func encoder2_1(output io.Writer, s sbom.SBOM) error {
    31  	model := spdxhelpers.ToFormatModel(s)
    32  	var out v2_1.Document
    33  	err := convert.Document(model, &out)
    34  	if err != nil {
    35  		return err
    36  	}
    37  	return tagvalue.Write(out, output)
    38  }