| Age | Commit message (Collapse) | Author |
|
This makes the configuration more concise where pattern can be split
into multi lines.
While at it, add more pattern to match-file-comment.
|
|
When scan running, it will try to load the previous report file to
minimize re-scanning of file that has been applied or detected (regular
or binary).
If the report file does not exist, do not return the error, keep going.
|
|
The done group contain list of file that has been processed.
File from group regular and binary that has been modified or added with
SPDX format will be moved to here.
|
|
Previously, we use two boolean fields to flag a file as binary and
unknown.
In order to simplify it in the future we change it to int.
|
|
File that match with match-file-pattern but without prefix and suffix
will be marked as binary.
|
|
The space should be added only when generating the SPDX lines.
In the spdxconv.report, it should print the prefix and suffix as in
match-file-comment.
|
|
|
|
If the line that match with pattern on match-copyright does not contains
year, or there is no match, try to get the year from the first commit of
the file using "git log --follow ..." command.
If no commit history or its not using git, use default copyright year from
configuration.
|
|
While at it, also add configuration for delete line before and after
for match-copyright section.
|
|
Instead of assuming that the comment prefix and space always exists
"^(//)\s+..."
change it to be optional, so it will works on the multi-line comment.
For example, comment and old headers in html,
<--
Copyright ...
-->
there is no comment prefix and space.
|
|
The `copyright_year` set the default year to be used in
`SPDX-FileCopyrightText`.
The year can be a single year (for example "2026"), range of year (for
example, "2000-2026"), or list of year with comma separated (for example,
"2000,2001,2026"); as long as there is no space in between.
|
|
|
|
The first thing that the program do is to detect which comment string to
be used when inserting SPDX identifiers in the file.
For each pattern in the "match-file-comment" section, the program will
match it with file name to get the comment prefix and suffix to be used
later.
User can add their own "match-file-comment" section as they like or modify
the existing one.
The "match-file-comment" can have empty prefix and suffix.
That means, if the file name match, it will create new file with
".license" suffix that contains SPDX identifiers only, instead of
inserting to the file.
|
|
The apply command read the "spdxconv.report" and apply the license and
copyright as stated on each file in the report.
A file that has been successfully processed will be removed from the
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.
|
|
Using space separated with double quote on some fields are not easy to
parse.
Using CSV allow us to use the [encoding/csv] package from standard
library.
|
|
The scan command scan the files that need to be converted or inserted with
SPDX identifiers in the current directory.
The result of scan is stored inside a report file named "spdxconv.report".
There are no other files modified after scan completed.
User then can inspect and modify the report to exclude certain files or
changes the behaviour of apply command.
Deleting a line in the report means excluding the file from being
processed by "apply" command.
|
|
I wrote the initial codes in December 2025 but commit it on year 2026.
|
|
Ah, the irony.
|
|
If the file contains "SPDX-License-Identifier", it will not modify it.
The program will move the identifier to the top of file after shebang.
If the spdxconv.cfg contains match-license, and the pattern match with
one of the line in the file, it will use the license_identifier instead
of default one and insert it at the top, after shebang.
If the files does not contains the identifier, it will insert new one
based on default value in spdxconv.cfg file.
|