aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--file.go35
-rw-r--r--file_test.go12
-rw-r--r--match_file_comment.go6
-rw-r--r--spdxconv_test.go30
-rw-r--r--testdata/Apply_fromReport_test.txt2
5 files changed, 47 insertions, 38 deletions
diff --git a/file.go b/file.go
index c98beb1..42bc245 100644
--- a/file.go
+++ b/file.go
@@ -269,29 +269,44 @@ func (f *file) apply(conv *SPDXConv) (err error) {
f.applyDelete(&conv.cfg)
+ // Write the license identifier ...
+
+ var line bytes.Buffer
+ if f.commentPrefix != `` {
+ line.WriteString(f.commentPrefix + ` `)
+ }
// REUSE-IgnoreStart
- line := fmt.Sprintf("%sSPDX-License-Identifier: %s%s",
- f.commentPrefix, f.licenseID, f.commentSuffix)
+ line.WriteString(`SPDX-License-Identifier: ` + f.licenseID)
// REUSE-IgnoreEnd
+ if f.commentSuffix != `` {
+ line.WriteString(` ` + f.commentSuffix)
+ }
- rawline := []byte(line)
if f.hasSheBang {
f.idxLicenseID = 1
} else {
f.idxLicenseID = 0
}
- f.topLines = slices.Insert(f.topLines, f.idxLicenseID, rawline)
+ f.topLines = slices.Insert(f.topLines, f.idxLicenseID, bytes.Clone(line.Bytes()))
- if f.copyrightYear != `` {
- f.copyrightYear += ` `
+ // Write the copyright text ...
+
+ line.Reset()
+ if f.commentPrefix != `` {
+ line.WriteString(f.commentPrefix + ` `)
}
// REUSE-IgnoreStart
- line = fmt.Sprintf("%sSPDX-FileCopyrightText: %s%s%s",
- f.commentPrefix, f.copyrightYear, f.copyrightText, f.commentSuffix)
+ line.WriteString(`SPDX-FileCopyrightText: `)
// REUSE-IgnoreEnd
+ if f.copyrightYear != `` {
+ line.WriteString(f.copyrightYear + ` `)
+ }
+ line.WriteString(f.copyrightText)
+ if f.commentSuffix != `` {
+ line.WriteString(` ` + f.commentSuffix)
+ }
- rawline = []byte(line)
- f.topLines = slices.Insert(f.topLines, f.idxLicenseID+1, rawline)
+ f.topLines = slices.Insert(f.topLines, f.idxLicenseID+1, bytes.Clone(line.Bytes()))
f.insertEmptyLine(f.idxLicenseID + 2)
diff --git a/file_test.go b/file_test.go
index 20110ca..878789c 100644
--- a/file_test.go
+++ b/file_test.go
@@ -26,7 +26,7 @@ func TestFile_detectComment(t *testing.T) {
topLines: [][]byte{
[]byte(`#!/bin/sh`),
},
- commentPrefix: `# `,
+ commentPrefix: `#`,
hasSheBang: true,
},
}, {
@@ -35,7 +35,7 @@ func TestFile_detectComment(t *testing.T) {
},
expFile: file{
path: `test.rb`,
- commentPrefix: `# `,
+ commentPrefix: `#`,
},
}, {
f: file{
@@ -43,7 +43,7 @@ func TestFile_detectComment(t *testing.T) {
},
expFile: file{
path: `test.c`,
- commentPrefix: `// `,
+ commentPrefix: `//`,
},
}, {
f: file{
@@ -51,7 +51,7 @@ func TestFile_detectComment(t *testing.T) {
},
expFile: file{
path: `test.go`,
- commentPrefix: `// `,
+ commentPrefix: `//`,
},
}, {
f: file{
@@ -59,8 +59,8 @@ func TestFile_detectComment(t *testing.T) {
},
expFile: file{
path: `test.html`,
- commentPrefix: `<!-- `,
- commentSuffix: ` -->`,
+ commentPrefix: `<!--`,
+ commentSuffix: `-->`,
},
}}
cfg := &config{}
diff --git a/match_file_comment.go b/match_file_comment.go
index ac2db29..e5b4233 100644
--- a/match_file_comment.go
+++ b/match_file_comment.go
@@ -28,12 +28,6 @@ func (mfc *matchFileComment) init() (err error) {
if err != nil {
return fmt.Errorf(`%s: pattern %q: %w`, logp, mfc.Pattern, err)
}
- if mfc.Prefix != `` && mfc.Prefix[len(mfc.Prefix)-1] != ' ' {
- mfc.Prefix += ` `
- }
- if mfc.Suffix != `` && mfc.Suffix[0] != ' ' {
- mfc.Suffix = ` ` + mfc.Suffix
- }
return nil
}
diff --git a/spdxconv_test.go b/spdxconv_test.go
index fd318b8..d73c69f 100644
--- a/spdxconv_test.go
+++ b/spdxconv_test.go
@@ -39,27 +39,27 @@ func TestInit(t *testing.T) {
MaxLineMatch: 10,
MatchFileComment: []*matchFileComment{{
Pattern: `^.*\.(adoc|asciidoc|c|cc|cpp|cs|dart|go|h|hh|hpp|java|js|jsx|jsonc|kt|kts|php|rs|sass|scss|swift|ts|tsx)$`,
- Prefix: `// `,
+ Prefix: `//`,
}, {
Pattern: `^.*\.(aff|bash|csh|dockerfile|env|gitignore|hcl|ipynb|make|pl|pm|py|ps1|rb|sh|tf|yaml|yml|zsh)$`,
- Prefix: `# `,
+ Prefix: `#`,
}, {
Pattern: `^.*\.(css)$`,
- Prefix: `/* `,
- Suffix: ` */`,
+ Prefix: `/*`,
+ Suffix: `*/`,
}, {
Pattern: `^.*\.(fxml|htm|html|html5|kml|markdown|md|xml)$`,
- Prefix: `<!-- `,
- Suffix: ` -->`,
+ Prefix: `<!--`,
+ Suffix: `-->`,
}, {
Pattern: `^.*\.(lua|sql)$`,
- Prefix: `-- `,
+ Prefix: `--`,
}, {
Pattern: `^.*\.(rst)$`,
- Prefix: `.. `,
+ Prefix: `..`,
}, {
Pattern: `^.*\.(tex)$`,
- Prefix: `% `,
+ Prefix: `%`,
}, {
Pattern: `^.*\.(apk|app|bz2|csv|doc|docx|exe|gif|gz|jpeg|jpg|json|pdf|png|ppt|pptx|svg|svgz|tar|tgz|xls|xlsx|zip)$`,
}},
@@ -134,12 +134,12 @@ func TestScan(t *testing.T) {
//
//spdxconv:regular
//
-no_copyright_year.md,match,2,2026,default,0,<!-- ," -->"
-po/included.go,match,1,2026,match,0,// ,
-test.go,match,1,2022,match,0,// ,
-test.html,match,4,2022,match,1,<!-- ," -->"
-test.sh,default,0,2026,default,0,# ,
-test.sql,match,1,2022,match,0,-- ,
+no_copyright_year.md,match,2,2026,default,0,<!--,-->
+po/included.go,match,1,2026,match,0,//,
+test.go,match,1,2022,match,0,//,
+test.html,match,4,2022,match,1,<!--,-->
+test.sh,default,0,2026,default,0,#,
+test.sql,match,1,2022,match,0,--,
//
//spdxconv:binary
//
diff --git a/testdata/Apply_fromReport_test.txt b/testdata/Apply_fromReport_test.txt
index 33d4e85..cecf3ee 100644
--- a/testdata/Apply_fromReport_test.txt
+++ b/testdata/Apply_fromReport_test.txt
@@ -62,7 +62,7 @@ delete_line_after = "^(//+|#+|\\*+/|--+>|--+)$"
>>> spdxconv.report
//spdxconv:regular
-empty.html,default,0,2026,default,0,<!-- ," -->"
+empty.html,default,0,2026,default,0,<!--,-->
//spdxconv:binary
//spdxconv:unknown