license_finder 7.0.1 → 7.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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',
|