aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Winslow <swinslow@gmail.com>2018-09-24 14:34:21 -0400
committerSteve Winslow <swinslow@gmail.com>2018-09-24 14:34:21 -0400
commit7fbfcfe7e90cab894abb809500d956467cbdf46d (patch)
treeef5949bb59eabce438b18ed9a2a9a43a321dc7bc
parent1e2d710cd2279fd6be68d6f270bc143a0260a152 (diff)
downloadspdx-tools-7fbfcfe7e90cab894abb809500d956467cbdf46d.tar.gz
Added main entry point for loading SPDX tag-value 2.1 file
Signed-off-by: Steve Winslow <swinslow@gmail.com>
-rw-r--r--v0/tvloader/tvloader.go21
1 files changed, 17 insertions, 4 deletions
diff --git a/v0/tvloader/tvloader.go b/v0/tvloader/tvloader.go
index d034f40..018d13e 100644
--- a/v0/tvloader/tvloader.go
+++ b/v0/tvloader/tvloader.go
@@ -4,12 +4,25 @@
package tvloader
import (
+ "io"
+
+ "github.com/swinslow/spdx-go/v0/spdx"
"github.com/swinslow/spdx-go/v0/tvloader/parser2v1"
"github.com/swinslow/spdx-go/v0/tvloader/reader"
)
-type TVLoader struct {
- version string
- reader *reader.tvReader
- parser2_1 *parser2v1.parser2_1
+// Load2_1 takes an io.Reader and returns a fully-parsed SPDX Document
+// (version 2.1) if parseable, or error if any error is encountered.
+func Load2_1(content io.Reader) (*spdx.Document2_1, error) {
+ tvPairs, err := reader.ReadTagValues(content)
+ if err != nil {
+ return nil, err
+ }
+
+ doc, err := parser2v1.ParseTagValues(tvPairs)
+ if err != nil {
+ return nil, err
+ }
+
+ return doc, nil
}