xref: /aosp_15_r20/external/spdx-tools/tvsaver/tvsaver.go (revision ba677afa8f67bb56cbc794f4d0e378e0da058e16)
1*ba677afaSXin Li// Package tvsaver is used to save tools-golang data structures
2*ba677afaSXin Li// as SPDX tag-value documents.
3*ba677afaSXin Li// SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
4*ba677afaSXin Lipackage tvsaver
5*ba677afaSXin Li
6*ba677afaSXin Liimport (
7*ba677afaSXin Li	"io"
8*ba677afaSXin Li
9*ba677afaSXin Li	"github.com/spdx/tools-golang/spdx/v2_1"
10*ba677afaSXin Li	"github.com/spdx/tools-golang/spdx/v2_2"
11*ba677afaSXin Li	"github.com/spdx/tools-golang/spdx/v2_3"
12*ba677afaSXin Li	"github.com/spdx/tools-golang/tvsaver/saver2v1"
13*ba677afaSXin Li	"github.com/spdx/tools-golang/tvsaver/saver2v2"
14*ba677afaSXin Li	"github.com/spdx/tools-golang/tvsaver/saver2v3"
15*ba677afaSXin Li)
16*ba677afaSXin Li
17*ba677afaSXin Li// Save2_1 takes an io.Writer and an SPDX Document (version 2.1),
18*ba677afaSXin Li// and writes it to the writer in tag-value format. It returns error
19*ba677afaSXin Li// if any error is encountered.
20*ba677afaSXin Lifunc Save2_1(doc *v2_1.Document, w io.Writer) error {
21*ba677afaSXin Li	return saver2v1.RenderDocument2_1(doc, w)
22*ba677afaSXin Li}
23*ba677afaSXin Li
24*ba677afaSXin Li// Save2_2 takes an io.Writer and an SPDX Document (version 2.2),
25*ba677afaSXin Li// and writes it to the writer in tag-value format. It returns error
26*ba677afaSXin Li// if any error is encountered.
27*ba677afaSXin Lifunc Save2_2(doc *v2_2.Document, w io.Writer) error {
28*ba677afaSXin Li	return saver2v2.RenderDocument2_2(doc, w)
29*ba677afaSXin Li}
30*ba677afaSXin Li
31*ba677afaSXin Li// Save2_3 takes an io.Writer and an SPDX Document (version 2.3),
32*ba677afaSXin Li// and writes it to the writer in tag-value format. It returns error
33*ba677afaSXin Li// if any error is encountered.
34*ba677afaSXin Lifunc Save2_3(doc *v2_3.Document, w io.Writer) error {
35*ba677afaSXin Li	return saver2v3.RenderDocument2_3(doc, w)
36*ba677afaSXin Li}
37