0

I am trying to rewrite the license headers of a project I am working on so that it just has the copyright, the year, and the author of the project, and a reference to the SPDX of the license in question. As I understand it, I should be able to use the original license as a pattern and have it substituted by the original content; this doesn't seem to be working however. Here is a reference on what I have now for both.

        content: |
            Copyright (c) [year] [owner]

            SPDX-License-IDENTIFIER: AGPL-3.0-or-later

        pattern: |
            Copyright (C) [year] [owner]

            This program is free software: you can redistribute it and/or modify
            it under the terms of the GNU Affero General Public License as
            published by the Free Software Foundation, either version 3 of the
            License, or (at your option) any later version.

            This program is distributed in the hope that it will be useful,
            but WITHOUT ANY WARRANTY; without even the implied warranty of
            MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
            GNU Affero General Public License for more details.

            You should have received a copy of the GNU Affero General Public License
            along with this program. If not, see <http://www.gnu.org/licenses/>.

Applying these to with fix, it is appending the new header onto the old one and not replacing it. Is this functionality not yet implemented or am I mistaken somewhere in the yaml?

Gilles Quénot
  • 173,512
  • 41
  • 224
  • 223
Pythonicator
  • 49
  • 1
  • 6
  • Github do this for you automatically. To do it in CLI, see my answer – Gilles Quénot Apr 27 '23 at 14:54
  • 1
    Which command are you executing? What does it output? What is an example file start that is not updated, how does it look like when it is appended to that file? Please add those clarifications to your question by editing them in. – hakre May 28 '23 at 05:45

1 Answers1

0

What I would do, with a proper template engine:

With Python

$ pip install jinja-cli
$ cat file
content: |
    Copyright (c) {{ year }} {{ owner }}

    SPDX-License-IDENTIFIER: AGPL-3.0-or-later

pattern: |
    Copyright (C) {{ year }} {{ owner }}

$ jinja -D owner Zorglub -D year 2033 file
content: |
    Copyright (c) 2033 Zorglub

    SPDX-License-IDENTIFIER: AGPL-3.0-or-later

pattern: |
    Copyright (C) 2033 Zorglub

With Perl Template

$ cpan Template # install Template Perl's module or use package manager
$ cat file
content: |
    Copyright (c) [% year %] [% owner %]

    SPDX-License-IDENTIFIER: AGPL-3.0-or-later

pattern: |
    Copyright (C) [% year %] [% owner %]

$ tpage --define year=2033  --define owner=Zorglub --interpolate file
content: |
    Copyright (c) 2033 Zorglub

    SPDX-License-IDENTIFIER: AGPL-3.0-or-later

pattern: |
    Copyright (C) 2033 Zorglub
hakre
  • 193,403
  • 52
  • 435
  • 836
Gilles Quénot
  • 173,512
  • 41
  • 224
  • 223