diff options
| author | Shulhan <ms@kilabit.info> | 2026-01-10 18:20:52 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2026-01-10 18:20:52 +0700 |
| commit | 187cf1cb9cc684f3860426be86e9c682aa6c849f (patch) | |
| tree | 95bb19caf30f9685916c453dcff4e4c0297a3fbf /file.go | |
| parent | 6b1ee0dbb0e0801afbf98199e0ca0dd5b2dbe3cb (diff) | |
| download | spdxconv-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.go | 25 |
1 files changed, 15 insertions, 10 deletions
@@ -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 } } |
