about summary refs log tree commit diff stats
path: root/templates/rust/.licensure.yml
blob: 74efd9ac496fb0bb5b9773395e2aa55b15405374 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
---
# Regexes which if matched by a file path will always be excluded from
# getting a license header
excludes:
  - .*lock
  - \.git/.*
  - LICENSE.spdx
  - LICENSE
  - COPYING
  - COPYING.LESSER
  - .*\.(rst|txt|pdf)
# Definition of the licenses used on this project and to what files
# they should apply.
#
# No default license configuration is provided. This section must be
# configured by the user.
licenses:
  - files: \.tex
    ident: CC-BY-SA-4.0
    authors:
      - name: Benedikt Peetz
        email: "benedikt.peetz@b-peetz.de"

    template: |
      TODO 2024 - [year] (C) by [name of author]
      SPDX-License-Identifier: CC-BY-SA-4.0

      TODO is licensed under a
      Creative Commons Attribution-ShareAlike 4.0 International License.

      You should have received a copy of the license along with this
      work.  If not, see <https://creativecommons.org/licenses/by-sa/4.0/>.

    unwrap_text: false

  # Either a regex or the string "any" to determine to what files this
  # license should apply. It is common for projects to have files
  # under multiple licenses or with multiple copyright holders. This
  # provides the ability to automatically license files correctly
  # based on their file paths.
  #
  # If "any" is provided all files will match this license.
  - files: any
    #
    #   The license identifier, a list of common identifiers can be
    #   found at: https://spdx.org/licenses/ but existence of the ident
    #   in this list it is not enforced unless auto_template is set to
    #   true.
    ident: GPL-3.0-or-later
    #
    #   A list of authors who hold copyright over these files
    authors:
      # Provide either your full name or company name for copyright purposes
      - name: Benedikt Peetz
        # Optionally provide email for copyright purposes
        email: "benedikt.peetz@b-peetz.de"

    #   The template that will be rendered to generate the header before
    #   comment characters are applied. Available variables are:
    #    - [year]: substituted with the current year.
    #    - [name of author]: Substituted with name of the author and email
    #      if provided. If email is provided the output appears as Full
    #      Name <email@example.com>. If multiple authors are provided the
    #      list is concatenated together with commas.
    template: |
        Copyright (C) 2023 - [year]:
        [name of author]
        SPDX-License-Identifier: GPL-3.0-or-later

        This file is part of the TODO.

        TODO is free software: you can redistribute it and/or modify
        it under the terms of the Lesser GNU 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 General Public License for more details.

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


    #   If auto_template is true then template is ignored and the SPDX
    #   API will be queried with the ident value to automatically
    #   determine the license header template. auto_template works best
    #   with licenses that have a standardLicenseHeader field defined in
    #   their license info JSON, if it is not then we will use the full
    #   licenseText to generate the header which works fine for short
    #   licenses like MIT but can be quite lengthy for other licenses
    #   like BSD-4-Clause. The above default template is valid for most
    #   licenses and is recommended for MIT, and BSD licenses. Common
    #   licenses that work well with the auto_template feature are GPL
    #   variants, and the Apache 2.0 license.
    #
    #   Important Note: this means the ident must be a valid SPDX identifier
    # auto_template: true

    #   If true try to detect the text wrapping of the template, and unwrap it
    unwrap_text: false

# Define type of comment characters to apply based on file extensions.
comments:
  # The extensions (or singular extension) field defines which file
  # extensions to apply the commenter to.
  - extensions:
      - js
      - go
    # The commenter field defines the kind of commenter to
    # generate. There are two types of commenters: line and block.
    #
    # This demonstrates a line commenter configuration. A line
    # commenter type will apply the comment_char to the beginning of
    # each line in the license header. It will then apply a number of
    # empty newlines to the end of the header equal to trailing_lines.
    #
    # If trailing_lines is omitted it is assumed to be 0.
    commenter:
      type: line
      comment_char: "//"
      trailing_lines: 1

  - extensions:
      - rs
      - tri
      - css
      - cpp
      - c
      - h
    # This demonstrates a block commenter configuration. A block
    # commenter type will add start_block_char as the first character
    # in the license header and add end_block_char as the last character
    # in the license header. If per_line_char is provided each line of
    # the header between the block start and end characters will be
    # line commented with the per_line_char
    #
    # trailing_lines works the same for both block and line commenter
    # types
    commenter:
      type: block
      start_block_char: "/*\n"
      end_block_char: "*/\n"
      per_line_char: "*"
      trailing_lines: 1

  - extension:
      - html
      - md
    commenter:
      type: block
      start_block_char: "<!--\n"
      end_block_char: "-->\n"
      trailing_lines: 1

  - extensions:
      - el
      - lisp
    commenter:
      type: line
      comment_char: ";;;"
      trailing_lines: 1

  - extensions:
      - tex
      - bib
    commenter:
      type: line
      comment_char: "%"
      trailing_lines: 1

  # The extension string "any" is special and so will match any file
  # extensions. Commenter configurations are always checked in the
  # order they are defined, so if any is used it should be the last
  # commenter configuration or else it will override all others.
  #
  # In this configuration if we can't match the file extension we fall
  # back to the popular '#' line comment used in most scripting
  # languages.
  - extension: any
    commenter:
      type: line
      comment_char: '#'
      trailing_lines: 1