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 }