license_finder 7.0.1 → 7.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +7 -0
- data/.pre-commit-hooks.yaml +10 -0
- data/.rubocop.yml +5 -1
- data/CHANGELOG.md +41 -0
- data/CONTRIBUTING.md +1 -0
- data/Dockerfile +129 -122
- data/README.md +53 -14
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/ci/pipelines/pull-request.yml.erb +29 -32
- data/ci/pipelines/release.yml.erb +17 -41
- data/ci/scripts/run-tests.sh +20 -4
- data/ci/tasks/rubocop.yml +3 -3
- data/ci/tasks/update-changelog.yml +2 -2
- data/dlf +6 -1
- data/lib/license_finder/cli/base.rb +2 -0
- data/lib/license_finder/cli/licenses.rb +8 -3
- data/lib/license_finder/cli/main.rb +3 -1
- data/lib/license_finder/configuration.rb +8 -0
- data/lib/license_finder/core.rb +4 -2
- data/lib/license_finder/decision_applier.rb +1 -1
- data/lib/license_finder/decisions.rb +24 -6
- data/lib/license_finder/license/definitions.rb +129 -19
- data/lib/license_finder/license/templates/AGPL3.txt +661 -0
- data/lib/license_finder/license/templates/Apache2.txt +0 -2
- data/lib/license_finder/license/templates/Artistic.txt +128 -0
- data/lib/license_finder/license/templates/CC01_alt.txt +31 -0
- data/lib/license_finder/license/templates/CDDL1_1.txt +123 -0
- data/lib/license_finder/license/templates/CPL1.txt +217 -0
- data/lib/license_finder/license/templates/EPL2.txt +80 -0
- data/lib/license_finder/license/templates/Unlicense.txt +24 -0
- data/lib/license_finder/license/text.rb +4 -0
- data/lib/license_finder/license.rb +1 -1
- data/lib/license_finder/manual_licenses.rb +79 -0
- data/lib/license_finder/package.rb +1 -0
- data/lib/license_finder/package_manager.rb +2 -1
- data/lib/license_finder/package_managers/cargo.rb +1 -1
- data/lib/license_finder/package_managers/conan.rb +50 -8
- data/lib/license_finder/package_managers/dep.rb +43 -41
- data/lib/license_finder/package_managers/dotnet.rb +5 -2
- data/lib/license_finder/package_managers/go_dep.rb +1 -1
- data/lib/license_finder/package_managers/go_workspace.rb +3 -2
- data/lib/license_finder/package_managers/maven.rb +18 -10
- data/lib/license_finder/package_managers/npm.rb +14 -1
- data/lib/license_finder/package_managers/nuget.rb +5 -0
- data/lib/license_finder/package_managers/pip.rb +1 -1
- data/lib/license_finder/package_managers/pnpm.rb +126 -0
- data/lib/license_finder/package_managers/yarn.rb +69 -20
- data/lib/license_finder/package_utils/conan_info_parser.rb +2 -2
- data/lib/license_finder/package_utils/conan_info_parser_v2.rb +82 -0
- data/lib/license_finder/package_utils/license_files.rb +12 -2
- data/lib/license_finder/package_utils/licensing.rb +2 -1
- data/lib/license_finder/package_utils/maven_dependency_finder.rb +43 -1
- data/lib/license_finder/package_utils/notice_files.rb +14 -3
- data/lib/license_finder/package_utils/possible_license_file.rb +8 -2
- data/lib/license_finder/package_utils/pypi.rb +3 -1
- data/lib/license_finder/packages/maven_package.rb +13 -1
- data/lib/license_finder/packages/npm_package.rb +56 -9
- data/lib/license_finder/packages/pnpm_package.rb +13 -0
- data/lib/license_finder/printer.rb +2 -2
- data/lib/license_finder/reports/csv_report.rb +10 -1
- data/lib/license_finder/scanner.rb +3 -3
- data/license_finder.gemspec +12 -11
- metadata +54 -28
@@ -7,12 +7,17 @@ module LicenseFinder
|
|
7
7
|
|
8
8
|
def all
|
9
9
|
[
|
10
|
+
agpl3,
|
10
11
|
apache1_1,
|
11
12
|
apache2,
|
13
|
+
artistic,
|
12
14
|
bsd,
|
13
15
|
cc01,
|
14
16
|
cddl1,
|
17
|
+
cddl1_1,
|
18
|
+
cpl1,
|
15
19
|
eclipse1,
|
20
|
+
eclipse2,
|
16
21
|
gplv2,
|
17
22
|
gplv3,
|
18
23
|
isc,
|
@@ -26,6 +31,7 @@ module LicenseFinder
|
|
26
31
|
python,
|
27
32
|
ruby,
|
28
33
|
simplifiedbsd,
|
34
|
+
unlicense,
|
29
35
|
wtfpl,
|
30
36
|
zerobsd,
|
31
37
|
zlib
|
@@ -42,14 +48,39 @@ module LicenseFinder
|
|
42
48
|
|
43
49
|
private
|
44
50
|
|
51
|
+
def agpl3
|
52
|
+
License.new(
|
53
|
+
short_name: 'AGPL3',
|
54
|
+
spdx_id: 'AGPL-3.0-only',
|
55
|
+
pretty_name: 'GNU Affero GPL',
|
56
|
+
other_names: [
|
57
|
+
'AGPL 3',
|
58
|
+
'AGPL-3.0',
|
59
|
+
'AGPL 3.0',
|
60
|
+
'GNU Affero General Public License v3.0',
|
61
|
+
'GNU Affero General Public License, Version 3'
|
62
|
+
],
|
63
|
+
url: 'http://www.gnu.org/licenses/agpl-3.0.html'
|
64
|
+
)
|
65
|
+
end
|
66
|
+
|
45
67
|
def apache1_1
|
46
68
|
License.new(
|
47
69
|
short_name: 'Apache1_1',
|
48
|
-
pretty_name: 'Apache 1.1',
|
49
70
|
spdx_id: 'Apache-1.1',
|
71
|
+
pretty_name: 'Apache 1.1',
|
50
72
|
other_names: [
|
73
|
+
'Apache',
|
51
74
|
'Apache-1.1',
|
52
|
-
'
|
75
|
+
'APACHE 1.1',
|
76
|
+
'Apache License 1.1',
|
77
|
+
'Apache License Version 1.1',
|
78
|
+
'Apache Public License 1.1',
|
79
|
+
'Apache Software License, Version 1.1',
|
80
|
+
'Apache Software License - Version 1.1',
|
81
|
+
'Apache License, Version 1.1',
|
82
|
+
'ASL 1.1',
|
83
|
+
'ASF 1.1'
|
53
84
|
],
|
54
85
|
url: 'http://www.apache.org/licenses/LICENSE-1.1.txt'
|
55
86
|
)
|
@@ -58,10 +89,9 @@ module LicenseFinder
|
|
58
89
|
def apache2
|
59
90
|
License.new(
|
60
91
|
short_name: 'Apache2',
|
61
|
-
pretty_name: 'Apache 2.0',
|
62
92
|
spdx_id: 'Apache-2.0',
|
93
|
+
pretty_name: 'Apache 2.0',
|
63
94
|
other_names: [
|
64
|
-
'Apache-2.0',
|
65
95
|
'Apache Software License',
|
66
96
|
'Apache License 2.0',
|
67
97
|
'Apache License Version 2.0',
|
@@ -78,12 +108,22 @@ module LicenseFinder
|
|
78
108
|
)
|
79
109
|
end
|
80
110
|
|
111
|
+
def artistic
|
112
|
+
License.new(
|
113
|
+
short_name: 'Artistic',
|
114
|
+
spdx_id: 'Artistic-1.0',
|
115
|
+
pretty_name: 'Artistic 1.0',
|
116
|
+
other_names: ['Artistic License'],
|
117
|
+
url: 'https://www.perlfoundation.org/artistic-license-20.html'
|
118
|
+
)
|
119
|
+
end
|
120
|
+
|
81
121
|
def bsd
|
82
122
|
License.new(
|
83
123
|
short_name: 'BSD',
|
84
124
|
spdx_id: 'BSD-4-Clause',
|
85
|
-
other_names: ['BSD4', 'bsd-old', '4-clause BSD', 'BSD
|
86
|
-
url: '
|
125
|
+
other_names: ['BSD4', 'bsd-old', '4-clause BSD', 'BSD 4-Clause', 'BSD License'],
|
126
|
+
url: 'https://directory.fsf.org/wiki/License:BSD-4-Clause'
|
87
127
|
)
|
88
128
|
end
|
89
129
|
|
@@ -93,6 +133,10 @@ module LicenseFinder
|
|
93
133
|
spdx_id: 'CC0-1.0',
|
94
134
|
pretty_name: 'CC0 1.0 Universal',
|
95
135
|
other_names: ['CC0 1.0'],
|
136
|
+
matcher: AnyMatcher.new(
|
137
|
+
Matcher.from_template(Template.named('CC01')),
|
138
|
+
Matcher.from_template(Template.named('CC01_alt'))
|
139
|
+
),
|
96
140
|
url: 'http://creativecommons.org/publicdomain/zero/1.0'
|
97
141
|
)
|
98
142
|
end
|
@@ -111,25 +155,75 @@ module LicenseFinder
|
|
111
155
|
)
|
112
156
|
end
|
113
157
|
|
158
|
+
def cddl1_1
|
159
|
+
License.new(
|
160
|
+
short_name: 'CDDL1_1',
|
161
|
+
spdx_id: 'CDDL-1.1',
|
162
|
+
pretty_name: 'Common Development and Distribution License 1.1',
|
163
|
+
other_names: [
|
164
|
+
'CDDL-1.1',
|
165
|
+
'Common Development and Distribution License (CDDL) v1.1',
|
166
|
+
'COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.1'
|
167
|
+
],
|
168
|
+
url: 'https://spdx.org/licenses/CDDL-1.1.html'
|
169
|
+
)
|
170
|
+
end
|
171
|
+
|
172
|
+
def cpl1
|
173
|
+
License.new(
|
174
|
+
short_name: 'CPL1',
|
175
|
+
spdx_id: 'CPL-1.0',
|
176
|
+
pretty_name: 'Common Public License Version 1.0',
|
177
|
+
other_names: [
|
178
|
+
'CPL-1',
|
179
|
+
'CPL 1',
|
180
|
+
'CPL-1.0',
|
181
|
+
'CPL 1.0',
|
182
|
+
'Common Public License 1.0',
|
183
|
+
'Common Public License v1.0',
|
184
|
+
'Common Public License, v1.0'
|
185
|
+
],
|
186
|
+
url: 'https://opensource.org/licenses/cpl1.0.txt'
|
187
|
+
)
|
188
|
+
end
|
189
|
+
|
114
190
|
def eclipse1
|
115
191
|
License.new(
|
116
192
|
short_name: 'EPL1',
|
117
193
|
spdx_id: 'EPL-1.0',
|
118
194
|
pretty_name: 'Eclipse Public License 1.0',
|
119
195
|
other_names: [
|
120
|
-
'EPL-1.0',
|
121
196
|
'EPL 1.0',
|
197
|
+
'Eclipse 1.0',
|
198
|
+
'Eclipse Public License 1.0',
|
122
199
|
'Eclipse Public License - v 1.0'
|
123
200
|
],
|
124
201
|
url: 'https://www.eclipse.org/legal/epl-v10.html'
|
125
202
|
)
|
126
203
|
end
|
127
204
|
|
205
|
+
def eclipse2
|
206
|
+
License.new(
|
207
|
+
short_name: 'EPL2',
|
208
|
+
spdx_id: 'EPL-2.0',
|
209
|
+
pretty_name: 'Eclipse 2.0',
|
210
|
+
other_names: [
|
211
|
+
'EPL-2.0',
|
212
|
+
'EPL 2.0',
|
213
|
+
'Eclipse 2.0',
|
214
|
+
'Eclipse Public License 2.0',
|
215
|
+
'Eclipse Public License - v 2.0'
|
216
|
+
],
|
217
|
+
url: 'https://www.eclipse.org/legal/epl-v20.html'
|
218
|
+
)
|
219
|
+
end
|
220
|
+
|
128
221
|
def gplv2
|
129
222
|
License.new(
|
130
223
|
short_name: 'GPLv2',
|
131
224
|
spdx_id: 'GPL-2.0-only',
|
132
|
-
|
225
|
+
# pretty_name: 'GPL 2.0',
|
226
|
+
other_names: ['GPL V2', 'gpl-v2', 'GNU GENERAL PUBLIC LICENSE Version 2', 'GPL 2.0'],
|
133
227
|
url: 'http://www.gnu.org/licenses/gpl-2.0.txt'
|
134
228
|
)
|
135
229
|
end
|
@@ -138,7 +232,8 @@ module LicenseFinder
|
|
138
232
|
License.new(
|
139
233
|
short_name: 'GPLv3',
|
140
234
|
spdx_id: 'GPL-3.0-only',
|
141
|
-
|
235
|
+
# pretty_name: 'GPL 3.0',
|
236
|
+
other_names: ['GPL V3', 'gpl-v3', 'GNU GENERAL PUBLIC LICENSE Version 3', 'GPL 3.0'],
|
142
237
|
url: 'http://www.gnu.org/licenses/gpl-3.0.txt'
|
143
238
|
)
|
144
239
|
end
|
@@ -147,6 +242,7 @@ module LicenseFinder
|
|
147
242
|
License.new(
|
148
243
|
short_name: 'ISC',
|
149
244
|
spdx_id: 'ISC',
|
245
|
+
other_names: ['ISC License'],
|
150
246
|
url: 'http://en.wikipedia.org/wiki/ISC_license'
|
151
247
|
)
|
152
248
|
end
|
@@ -155,7 +251,8 @@ module LicenseFinder
|
|
155
251
|
License.new(
|
156
252
|
short_name: 'LGPL',
|
157
253
|
spdx_id: 'LGPL-3.0-only',
|
158
|
-
|
254
|
+
# pretty_name: 'LGPL 3.0',
|
255
|
+
other_names: ['LGPL-3', 'LGPLv3', 'LGPL-3.0', 'LGPL 3.0'],
|
159
256
|
url: 'http://www.gnu.org/licenses/lgpl.txt'
|
160
257
|
)
|
161
258
|
end
|
@@ -166,12 +263,11 @@ module LicenseFinder
|
|
166
263
|
spdx_id: 'LGPL-2.1-only',
|
167
264
|
pretty_name: 'GNU Lesser General Public License version 2.1',
|
168
265
|
other_names: [
|
169
|
-
'LGPL-2.1-only',
|
170
266
|
'LGPL 2.1',
|
171
267
|
'LGPL v2.1',
|
172
268
|
'GNU Lesser General Public License 2.1'
|
173
269
|
],
|
174
|
-
url: 'https://
|
270
|
+
url: 'https://www.gnu.org/licenses/lgpl-2.1.txt'
|
175
271
|
)
|
176
272
|
end
|
177
273
|
|
@@ -190,7 +286,7 @@ module LicenseFinder
|
|
190
286
|
License.new(
|
191
287
|
short_name: 'MIT',
|
192
288
|
spdx_id: 'MIT',
|
193
|
-
other_names: ['Expat', 'MIT license', 'MIT License
|
289
|
+
other_names: ['Expat', 'MIT license', 'MIT License (MIT)'],
|
194
290
|
url: 'http://opensource.org/licenses/mit-license',
|
195
291
|
matcher: matcher
|
196
292
|
)
|
@@ -213,6 +309,7 @@ module LicenseFinder
|
|
213
309
|
pretty_name: 'Mozilla Public License 1.1',
|
214
310
|
other_names: [
|
215
311
|
'MPL-1.1',
|
312
|
+
'Mozilla 1.1',
|
216
313
|
'Mozilla Public License, Version 1.1',
|
217
314
|
'Mozilla Public License version 1.1'
|
218
315
|
],
|
@@ -222,7 +319,7 @@ module LicenseFinder
|
|
222
319
|
end
|
223
320
|
|
224
321
|
def mpl2
|
225
|
-
header_regexp = /Mozilla Public Licen[sc]e
|
322
|
+
header_regexp = /Mozilla Public Licen[sc]e.*version 2\.0/
|
226
323
|
|
227
324
|
matcher = AnyMatcher.new(
|
228
325
|
Matcher.from_template(Template.named('MPL2')),
|
@@ -235,6 +332,7 @@ module LicenseFinder
|
|
235
332
|
pretty_name: 'Mozilla Public License 2.0',
|
236
333
|
other_names: [
|
237
334
|
'MPL-2.0',
|
335
|
+
'Mozilla 2.0',
|
238
336
|
'Mozilla Public License, Version 2.0',
|
239
337
|
'Mozilla Public License version 2.0'
|
240
338
|
],
|
@@ -265,12 +363,13 @@ module LicenseFinder
|
|
265
363
|
'BSD 3',
|
266
364
|
'BSD-3',
|
267
365
|
'3-clause BSD',
|
268
|
-
'
|
366
|
+
'3-Clause BSD License',
|
367
|
+
'BSD 3-Clause',
|
269
368
|
'BSD 3-Clause License',
|
270
|
-
'The 3-Clause BSD License',
|
271
369
|
'BSD 3-clause New License',
|
272
370
|
'New BSD License',
|
273
371
|
'BSD New license',
|
372
|
+
'BSD License 3',
|
274
373
|
'BSD Licence 3'
|
275
374
|
],
|
276
375
|
url: 'http://opensource.org/licenses/BSD-3-Clause',
|
@@ -297,8 +396,11 @@ module LicenseFinder
|
|
297
396
|
pretty_name: 'Python Software Foundation License',
|
298
397
|
other_names: [
|
299
398
|
'PSF',
|
399
|
+
'PSF 2.0',
|
300
400
|
'PSFL',
|
301
|
-
'
|
401
|
+
'Python 2.0',
|
402
|
+
'PSF License',
|
403
|
+
'PSF License 2.0'
|
302
404
|
],
|
303
405
|
url: 'http://hg.python.org/cpython/raw-file/89ce323357db/LICENSE'
|
304
406
|
)
|
@@ -329,14 +431,22 @@ module LicenseFinder
|
|
329
431
|
other_names: [
|
330
432
|
'FreeBSD',
|
331
433
|
'2-clause BSD',
|
332
|
-
'BSD-2-Clause',
|
333
434
|
'BSD 2-Clause',
|
334
|
-
'
|
435
|
+
'BSD 2-Clause License'
|
335
436
|
],
|
336
437
|
url: 'http://opensource.org/licenses/bsd-license'
|
337
438
|
)
|
338
439
|
end
|
339
440
|
|
441
|
+
def unlicense
|
442
|
+
License.new(
|
443
|
+
short_name: 'Unlicense',
|
444
|
+
spdx_id: 'Unlicense',
|
445
|
+
pretty_name: 'The Unlicense',
|
446
|
+
url: 'https://unlicense.org/'
|
447
|
+
)
|
448
|
+
end
|
449
|
+
|
340
450
|
def wtfpl
|
341
451
|
License.new(
|
342
452
|
short_name: 'WTFPL',
|