1*ba677afaSXin Li// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later 2*ba677afaSXin Li 3*ba677afaSXin Lipackage saver2v1 4*ba677afaSXin Li 5*ba677afaSXin Liimport ( 6*ba677afaSXin Li "fmt" 7*ba677afaSXin Li "io" 8*ba677afaSXin Li 9*ba677afaSXin Li "github.com/spdx/tools-golang/spdx/common" 10*ba677afaSXin Li "github.com/spdx/tools-golang/spdx/v2_1" 11*ba677afaSXin Li) 12*ba677afaSXin Li 13*ba677afaSXin Lifunc renderSnippet2_1(sn *v2_1.Snippet, w io.Writer) error { 14*ba677afaSXin Li if sn.SnippetSPDXIdentifier != "" { 15*ba677afaSXin Li fmt.Fprintf(w, "SnippetSPDXID: %s\n", common.RenderElementID(sn.SnippetSPDXIdentifier)) 16*ba677afaSXin Li } 17*ba677afaSXin Li snFromFileIDStr := common.RenderElementID(sn.SnippetFromFileSPDXIdentifier) 18*ba677afaSXin Li if snFromFileIDStr != "" { 19*ba677afaSXin Li fmt.Fprintf(w, "SnippetFromFileSPDXID: %s\n", snFromFileIDStr) 20*ba677afaSXin Li } 21*ba677afaSXin Li 22*ba677afaSXin Li for _, snippetRange := range sn.Ranges { 23*ba677afaSXin Li if snippetRange.StartPointer.Offset != 0 && snippetRange.EndPointer.Offset != 0 { 24*ba677afaSXin Li fmt.Fprintf(w, "SnippetByteRange: %d:%d\n", snippetRange.StartPointer.Offset, snippetRange.EndPointer.Offset) 25*ba677afaSXin Li } 26*ba677afaSXin Li if snippetRange.StartPointer.LineNumber != 0 && snippetRange.EndPointer.LineNumber != 0 { 27*ba677afaSXin Li fmt.Fprintf(w, "SnippetLineRange: %d:%d\n", snippetRange.StartPointer.LineNumber, snippetRange.EndPointer.LineNumber) 28*ba677afaSXin Li } 29*ba677afaSXin Li } 30*ba677afaSXin Li if sn.SnippetLicenseConcluded != "" { 31*ba677afaSXin Li fmt.Fprintf(w, "SnippetLicenseConcluded: %s\n", sn.SnippetLicenseConcluded) 32*ba677afaSXin Li } 33*ba677afaSXin Li for _, s := range sn.LicenseInfoInSnippet { 34*ba677afaSXin Li fmt.Fprintf(w, "LicenseInfoInSnippet: %s\n", s) 35*ba677afaSXin Li } 36*ba677afaSXin Li if sn.SnippetLicenseComments != "" { 37*ba677afaSXin Li fmt.Fprintf(w, "SnippetLicenseComments: %s\n", textify(sn.SnippetLicenseComments)) 38*ba677afaSXin Li } 39*ba677afaSXin Li if sn.SnippetCopyrightText != "" { 40*ba677afaSXin Li fmt.Fprintf(w, "SnippetCopyrightText: %s\n", textify(sn.SnippetCopyrightText)) 41*ba677afaSXin Li } 42*ba677afaSXin Li if sn.SnippetComment != "" { 43*ba677afaSXin Li fmt.Fprintf(w, "SnippetComment: %s\n", textify(sn.SnippetComment)) 44*ba677afaSXin Li } 45*ba677afaSXin Li if sn.SnippetName != "" { 46*ba677afaSXin Li fmt.Fprintf(w, "SnippetName: %s\n", sn.SnippetName) 47*ba677afaSXin Li } 48*ba677afaSXin Li 49*ba677afaSXin Li fmt.Fprintf(w, "\n") 50*ba677afaSXin Li 51*ba677afaSXin Li return nil 52*ba677afaSXin Li} 53