aboutsummaryrefslogtreecommitdiff
path: root/file.go
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2026-01-10 18:20:52 +0700
committerShulhan <ms@kilabit.info>2026-01-10 18:20:52 +0700
commit187cf1cb9cc684f3860426be86e9c682aa6c849f (patch)
tree95bb19caf30f9685916c453dcff4e4c0297a3fbf /file.go
parent6b1ee0dbb0e0801afbf98199e0ca0dd5b2dbe3cb (diff)
downloadspdxconv-187cf1cb9cc684f3860426be86e9c682aa6c849f.tar.xz
report: store the index line number and comments in report
For the index line number, instead of tied to license_id and copyright_id value (separated by ":"), store it in separate column as idx_license_id and idx_copyright_id. For comments, store the prefix and suffix at column 6 and 7 in CSV line.
Diffstat (limited to 'file.go')
-rw-r--r--file.go25
1 files changed, 15 insertions, 10 deletions
diff --git a/file.go b/file.go
index 63cf35a..735aa79 100644
--- a/file.go
+++ b/file.go
@@ -17,6 +17,7 @@ import (
const (
valDefault = `default` // Use the default value from configuration.
valExist = `exist` // The license/copyright exist in the file.
+ valMatch = `match` // One of the pattern in match-xxx found in file.
valUnknown = `unknown`
)
@@ -144,7 +145,7 @@ func (f *file) scanLicenseID(conv *SPDXConv) {
for x, line := range f.topLines {
if reLicenseID.Match(line) {
f.idxLicenseID = x
- f.licenseID = fmt.Sprintf("%s:%d", valExist, f.idxLicenseID)
+ f.licenseID = valExist
if f.hasSheBang && x == 1 {
return
}
@@ -154,18 +155,20 @@ func (f *file) scanLicenseID(conv *SPDXConv) {
return
}
if cml.rePattern.Match(line) {
- f.licenseID = cml.LicenseIdentifier
+ f.idxLicenseID = x
+ f.licenseID = valMatch
return
}
}
for x, line := range f.bottomLines {
if reLicenseID.Match(line) {
- f.idxLicenseID = x * -1
- f.licenseID = fmt.Sprintf("%s:%d", valExist, f.idxLicenseID)
+ f.idxLicenseID = x - conv.cfg.MaxLineMatch
+ f.licenseID = valExist
return
}
if cml.rePattern.Match(line) {
- f.licenseID = cml.LicenseIdentifier
+ f.idxLicenseID = x - conv.cfg.MaxLineMatch
+ f.licenseID = valMatch
return
}
}
@@ -178,7 +181,7 @@ func (f *file) scanCopyrightText(conv *SPDXConv) {
for x, line := range f.topLines {
if reCopyrightText.Match(line) {
f.idxCopyrightText = x
- f.copyrightText = fmt.Sprintf("%s:%d", valExist, f.idxCopyrightText)
+ f.copyrightText = valExist
if f.hasSheBang && x == 1 {
return
}
@@ -188,18 +191,20 @@ func (f *file) scanCopyrightText(conv *SPDXConv) {
return
}
if cmc.match(string(line)) {
- f.copyrightText = cmc.String()
+ f.idxCopyrightText = x
+ f.copyrightText = valMatch
return
}
}
for x, line := range f.bottomLines {
if reLicenseID.Match(line) {
- f.idxCopyrightText = x * -1
- f.licenseID = fmt.Sprintf("%s:%d", valExist, f.idxCopyrightText)
+ f.idxCopyrightText = x - conv.cfg.MaxLineMatch
+ f.licenseID = valExist
return
}
if cmc.match(string(line)) {
- f.copyrightText = cmc.String()
+ f.idxCopyrightText = x - conv.cfg.MaxLineMatch
+ f.copyrightText = valMatch
return
}
}