diff options
| author | Shulhan <ms@kilabit.info> | 2026-01-05 22:35:40 +0700 |
|---|---|---|
| committer | Shulhan <ms@kilabit.info> | 2026-01-06 00:27:33 +0700 |
| commit | 2cda75bc9385da199b4db5f6cc2692bfd694fcf1 (patch) | |
| tree | 75841e8ab18c3838256461e3a8b8c66c5d844ad5 /config.go | |
| download | spdxconv-2cda75bc9385da199b4db5f6cc2692bfd694fcf1.tar.xz | |
spdxconv: tool to convert license and copyright to SPDX format
This is the initial implementation, work in progress, with the following
functions,
* loading the spdxconv.cfg file
* scanning list of files to be converted
* detect .git repository and exclude files ignored by .gitignore
No conversion logic is implemented yet.
Diffstat (limited to 'config.go')
| -rw-r--r-- | config.go | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/config.go b/config.go new file mode 100644 index 0000000..962b0ad --- /dev/null +++ b/config.go @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: GPL-3.0-only +// SPDX-FileCopyrightText: 2025 M. Shulhan <ms@kilabit.info> + +package spdxconv + +import "errors" + +type config struct { + LicenseIdentifier string `ini:"default::license_identifier"` + FileCopyrightText string `ini:"default::file_copyright_text"` + + MatchLicense []configMatchLicense `ini:"match-license"` + + MaxLineMatch int `ini:"default::max_line_match"` +} + +func (cfg *config) init() (err error) { + const defMaxLineMatch = 10 + if cfg.LicenseIdentifier == `` { + return errors.New(`empty default license_identifier`) + } + if cfg.FileCopyrightText == `` { + return errors.New(`empty default file_copyright_text`) + } + if cfg.MaxLineMatch <= 0 { + cfg.MaxLineMatch = defMaxLineMatch + } + return nil +} |
