diff options
| author | Shulhan <ms@kilabit.info> | 2026-01-15 21:15:00 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2026-01-15 21:23:48 +0700 |
| commit | aa7f2df15e91f5c94807247228cf82e18fe03887 (patch) | |
| tree | 2587dda62755cc69bb785786dd2c80214a23f679 | |
| parent | 32e4ea9ddf0c2d37f00fa81a4fb1dfe67420b8fe (diff) | |
| download | spdxconv-aa7f2df15e91f5c94807247228cf82e18fe03887.tar.xz | |
all: allow multiple pattern in match-file-comment
This makes the configuration more concise where pattern can be split
into multi lines.
While at it, add more pattern to match-file-comment.
| -rw-r--r-- | README.md | 36 | ||||
| -rw-r--r-- | config.go | 30 | ||||
| -rw-r--r-- | file.go | 2 | ||||
| -rw-r--r-- | match_file_comment.go | 29 | ||||
| -rw-r--r-- | spdxconv_test.go | 67 | ||||
| -rw-r--r-- | testdata/Apply_fromReport_test.txt | 19 | ||||
| -rw-r--r-- | testdata/Apply_test.txt | 19 | ||||
| -rw-r--r-- | testdata/loadConfig/config_exists/spdxconv.cfg | 15 | ||||
| -rw-r--r-- | testdata/scan/spdxconv.cfg | 24 |
9 files changed, 155 insertions, 86 deletions
@@ -66,9 +66,6 @@ This will create the `spdxconv.cfg` file in the current directory with the following content, ``` -# SPDX-License-Identifier: CC0-1.0 -# SPDX-FileCopyrightText: 2026 M. Shulhan <ms@kilabit.info> - [default] license_identifier = copyright_year = @@ -76,11 +73,17 @@ file_copyright_text = max_line_match = 10 [match-file-comment] -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)$" +pattern = "^.*\\.(adoc|asciidoc|c|cc|cpp|cs|dart|go|h|hh|hpp|java|js|jsx)$" +pattern = "^.*\\.(jsonc|kt|kts|php|rs|sass|scss|swift|ts|tsx)$" +pattern = "^(.*/)?(go.mod|go.work)$" prefix = "//" [match-file-comment] -pattern = "^.*\\.(bash|csh|dockerfile|env|gitignore|hcl|ipynb|make|pl|pm|py|ps1|rb|sh|tf|yaml|yml|zsh)$" +pattern = "^.*\\.(aff|aww|bash|csh|d2|dockerfile|env|gitignore|gitmodules|hcl|ipynb)$" +pattern = "^.*\\.(make|pl|pm|py|ps1|rb|sh|tf|toml|yaml|yml|zsh)$" +pattern = "^(.*/)?([Dd]ockerfile|[Mm]akefile|robots.txt)$" +# systemd.unit(5). +pattern = "^.*\\.(automount|device|mount|path|scope|service|slice|socket|swap|target|timer)$" prefix = "#" [match-file-comment] @@ -89,7 +92,7 @@ prefix = "/*" suffix = "*/" [match-file-comment] -pattern = "^.*\\.(fxml|htm|html|html5|kml|markdown|md|xml)$" +pattern = "^.*\\.(fxml|gohtml|htm|html|html5|kml|markdown|md|xml)$" prefix = "<!--" suffix = "-->" @@ -108,19 +111,24 @@ prefix = "%" # File name that match with this pattern will have the ".license" file # created. [match-file-comment] -pattern = "^.*\\.(apk|app|bz2|csv|doc|docx|exe|gif|gz|jpeg|jpg|json|pdf|png|ppt|pptx|svg|svgz|tar|tgz|xls|xlsx|zip)$" +pattern = "^.*\\.(apk|app|bz2|exe|gz|tar|tgz|zip)$" +pattern = "^.*\\.(csv|doc|docx|json|pdf|ppt|pptx|xls|xlsx)$" +pattern = "^.*\\.(bmp|gif|ico|jpeg|jpg|png|svg|svgz|webp)$" +pattern = "^.*\\.(3gp|avi|flv|mkv|mp3|mp4|mpeg|mpg|mpg4)$" +pattern = "^.*\\.(acc|ogg|mp3)$" +pattern = "^(.*/)?(go.sum|go.work.sum)$" [match-license] -pattern = "^(//+|#+|/\\*+|<!--+)?\\s*(.*)governed by a BSD-style(.*)$" +pattern = "^(//+|#+|/\\*+|<!--+|--+)?\\s*(.*)governed by a BSD-style(.*)$" license_identifier = BSD-3-Clause -delete_line_before = "^(//+|#+|/\\*+|<!--+)$" -delete_line_after = "^(//+|#+|/\\*+|<!--+)?\\s*license that can(.*)$" -delete_line_after = "^(//+|#+|\\*+/|--+>)$" +delete_line_before = "^(//+|#+|/\\*+|<!--+|--+)$" +delete_line_after = "^(//+|#+|/\\*+|<!--+|--+)?\\s*license that can(.*)$" +delete_line_after = "^(//+|#+|\\*+/|--+>|--+)$" [match-copyright] -pattern = "^(//+|#+|/\\*+|<!--+)?\\s*Copyright\\s+(?<year>\\d{4}),?\\s+(?<author>.*)\\s+<(?<contact>.*)>.*$" -delete_line_before = "^(//+|#+|/\\*+|<!--+)$" -delete_line_after = "^(//+|#+|\\*+/|--+>)$" +pattern = "^(//+|#+|/\\*+|<!--+|--+)?\\s*Copyright\\s+(?<year>\\d{4}),?\\s+(?<author>.*)\\s+<(?<contact>.*)>.*$" +delete_line_before = "^(//+|#+|/\\*+|<!--+|--+)$" +delete_line_after = "^(//+|#+|\\*+/|--+>|--+)$" ``` The configuration use the `ini` file format. @@ -19,19 +19,17 @@ file_copyright_text = max_line_match = 10 [match-file-comment] -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)$" +pattern = "^.*\\.(adoc|asciidoc|c|cc|cpp|cs|dart|go|h|hh|hpp|java|js|jsx)$" +pattern = "^.*\\.(jsonc|kt|kts|php|rs|sass|scss|swift|ts|tsx)$" +pattern = "^(.*/)?(go.mod|go.work)$" prefix = "//" [match-file-comment] -pattern = "^(.*/)?go.mod$" -prefix = "//" - -[match-file-comment] -pattern = "^.*\\.(aff|bash|csh|dockerfile|env|gitignore|hcl|ipynb|make|pl|pm|py|ps1|rb|sh|tf|yaml|yml|zsh)$" -prefix = "#" - -[match-file-comment] -pattern = "^(.*/)?[Mm]akefile$" +pattern = "^.*\\.(aff|aww|bash|csh|d2|dockerfile|env|gitignore|gitmodules|hcl|ipynb)$" +pattern = "^.*\\.(make|pl|pm|py|ps1|rb|sh|tf|toml|yaml|yml|zsh)$" +pattern = "^(.*/)?([Dd]ockerfile|[Mm]akefile|robots.txt)$" +# systemd.unit(5). +pattern = "^.*\\.(automount|device|mount|path|scope|service|slice|socket|swap|target|timer)$" prefix = "#" [match-file-comment] @@ -40,7 +38,7 @@ prefix = "/*" suffix = "*/" [match-file-comment] -pattern = "^.*\\.(fxml|htm|html|html5|kml|markdown|md|xml)$" +pattern = "^.*\\.(fxml|gohtml|htm|html|html5|kml|markdown|md|xml)$" prefix = "<!--" suffix = "-->" @@ -59,10 +57,12 @@ prefix = "%" # File name that match with this pattern will have the ".license" file # created. [match-file-comment] -pattern = "^.*\\.(apk|app|bz2|csv|doc|docx|exe|gif|gz|jpeg|jpg|json|pdf|png|ppt|pptx|svg|svgz|tar|tgz|xls|xlsx|zip)$" - -[match-file-comment] -pattern = "^(.*/)?go.sum$" +pattern = "^.*\\.(apk|app|bz2|exe|gz|tar|tgz|zip)$" +pattern = "^.*\\.(csv|doc|docx|json|pdf|ppt|pptx|xls|xlsx)$" +pattern = "^.*\\.(bmp|gif|ico|jpeg|jpg|png|svg|svgz|webp)$" +pattern = "^.*\\.(3gp|avi|flv|mkv|mp3|mp4|mpeg|mpg|mpg4)$" +pattern = "^.*\\.(acc|ogg|mp3)$" +pattern = "^(.*/)?(go.sum|go.work.sum)$" [match-license] pattern = "^(//+|#+|/\\*+|<!--+|--+)?\\s*(.*)governed by a BSD-style(.*)$" @@ -152,7 +152,7 @@ func (f *file) detectComment(cfg *config) { } var basename = strings.ToLower(filepath.Base(f.path)) for _, mfc := range cfg.MatchFileComment { - if mfc.rePattern.MatchString(basename) { + if mfc.isMatch(basename) { if mfc.isDirectLicense() { f.group = groupBinary return diff --git a/match_file_comment.go b/match_file_comment.go index e5b4233..90ce22e 100644 --- a/match_file_comment.go +++ b/match_file_comment.go @@ -14,19 +14,22 @@ import ( // File name that have empty Prefix and Suffix and match with the pattern will // have the ".license" file created. type matchFileComment struct { - rePattern *regexp.Regexp + Prefix string `ini:"match-file-comment::prefix"` + Suffix string `ini:"match-file-comment::suffix"` - Pattern string `ini:"match-file-comment::pattern"` - Prefix string `ini:"match-file-comment::prefix"` - Suffix string `ini:"match-file-comment::suffix"` + Pattern []string `ini:"match-file-comment::pattern"` + rePattern []*regexp.Regexp } func (mfc *matchFileComment) init() (err error) { var logp = `match-file-comment` - - mfc.rePattern, err = regexp.Compile(mfc.Pattern) - if err != nil { - return fmt.Errorf(`%s: pattern %q: %w`, logp, mfc.Pattern, err) + var re *regexp.Regexp + for _, pattern := range mfc.Pattern { + re, err = regexp.Compile(pattern) + if err != nil { + return fmt.Errorf(`%s: pattern %q: %w`, logp, pattern, err) + } + mfc.rePattern = append(mfc.rePattern, re) } return nil } @@ -34,3 +37,13 @@ func (mfc *matchFileComment) init() (err error) { func (mfc *matchFileComment) isDirectLicense() bool { return mfc.Prefix == `` && mfc.Suffix == `` } + +// isMatch return true if the filename match with one of the pattern. +func (mfc *matchFileComment) isMatch(filename string) bool { + for _, re := range mfc.rePattern { + if re.MatchString(filename) { + return true + } + } + return false +} diff --git a/spdxconv_test.go b/spdxconv_test.go index 1496e14..52bd114 100644 --- a/spdxconv_test.go +++ b/spdxconv_test.go @@ -37,38 +37,54 @@ func TestInit(t *testing.T) { exp := config{ 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: `//`, - }, { - Pattern: `^(.*/)?go.mod$`, - Prefix: `//`, - }, { - Pattern: `^.*\.(aff|bash|csh|dockerfile|env|gitignore|hcl|ipynb|make|pl|pm|py|ps1|rb|sh|tf|yaml|yml|zsh)$`, - Prefix: `#`, + Pattern: []string{ + `^.*\.(adoc|asciidoc|c|cc|cpp|cs|dart|go|h|hh|hpp|java|js|jsx)$`, + `^.*\.(jsonc|kt|kts|php|rs|sass|scss|swift|ts|tsx)$`, + `^(.*/)?(go.mod|go.work)$`, + }, + Prefix: `//`, }, { - Pattern: `^(.*/)?[Mm]akefile$`, - Prefix: `#`, + Pattern: []string{ + `^.*\.(aff|aww|bash|csh|d2|dockerfile|env|gitignore|gitmodules)$`, + `^.*\.(hcl|ipynb|make|pl|pm|py|ps1|rb|sh|tf|toml|yaml|yml|zsh)$`, + `^(.*/)?([Dd]ockerfile|[Mm]akefile|robots.txt)$`, + `^.*\.(automount|device|mount|path|scope|service|slice|socket|swap|target|timer)$`, + }, + Prefix: `#`, }, { - Pattern: `^.*\.(css)$`, + Pattern: []string{`^.*\.(css)$`}, Prefix: `/*`, Suffix: `*/`, }, { - Pattern: `^.*\.(fxml|htm|html|html5|kml|markdown|md|xml)$`, - Prefix: `<!--`, - Suffix: `-->`, - }, { - Pattern: `^.*\.(lua|sql)$`, - Prefix: `--`, + Pattern: []string{ + `^.*\.(fxml|gohtml|htm|html|html5|kml|markdown|md|xml)$`, + }, + Prefix: `<!--`, + Suffix: `-->`, }, { - Pattern: `^.*\.(rst)$`, - Prefix: `..`, + Pattern: []string{ + `^.*\.(lua|sql)$`, + }, + Prefix: `--`, }, { - Pattern: `^.*\.(tex)$`, - Prefix: `%`, + Pattern: []string{ + `^.*\.(rst)$`, + }, + 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)$`, + Pattern: []string{ + `^.*\.(tex)$`, + }, + Prefix: `%`, }, { - Pattern: `^(.*/)?go.sum$`, + Pattern: []string{ + `^.*\.(apk|app|bz2|exe|gz|tar|tgz|zip)$`, + `^.*\.(csv|doc|docx|json|pdf|ppt|pptx|xls|xlsx)$`, + `^.*\.(bmp|gif|ico|jpeg|jpg|png|svg|svgz|webp)$`, + `^.*\.(3gp|avi|flv|mkv|mp3|mp4|mpeg|mpg|mpg4)$`, + `^.*\.(acc|ogg|mp3)$`, + `^(.*/)?(go.sum|go.work.sum)$`, + }, }}, MatchLicense: []*matchLicense{{ Pattern: `^(//+|#+|/\*+|<!--+|--+)?\s*(.*)governed by a BSD-style(.*)$`, @@ -92,7 +108,10 @@ func TestInit(t *testing.T) { }}, } for _, mfc := range exp.MatchFileComment { - mfc.rePattern = regexp.MustCompile(mfc.Pattern) + for _, pattern := range mfc.Pattern { + re := regexp.MustCompile(pattern) + mfc.rePattern = append(mfc.rePattern, re) + } } for _, ml := range exp.MatchLicense { ml.rePattern = regexp.MustCompile(ml.Pattern) diff --git a/testdata/Apply_fromReport_test.txt b/testdata/Apply_fromReport_test.txt index cecf3ee..8a9eaf8 100644 --- a/testdata/Apply_fromReport_test.txt +++ b/testdata/Apply_fromReport_test.txt @@ -13,11 +13,17 @@ copyright_year = 2026 file_copyright_text = M. Shulhan <ms@kilabit.info> [match-file-comment] -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)$" +pattern = "^.*\\.(adoc|asciidoc|c|cc|cpp|cs|dart|go|h|hh|hpp|java|js|jsx)$" +pattern = "^.*\\.(jsonc|kt|kts|php|rs|sass|scss|swift|ts|tsx)$" +pattern = "^(.*/)?(go.mod|go.work)$" prefix = "//" [match-file-comment] -pattern = "^.*\\.(aff|bash|csh|dockerfile|env|gitignore|hcl|ipynb|make|pl|pm|py|ps1|rb|sh|tf|yaml|yml|zsh)$" +pattern = "^.*\\.(aff|bash|csh|dockerfile|env|gitignore|hcl|ipynb|make)$" +pattern = "^.*\\.(pl|pm|py|ps1|rb|sh|tf|yaml|yml|zsh)$" +pattern = "^(.*/)?[Mm]akefile$" +# systemd.unit(5). +pattern = "^.*\\.(automount|device|mount|path|scope|service|slice|socket|swap|target|timer)$" prefix = "#" [match-file-comment] @@ -26,7 +32,7 @@ prefix = "/*" suffix = "*/" [match-file-comment] -pattern = "^.*\\.(fxml|htm|html|html5|kml|markdown|md|xml)$" +pattern = "^.*\\.(fxml|gohtml|htm|html|html5|kml|markdown|md|xml)$" prefix = "<!--" suffix = "-->" @@ -45,7 +51,12 @@ prefix = "%" # File name that match with this pattern will have the ".license" file # created. [match-file-comment] -pattern = "^.*\\.(apk|app|bz2|csv|doc|docx|exe|gif|gz|jpeg|jpg|json|pdf|png|ppt|pptx|svg|svgz|tar|tgz|xls|xlsx|zip)$" +pattern = "^.*\\.(apk|app|bz2|exe|gz|tar|tgz|zip)$" +pattern = "^.*\\.(csv|doc|docx|json|pdf|ppt|pptx|xls|xlsx)$" +pattern = "^.*\\.(bmp|gif|ico|jpeg|jpg|png|svg|svgz)$" +pattern = "^.*\\.(3gp|avi|flv|mkv|mp3|mp4|mpeg|mpg|mpg4)$" +pattern = "^.*\\.(acc|ogg|mp3)$" +pattern = "^(.*/)?(go.sum|go.work.sum)$" [match-license] pattern = "^(//+|#+|/\\*+|<!--+|--+)?\\s*(.*)governed by a BSD-style(.*)$" diff --git a/testdata/Apply_test.txt b/testdata/Apply_test.txt index a6723e2..068a796 100644 --- a/testdata/Apply_test.txt +++ b/testdata/Apply_test.txt @@ -13,11 +13,17 @@ copyright_year = 2026 file_copyright_text = M. Shulhan <ms@kilabit.info> [match-file-comment] -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)$" +pattern = "^.*\\.(adoc|asciidoc|c|cc|cpp|cs|dart|go|h|hh|hpp|java|js|jsx)$" +pattern = "^.*\\.(jsonc|kt|kts|php|rs|sass|scss|swift|ts|tsx)$" +pattern = "^(.*/)?(go.mod|go.work)$" prefix = "//" [match-file-comment] -pattern = "^.*\\.(aff|bash|csh|dockerfile|env|gitignore|hcl|ipynb|make|pl|pm|py|ps1|rb|sh|tf|yaml|yml|zsh)$" +pattern = "^.*\\.(aff|bash|csh|dockerfile|env|gitignore|hcl|ipynb|make)$" +pattern = "^.*\\.(pl|pm|py|ps1|rb|sh|tf|yaml|yml|zsh)$" +pattern = "^(.*/)?[Mm]akefile$" +# systemd.unit(5). +pattern = "^.*\\.(automount|device|mount|path|scope|service|slice|socket|swap|target|timer)$" prefix = "#" [match-file-comment] @@ -26,7 +32,7 @@ prefix = "/*" suffix = "*/" [match-file-comment] -pattern = "^.*\\.(fxml|htm|html|html5|kml|markdown|md|xml)$" +pattern = "^.*\\.(fxml|gohtml|htm|html|html5|kml|markdown|md|xml)$" prefix = "<!--" suffix = "-->" @@ -45,7 +51,12 @@ prefix = "%" # File name that match with this pattern will have the ".license" file # created. [match-file-comment] -pattern = "^.*\\.(apk|app|bz2|csv|doc|docx|exe|gif|gz|jpeg|jpg|json|pdf|png|ppt|pptx|svg|svgz|tar|tgz|xls|xlsx|zip)$" +pattern = "^.*\\.(apk|app|bz2|exe|gz|tar|tgz|zip)$" +pattern = "^.*\\.(csv|doc|docx|json|pdf|ppt|pptx|xls|xlsx)$" +pattern = "^.*\\.(bmp|gif|ico|jpeg|jpg|png|svg|svgz)$" +pattern = "^.*\\.(3gp|avi|flv|mkv|mp3|mp4|mpeg|mpg|mpg4)$" +pattern = "^.*\\.(acc|ogg|mp3)$" +pattern = "^(.*/)?(go.sum|go.work.sum)$" [match-license] pattern = "^(//+|#+|/\\*+|<!--+|--+)?\\s*(.*)governed by a BSD-style(.*)$" diff --git a/testdata/loadConfig/config_exists/spdxconv.cfg b/testdata/loadConfig/config_exists/spdxconv.cfg index b92f0c8..aa26f19 100644 --- a/testdata/loadConfig/config_exists/spdxconv.cfg +++ b/testdata/loadConfig/config_exists/spdxconv.cfg @@ -8,11 +8,15 @@ file_copyright_text = Author <contact@email.local> max_line_match = 10 [match-file-comment] -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)$" +pattern = "^.*\\.(adoc|asciidoc|c|cc|cpp|cs|dart|go|h|hh|hpp|java|js|jsx)$" +pattern = "^.*\\.(jsonc|kt|kts|php|rs|sass|scss|swift|ts|tsx)$" +pattern = "^(.*/)?(go.mod|go.work)$" prefix = "//" [match-file-comment] -pattern = "^.*\\.(aff|bash|csh|dockerfile|env|gitignore|hcl|ipynb|make|pl|pm|py|ps1|rb|sh|tf|yaml|yml|zsh)$" +pattern = "^.*\\.(aff|bash|csh|dockerfile|env|gitignore|hcl|ipynb|make)$" +pattern = "^.*\\.(pl|pm|py|ps1|rb|sh|tf|yaml|yml|zsh)$" +pattern = "^(.*/)?[Mm]akefile$" prefix = "#" [match-file-comment] @@ -40,7 +44,12 @@ prefix = "%" # File name that match with this pattern will have the ".license" file # created. [match-file-comment] -pattern = "^.*\\.(apk|app|bz2|csv|doc|docx|exe|gif|gz|jpeg|jpg|json|pdf|png|ppt|pptx|svg|svgz|tar|tgz|xls|xlsx|zip)$" +pattern = "^.*\\.(apk|app|bz2|exe|gz|tar|tgz|zip)$" +pattern = "^.*\\.(csv|doc|docx|json|pdf|ppt|pptx|xls|xlsx)$" +pattern = "^.*\\.(bmp|gif|ico|jpeg|jpg|png|svg|svgz)$" +pattern = "^.*\\.(3gp|avi|flv|mkv|mp3|mp4|mpeg|mpg|mpg4)$" +pattern = "^.*\\.(acc|ogg|mp3)$" +pattern = "^(.*/)?(go.sum|go.work.sum)$" [match-license] pattern = "^(//+|#+|/\\*+|<!--+|--+)?\\s*(.*)governed by a BSD-style(.*)$" diff --git a/testdata/scan/spdxconv.cfg b/testdata/scan/spdxconv.cfg index afbdb31..1f5c6e3 100644 --- a/testdata/scan/spdxconv.cfg +++ b/testdata/scan/spdxconv.cfg @@ -8,18 +8,14 @@ file_copyright_text = Author <contact@email.local> max_line_match = 10 [match-file-comment] -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)$" +pattern = "^.*\\.(adoc|asciidoc|c|cc|cpp|cs|dart|go|h|hh|hpp|java|js|jsx)$" +pattern = "^.*\\.(jsonc|kt|kts|php|rs|sass|scss|swift|ts|tsx)$" +pattern = "^(.*/)?(go.mod|go.work)$" prefix = "//" [match-file-comment] -pattern = "^(.*/)?go.mod$" -prefix = "//" - -[match-file-comment] -pattern = "^.*\\.(aff|bash|csh|dockerfile|env|gitignore|hcl|ipynb|make|pl|pm|py|ps1|rb|sh|tf|yaml|yml|zsh)$" -prefix = "#" - -[match-file-comment] +pattern = "^.*\\.(aff|bash|csh|dockerfile|env|gitignore|hcl|ipynb|make)$" +pattern = "^.*\\.(pl|pm|py|ps1|rb|sh|tf|yaml|yml|zsh)$" pattern = "^(.*/)?[Mm]akefile$" prefix = "#" @@ -48,10 +44,12 @@ prefix = "%" # File name that match with this pattern will have the ".license" file # created. [match-file-comment] -pattern = "^.*\\.(apk|app|bz2|csv|doc|docx|exe|gif|gz|jpeg|jpg|json|pdf|png|ppt|pptx|svg|svgz|tar|tgz|xls|xlsx|zip)$" - -[match-file-comment] -pattern = "^(.*/)?go.sum$" +pattern = "^.*\\.(apk|app|bz2|exe|gz|tar|tgz|zip)$" +pattern = "^.*\\.(csv|doc|docx|json|pdf|ppt|pptx|xls|xlsx)$" +pattern = "^.*\\.(bmp|gif|ico|jpeg|jpg|png|svg|svgz)$" +pattern = "^.*\\.(3gp|avi|flv|mkv|mp3|mp4|mpeg|mpg|mpg4)$" +pattern = "^.*\\.(acc|ogg|mp3)$" +pattern = "^(.*/)?(go.sum|go.work.sum)$" [match-license] pattern = "^(//+|#+|/\\*+|<!--+|--+)?\\s*(.*)governed by a BSD-style(.*)$" |
