aboutsummaryrefslogtreecommitdiff
path: root/tvloader/parser2v2/parser.go
diff options
context:
space:
mode:
Diffstat (limited to 'tvloader/parser2v2/parser.go')
-rw-r--r--tvloader/parser2v2/parser.go11
1 files changed, 8 insertions, 3 deletions
diff --git a/tvloader/parser2v2/parser.go b/tvloader/parser2v2/parser.go
index e89bab1..9886874 100644
--- a/tvloader/parser2v2/parser.go
+++ b/tvloader/parser2v2/parser.go
@@ -20,7 +20,12 @@ func ParseTagValues(tvs []reader.TagValuePair) (*spdx.Document2_2, error) {
return nil, err
}
}
-
+ if parser.file != nil && parser.file.FileSPDXIdentifier == nullSpdxElementId2_2 {
+ return nil, fmt.Errorf("file with FileName %s does not have SPDX identifier", parser.file.FileName)
+ }
+ if parser.pkg != nil && parser.pkg.PackageSPDXIdentifier == nullSpdxElementId2_2 {
+ return nil, fmt.Errorf("package with PackageName %s does not have SPDX identifier", parser.pkg.PackageName)
+ }
return parser.doc, nil
}
@@ -41,14 +46,14 @@ func (parser *tvParser2_2) parsePair2_2(tag string, value string) error {
case psReview2_2:
return parser.parsePairFromReview2_2(tag, value)
default:
- return fmt.Errorf("Parser state %v not recognized when parsing (%s, %s)", parser.st, tag, value)
+ return fmt.Errorf("parser state %v not recognized when parsing (%s, %s)", parser.st, tag, value)
}
}
func (parser *tvParser2_2) parsePairFromStart2_2(tag string, value string) error {
// fail if not in Start parser state
if parser.st != psStart2_2 {
- return fmt.Errorf("Got invalid state %v in parsePairFromStart2_2", parser.st)
+ return fmt.Errorf("got invalid state %v in parsePairFromStart2_2", parser.st)
}
// create an SPDX Document data struct if we don't have one already