license_patrol 1.0.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 +7 -0
- data/.force-build +0 -0
- data/.github/dependabot.yml +16 -0
- data/.github/workflows/install-test-tools.sh +28 -0
- data/.github/workflows/license_patrol.yml +13 -0
- data/.gitignore +13 -0
- data/.pre-commit-hooks.yaml +10 -0
- data/.rspec +1 -0
- data/.rubocop.yml +84 -0
- data/CHANGELOG.md +1070 -0
- data/CONTRIBUTING.md +122 -0
- data/Dockerfile +275 -0
- data/Gemfile +2 -0
- data/LICENSE +22 -0
- data/README.md +593 -0
- data/Rakefile +75 -0
- data/TODO.md +12 -0
- data/VERSION +1 -0
- data/bin/license_patrol +6 -0
- data/bin/license_patrol_pip.py +43 -0
- data/ci/pipelines/pull-request.yml.erb +138 -0
- data/ci/pipelines/release.yml.erb +176 -0
- data/ci/scripts/containerize-tests.sh +14 -0
- data/ci/scripts/pushscript.sh +31 -0
- data/ci/scripts/run-rubocop.sh +15 -0
- data/ci/scripts/run-tests.sh +41 -0
- data/ci/scripts/test.ps1 +81 -0
- data/ci/scripts/updateChangelog.sh +84 -0
- data/ci/tasks/build-and-push-gem.yml +10 -0
- data/ci/tasks/build-windows.yml +6 -0
- data/ci/tasks/build.yml +16 -0
- data/ci/tasks/rubocop.yml +15 -0
- data/ci/tasks/run-tests.yml +10 -0
- data/ci/tasks/update-changelog.yml +18 -0
- data/dlf +21 -0
- data/doc/dependency_decisions.yml +3 -0
- data/examples/Gemfile +4 -0
- data/examples/custom_erb_template.rb +24 -0
- data/examples/extract_license_data.rb +63 -0
- data/examples/sample_template.erb +7 -0
- data/lib/license_patrol/cli/approvals.rb +28 -0
- data/lib/license_patrol/cli/base.rb +113 -0
- data/lib/license_patrol/cli/dependencies.rb +44 -0
- data/lib/license_patrol/cli/ignored_dependencies.rb +32 -0
- data/lib/license_patrol/cli/ignored_groups.rb +32 -0
- data/lib/license_patrol/cli/inherited_decisions.rb +50 -0
- data/lib/license_patrol/cli/licenses.rb +31 -0
- data/lib/license_patrol/cli/main.rb +229 -0
- data/lib/license_patrol/cli/makes_decisions.rb +38 -0
- data/lib/license_patrol/cli/patched_thor.rb +33 -0
- data/lib/license_patrol/cli/permitted_licenses.rb +32 -0
- data/lib/license_patrol/cli/project_name.rb +32 -0
- data/lib/license_patrol/cli/restricted_licenses.rb +32 -0
- data/lib/license_patrol/cli.rb +20 -0
- data/lib/license_patrol/configuration.rb +197 -0
- data/lib/license_patrol/core.rb +121 -0
- data/lib/license_patrol/decision_applier.rb +70 -0
- data/lib/license_patrol/decisions.rb +334 -0
- data/lib/license_patrol/decisions_factory.rb +13 -0
- data/lib/license_patrol/diff.rb +51 -0
- data/lib/license_patrol/license/any_matcher.rb +15 -0
- data/lib/license_patrol/license/definitions.rb +498 -0
- data/lib/license_patrol/license/header_matcher.rb +17 -0
- data/lib/license_patrol/license/matcher.rb +24 -0
- data/lib/license_patrol/license/none_matcher.rb +11 -0
- data/lib/license_patrol/license/template.rb +19 -0
- data/lib/license_patrol/license/templates/0BSD.txt +10 -0
- data/lib/license_patrol/license/templates/AGPL3.txt +661 -0
- data/lib/license_patrol/license/templates/Apache1_1.txt +16 -0
- data/lib/license_patrol/license/templates/Apache2.txt +170 -0
- data/lib/license_patrol/license/templates/Artistic.txt +128 -0
- data/lib/license_patrol/license/templates/BSD.txt +24 -0
- data/lib/license_patrol/license/templates/CC01.txt +30 -0
- data/lib/license_patrol/license/templates/CC01_alt.txt +31 -0
- data/lib/license_patrol/license/templates/CDDL1.txt +131 -0
- data/lib/license_patrol/license/templates/CDDL1_1.txt +123 -0
- data/lib/license_patrol/license/templates/CPL1.txt +217 -0
- data/lib/license_patrol/license/templates/EPL1.txt +86 -0
- data/lib/license_patrol/license/templates/EPL2.txt +80 -0
- data/lib/license_patrol/license/templates/GPLv2.txt +339 -0
- data/lib/license_patrol/license/templates/GPLv3.txt +674 -0
- data/lib/license_patrol/license/templates/ISC.txt +2 -0
- data/lib/license_patrol/license/templates/LGPL.txt +165 -0
- data/lib/license_patrol/license/templates/LGPL2_1.txt +169 -0
- data/lib/license_patrol/license/templates/MIT.txt +9 -0
- data/lib/license_patrol/license/templates/MPL1_1.txt +469 -0
- data/lib/license_patrol/license/templates/MPL2.txt +373 -0
- data/lib/license_patrol/license/templates/NewBSD.txt +21 -0
- data/lib/license_patrol/license/templates/OFL.txt +91 -0
- data/lib/license_patrol/license/templates/Python.txt +47 -0
- data/lib/license_patrol/license/templates/Ruby.txt +52 -0
- data/lib/license_patrol/license/templates/SimplifiedBSD.txt +19 -0
- data/lib/license_patrol/license/templates/Unlicense.txt +24 -0
- data/lib/license_patrol/license/templates/WTFPL.txt +14 -0
- data/lib/license_patrol/license/templates/Zlib.txt +17 -0
- data/lib/license_patrol/license/text.rb +49 -0
- data/lib/license_patrol/license.rb +123 -0
- data/lib/license_patrol/license_aggregator.rb +59 -0
- data/lib/license_patrol/logger.rb +69 -0
- data/lib/license_patrol/manual_licenses.rb +79 -0
- data/lib/license_patrol/package.rb +200 -0
- data/lib/license_patrol/package_delta.rb +61 -0
- data/lib/license_patrol/package_manager.rb +183 -0
- data/lib/license_patrol/package_managers/bower.rb +37 -0
- data/lib/license_patrol/package_managers/bundler.rb +134 -0
- data/lib/license_patrol/package_managers/cargo.rb +38 -0
- data/lib/license_patrol/package_managers/carthage.rb +68 -0
- data/lib/license_patrol/package_managers/cocoa_pods.rb +66 -0
- data/lib/license_patrol/package_managers/composer.rb +63 -0
- data/lib/license_patrol/package_managers/conan.rb +70 -0
- data/lib/license_patrol/package_managers/conda.rb +131 -0
- data/lib/license_patrol/package_managers/dep.rb +45 -0
- data/lib/license_patrol/package_managers/dotnet.rb +86 -0
- data/lib/license_patrol/package_managers/erlangmk.rb +50 -0
- data/lib/license_patrol/package_managers/glide.rb +42 -0
- data/lib/license_patrol/package_managers/go_15vendorexperiment.rb +87 -0
- data/lib/license_patrol/package_managers/go_dep.rb +80 -0
- data/lib/license_patrol/package_managers/go_modules.rb +93 -0
- data/lib/license_patrol/package_managers/go_workspace.rb +117 -0
- data/lib/license_patrol/package_managers/govendor.rb +73 -0
- data/lib/license_patrol/package_managers/gradle.rb +99 -0
- data/lib/license_patrol/package_managers/gvt.rb +69 -0
- data/lib/license_patrol/package_managers/maven.rb +69 -0
- data/lib/license_patrol/package_managers/mix.rb +131 -0
- data/lib/license_patrol/package_managers/npm.rb +70 -0
- data/lib/license_patrol/package_managers/nuget.rb +159 -0
- data/lib/license_patrol/package_managers/pip.rb +70 -0
- data/lib/license_patrol/package_managers/pipenv.rb +63 -0
- data/lib/license_patrol/package_managers/pnpm.rb +126 -0
- data/lib/license_patrol/package_managers/pub.rb +86 -0
- data/lib/license_patrol/package_managers/rebar.rb +65 -0
- data/lib/license_patrol/package_managers/sbt.rb +46 -0
- data/lib/license_patrol/package_managers/spm.rb +93 -0
- data/lib/license_patrol/package_managers/trash.rb +43 -0
- data/lib/license_patrol/package_managers/yarn.rb +195 -0
- data/lib/license_patrol/package_utils/activation.rb +40 -0
- data/lib/license_patrol/package_utils/conan_info_parser.rb +77 -0
- data/lib/license_patrol/package_utils/conan_info_parser_v2.rb +82 -0
- data/lib/license_patrol/package_utils/gradle_dependency_finder.rb +15 -0
- data/lib/license_patrol/package_utils/license_files.rb +51 -0
- data/lib/license_patrol/package_utils/licensing.rb +40 -0
- data/lib/license_patrol/package_utils/maven_dependency_finder.rb +57 -0
- data/lib/license_patrol/package_utils/notice_files.rb +51 -0
- data/lib/license_patrol/package_utils/possible_license_file.rb +33 -0
- data/lib/license_patrol/package_utils/pypi.rb +43 -0
- data/lib/license_patrol/package_utils/sbt_dependency_finder.rb +15 -0
- data/lib/license_patrol/packages/bower_package.rb +45 -0
- data/lib/license_patrol/packages/bundler_package.rb +33 -0
- data/lib/license_patrol/packages/cargo_package.rb +28 -0
- data/lib/license_patrol/packages/carthage_package.rb +18 -0
- data/lib/license_patrol/packages/cocoa_pods_package.rb +22 -0
- data/lib/license_patrol/packages/composer_package.rb +13 -0
- data/lib/license_patrol/packages/conan_package.rb +23 -0
- data/lib/license_patrol/packages/conda_package.rb +74 -0
- data/lib/license_patrol/packages/erlangmk_package.rb +112 -0
- data/lib/license_patrol/packages/go_package.rb +30 -0
- data/lib/license_patrol/packages/gradle_package.rb +30 -0
- data/lib/license_patrol/packages/manual_package.rb +27 -0
- data/lib/license_patrol/packages/maven_package.rb +39 -0
- data/lib/license_patrol/packages/merged_package.rb +44 -0
- data/lib/license_patrol/packages/mix_package.rb +13 -0
- data/lib/license_patrol/packages/npm_package.rb +219 -0
- data/lib/license_patrol/packages/nuget_package.rb +13 -0
- data/lib/license_patrol/packages/pip_package.rb +50 -0
- data/lib/license_patrol/packages/pnpm_package.rb +13 -0
- data/lib/license_patrol/packages/pubspec_package.rb +18 -0
- data/lib/license_patrol/packages/rebar_package.rb +13 -0
- data/lib/license_patrol/packages/sbt_package.rb +22 -0
- data/lib/license_patrol/packages/spm_package.rb +18 -0
- data/lib/license_patrol/packages/yarn_package.rb +13 -0
- data/lib/license_patrol/platform.rb +15 -0
- data/lib/license_patrol/printer.rb +39 -0
- data/lib/license_patrol/project_finder.rb +62 -0
- data/lib/license_patrol/report.rb +34 -0
- data/lib/license_patrol/reports/csv_report.rb +108 -0
- data/lib/license_patrol/reports/diff_report.rb +29 -0
- data/lib/license_patrol/reports/erb_report.rb +62 -0
- data/lib/license_patrol/reports/html_report.rb +13 -0
- data/lib/license_patrol/reports/json_report.rb +31 -0
- data/lib/license_patrol/reports/junit_report.rb +23 -0
- data/lib/license_patrol/reports/markdown_report.rb +9 -0
- data/lib/license_patrol/reports/merged_report.rb +16 -0
- data/lib/license_patrol/reports/templates/bootstrap.css +9 -0
- data/lib/license_patrol/reports/templates/html_report.erb +113 -0
- data/lib/license_patrol/reports/templates/junit_report.erb +41 -0
- data/lib/license_patrol/reports/templates/markdown_report.erb +49 -0
- data/lib/license_patrol/reports/templates/xml_report.erb +19 -0
- data/lib/license_patrol/reports/text_report.rb +12 -0
- data/lib/license_patrol/reports/xml_report.rb +23 -0
- data/lib/license_patrol/scanner.rb +83 -0
- data/lib/license_patrol/shared_helpers/cmd.rb +13 -0
- data/lib/license_patrol/shared_helpers/common_path.rb +29 -0
- data/lib/license_patrol/version.rb +6 -0
- data/lib/license_patrol.rb +14 -0
- data/license_patrol.gemspec +75 -0
- data/release/instructions.md +8 -0
- data/swift-all-keys.asc +240 -0
- metadata +615 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 6d2e13b85fa48187c33aa76ef484cbdf3022e10551286d94ad79e5e53811d6a2
|
|
4
|
+
data.tar.gz: d763c2015d71fa8f20ba67258151e013886ed057c6a4c1c8e1831ec27f43106c
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: a011b12567263048cdba247fc4cd8270e2183a8ba6baf314c0342e65ca15cb73d0c12ab83c8bbd2f0cdc30d39823e3dc3ec409379f7433fe27d969e22e794cda
|
|
7
|
+
data.tar.gz: 5eafee911a325c2fa65263deaceb81159a198f495d543c0cccdcb0a0782a99cc3bd66762307521f927ec04ffec8f1999d37480e035efcbc3795d50814ba0adc3
|
data/.force-build
ADDED
|
File without changes
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
updates:
|
|
3
|
+
- package-ecosystem: bundler
|
|
4
|
+
directory: "/"
|
|
5
|
+
schedule:
|
|
6
|
+
interval: daily
|
|
7
|
+
time: "20:00"
|
|
8
|
+
timezone: America/Los_Angeles
|
|
9
|
+
open-pull-requests-limit: 10
|
|
10
|
+
- package-ecosystem: docker
|
|
11
|
+
directory: "/"
|
|
12
|
+
schedule:
|
|
13
|
+
interval: daily
|
|
14
|
+
time: "20:00"
|
|
15
|
+
timezone: America/Los_Angeles
|
|
16
|
+
open-pull-requests-limit: 10
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#!/bin/bash -e
|
|
2
|
+
|
|
3
|
+
# Installs the package manager tooling the unit specs shell out to on GitHub
|
|
4
|
+
# Actions runners. Versions match the ones in the Dockerfile.
|
|
5
|
+
|
|
6
|
+
GRADLE_VERSION=5.6.4
|
|
7
|
+
JDK_VERSION=11
|
|
8
|
+
|
|
9
|
+
TOOLS_DIR="${RUNNER_TEMP:-/tmp}/license_patrol-tools"
|
|
10
|
+
mkdir -p "$TOOLS_DIR"
|
|
11
|
+
|
|
12
|
+
# godep
|
|
13
|
+
go install github.com/tools/godep@latest
|
|
14
|
+
echo "$(go env GOPATH)/bin" >> "$GITHUB_PATH"
|
|
15
|
+
|
|
16
|
+
# JDK: Gradle 5 doesn't run on the runner's default JDK
|
|
17
|
+
curl -sSL -o "$TOOLS_DIR/jdk.tar.gz" \
|
|
18
|
+
"https://api.adoptium.net/v3/binary/latest/$JDK_VERSION/ga/linux/x64/jdk/hotspot/normal/eclipse"
|
|
19
|
+
mkdir -p "$TOOLS_DIR/jdk"
|
|
20
|
+
tar -xzf "$TOOLS_DIR/jdk.tar.gz" -C "$TOOLS_DIR/jdk" --strip-components=1
|
|
21
|
+
echo "JAVA_HOME=$TOOLS_DIR/jdk" >> "$GITHUB_ENV"
|
|
22
|
+
echo "$TOOLS_DIR/jdk/bin" >> "$GITHUB_PATH"
|
|
23
|
+
|
|
24
|
+
# Gradle: newer versions refuse to run outside of a Gradle build
|
|
25
|
+
curl -sSL -o "$TOOLS_DIR/gradle.zip" \
|
|
26
|
+
"https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip"
|
|
27
|
+
unzip -q "$TOOLS_DIR/gradle.zip" -d "$TOOLS_DIR"
|
|
28
|
+
echo "$TOOLS_DIR/gradle-$GRADLE_VERSION/bin" >> "$GITHUB_PATH"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
name: license_patrol
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
ruby:
|
|
8
|
+
uses: powerhome/github-actions-workflows/.github/workflows/ruby-gem.yml@main
|
|
9
|
+
with:
|
|
10
|
+
package: ${{ github.workflow }}
|
|
11
|
+
ruby: '["3.3"]'
|
|
12
|
+
before_build: .github/workflows/install-test-tools.sh
|
|
13
|
+
secrets: inherit
|
data/.gitignore
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
- id: license-patrol
|
|
2
|
+
name: Audit licenses of dependencies
|
|
3
|
+
entry: license_patrol
|
|
4
|
+
language: ruby
|
|
5
|
+
pass_filenames: false
|
|
6
|
+
description: >
|
|
7
|
+
LicensePatrol works with your package managers to find dependencies, detect
|
|
8
|
+
the licenses of the packages in them, compare those licenses against a
|
|
9
|
+
user-defined list of permitted licenses, and give you an actionable
|
|
10
|
+
exception report.
|
data/.rspec
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
--color
|
data/.rubocop.yml
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
AllCops:
|
|
2
|
+
TargetRubyVersion: 2.6.0
|
|
3
|
+
Exclude:
|
|
4
|
+
- 'lib/license_patrol/reports/**/*'
|
|
5
|
+
- 'features/fixtures/**/*'
|
|
6
|
+
- 'releases/**/*'
|
|
7
|
+
- 'ci/**/*'
|
|
8
|
+
- 'tmp/**/*'
|
|
9
|
+
- 'Gemfile'
|
|
10
|
+
|
|
11
|
+
#Layout Cops
|
|
12
|
+
HeredocIndentation:
|
|
13
|
+
Enabled: false
|
|
14
|
+
EmptyLinesAroundArguments:
|
|
15
|
+
Enabled: false
|
|
16
|
+
|
|
17
|
+
#Linting Cops
|
|
18
|
+
AmbiguousRegexpLiteral:
|
|
19
|
+
Enabled: false
|
|
20
|
+
|
|
21
|
+
# Metrics Cops
|
|
22
|
+
AbcSize:
|
|
23
|
+
Max: 35
|
|
24
|
+
BlockLength:
|
|
25
|
+
Enabled: false # TODO: enable and refactor long methods
|
|
26
|
+
# ExcludedMethods: ['describe', 'context', 'it', 'shared_examples'] # uncomment once enabled
|
|
27
|
+
ClassLength:
|
|
28
|
+
Enabled: false
|
|
29
|
+
CyclomaticComplexity:
|
|
30
|
+
Max: 15
|
|
31
|
+
PerceivedComplexity:
|
|
32
|
+
Max: 15
|
|
33
|
+
LineLength:
|
|
34
|
+
Max: 200
|
|
35
|
+
MethodLength:
|
|
36
|
+
Enabled: false
|
|
37
|
+
ModuleLength:
|
|
38
|
+
Enabled: false
|
|
39
|
+
|
|
40
|
+
# Security Cops
|
|
41
|
+
YAMLLoad:
|
|
42
|
+
Enabled: false
|
|
43
|
+
Security/Open:
|
|
44
|
+
Enabled: false
|
|
45
|
+
|
|
46
|
+
#Style Cops
|
|
47
|
+
Naming/VariableNumber:
|
|
48
|
+
Enabled: false
|
|
49
|
+
Lint/MixedRegexpCaptureTypes:
|
|
50
|
+
Enabled: false
|
|
51
|
+
Lint/MissingSuper:
|
|
52
|
+
Enabled: false
|
|
53
|
+
Style/OptionalBooleanParameter:
|
|
54
|
+
Enabled: false
|
|
55
|
+
Style/MissingRespondToMissing:
|
|
56
|
+
Enabled: false
|
|
57
|
+
Style/FormatStringToken:
|
|
58
|
+
EnforcedStyle: unannotated
|
|
59
|
+
Style/HashEachMethods:
|
|
60
|
+
Enabled: true
|
|
61
|
+
Style/HashTransformKeys:
|
|
62
|
+
Enabled: true
|
|
63
|
+
Style/HashTransformValues:
|
|
64
|
+
Enabled: true
|
|
65
|
+
Layout/MultilineMethodCallIndentation:
|
|
66
|
+
Enabled: false
|
|
67
|
+
Lint/EmptyFile:
|
|
68
|
+
Enabled: false
|
|
69
|
+
DoubleNegation:
|
|
70
|
+
Enabled: false
|
|
71
|
+
Documentation:
|
|
72
|
+
Enabled: false
|
|
73
|
+
FileName:
|
|
74
|
+
Exclude:
|
|
75
|
+
- '**/Rakefile'
|
|
76
|
+
- '**/Gemfile'
|
|
77
|
+
- '**/Podfile'
|
|
78
|
+
ModuleFunction:
|
|
79
|
+
Enabled: false
|
|
80
|
+
EnforcedStyle: extend_self
|
|
81
|
+
# Custom ERB Template needs the to_s
|
|
82
|
+
Lint/RedundantStringCoercion:
|
|
83
|
+
Exclude:
|
|
84
|
+
- 'examples/custom_erb_template.rb'
|