license_finder 0.8.2-java → 0.9.0-java
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.
- data/CHANGELOG.rdoc +7 -0
- data/features/cli.feature +11 -1
- data/features/html_report.feature +1 -1
- data/features/ignore_bundle_groups.feature +8 -8
- data/features/step_definitions/approve_dependencies_steps.rb +1 -1
- data/features/step_definitions/cli_steps.rb +17 -1
- data/features/step_definitions/html_report_steps.rb +1 -1
- data/features/step_definitions/ignore_bundle_groups_steps.rb +6 -6
- data/features/step_definitions/non_bundler_steps.rb +4 -4
- data/features/step_definitions/rails_rake_steps.rb +1 -1
- data/features/step_definitions/set_license_steps.rb +2 -2
- data/features/step_definitions/shared_steps.rb +4 -4
- data/features/step_definitions/whitelist_steps.rb +33 -2
- data/features/whitelist.feature +19 -1
- data/lib/license_finder.rb +4 -1
- data/lib/license_finder/bundle.rb +3 -1
- data/lib/license_finder/bundled_gem.rb +1 -1
- data/lib/license_finder/bundled_gem_saver.rb +35 -12
- data/lib/license_finder/cli.rb +50 -8
- data/lib/license_finder/configuration.rb +6 -4
- data/lib/license_finder/dependency_manager.rb +1 -2
- data/lib/license_finder/license/new_bsd.rb +19 -0
- data/license_finder.gemspec +3 -2
- data/readme.md +24 -1
- data/spec/lib/license_finder/bundled_gem_saver_spec.rb +131 -84
- data/spec/lib/license_finder/cli_spec.rb +44 -4
- data/spec/lib/license_finder/configuration_spec.rb +15 -3
- data/spec/lib/license_finder/dependency_manager_spec.rb +1 -1
- data/spec/lib/license_finder/license/new_bsd_spec.rb +28 -0
- data/spec/lib/license_finder_spec.rb +1 -1
- metadata +67 -52
- data/lib/license_finder/bundler_group_manager.rb +0 -22
- data/spec/lib/license_finder/bundler_group_manager_spec.rb +0 -60
data/CHANGELOG.rdoc
CHANGED
data/features/cli.feature
CHANGED
@@ -16,7 +16,7 @@ Feature: License Finder command line executable
|
|
16
16
|
|
17
17
|
Scenario: Auditing an application with whitelisted licenses
|
18
18
|
Given I have an app with license finder that depends on a MIT licensed gem
|
19
|
-
When I whitelist MIT and 'other' licenses
|
19
|
+
When I whitelist MIT and 'other' and New BSD licenses
|
20
20
|
Then it should exit with status code 0
|
21
21
|
And I should see all gems approved for use
|
22
22
|
|
@@ -24,3 +24,13 @@ Feature: License Finder command line executable
|
|
24
24
|
Given I have a project that depends on mime-types with a manual license type
|
25
25
|
When I run license_finder
|
26
26
|
Then the mime-types license remains set with my manual license type
|
27
|
+
|
28
|
+
Scenario: Viewing help for license_finder subcommand
|
29
|
+
Given I have an app with license finder
|
30
|
+
When I run license_finder help on a specific command
|
31
|
+
Then I should see the correct subcommand usage instructions
|
32
|
+
|
33
|
+
Scenario: Viewing help for license_finder default
|
34
|
+
Given I have an app with license finder
|
35
|
+
When I run license_finder help
|
36
|
+
Then I should the correct default usage instructions
|
@@ -19,5 +19,5 @@ Feature: HTML Report
|
|
19
19
|
|
20
20
|
Scenario: Dependency summary
|
21
21
|
And my app depends on MIT and GPL licensed gems
|
22
|
-
When I whitelist MIT and 'other' licenses
|
22
|
+
When I whitelist MIT and 'other' and New BSD licenses
|
23
23
|
Then I should see only see GPL liceneses as unapproved in the html
|
@@ -3,21 +3,21 @@ Feature: Ignore Bundle Groups
|
|
3
3
|
I want to ignore certain bundler groups
|
4
4
|
So that any gems I use in development, or for testing, are automatically approved for use
|
5
5
|
|
6
|
+
Scenario: Bundler groups can be added to the ignore list
|
7
|
+
Given I have an app with license finder
|
8
|
+
And I add the test group to the ignored bundler groups
|
9
|
+
When I get the ignored groups
|
10
|
+
Then I should see the test group in the output
|
11
|
+
|
6
12
|
Scenario: Ignored bundler groups are not evaluated for licenses
|
7
13
|
Given I have an app with license finder that depends on a GPL licensed gem in the test bundler group
|
8
14
|
And I add the test group to the ignored bundler groups
|
9
15
|
When I run license_finder
|
10
16
|
Then I should not see the GPL licensed gem in the output
|
11
17
|
|
12
|
-
Scenario: Bundler groups can be
|
13
|
-
Given I have an app with license finder
|
14
|
-
And I add the test group to the ignored bundler groups
|
15
|
-
When I get the ignored groups from the command line
|
16
|
-
Then I should see the test group in the output
|
17
|
-
|
18
|
-
Scenario: Bundler groups can be removed from the ignore list from command line
|
18
|
+
Scenario: Bundler groups can be removed from the ignore list
|
19
19
|
Given I have an app with license finder
|
20
20
|
And I add the test group to the ignored bundler groups
|
21
21
|
And I remove the test group from the ignored bundler groups
|
22
|
-
When I get the ignored groups
|
22
|
+
When I get the ignored groups
|
23
23
|
Then I should not see the test group in the output
|
@@ -8,7 +8,7 @@ When(/^I approve that gem$/) do
|
|
8
8
|
@output = @user.execute_command "license_finder"
|
9
9
|
@output.should include "gpl_gem"
|
10
10
|
@output = @user.execute_command "license_finder approve gpl_gem"
|
11
|
-
@output = @user.execute_command "license_finder
|
11
|
+
@output = @user.execute_command "license_finder --quiet"
|
12
12
|
end
|
13
13
|
|
14
14
|
Then(/^I should not see that gem in the console output$/) do
|
@@ -17,11 +17,19 @@ Given(/^I have a project that depends on mime\-types with a manual license type$
|
|
17
17
|
@user.create_rails_app
|
18
18
|
@user.add_gem_dependency('mime-types')
|
19
19
|
@user.bundle_app
|
20
|
-
@user.execute_command "license_finder
|
20
|
+
@user.execute_command "license_finder --quiet"
|
21
21
|
@output = @user.execute_command "license_finder license Ruby mime-types"
|
22
22
|
@output.should =~ /mime-types.*Ruby/
|
23
23
|
end
|
24
24
|
|
25
|
+
When(/^I run license_finder help on a specific command$/) do
|
26
|
+
@output = @user.execute_command "license_finder dependencies help add"
|
27
|
+
end
|
28
|
+
|
29
|
+
When(/^I run license_finder help$/) do
|
30
|
+
@output = @user.execute_command "license_finder help"
|
31
|
+
end
|
32
|
+
|
25
33
|
Then(/^it creates a config directory with the license_finder config$/) do
|
26
34
|
File.should be_exists(@user.app_path('config'))
|
27
35
|
text = "---\nwhitelist:\n#- MIT\n#- Apache 2.0\nignore_groups:\n#- test\n#- development\ndependencies_file_dir: './doc/'\n"
|
@@ -43,3 +51,11 @@ end
|
|
43
51
|
Then(/^the mime\-types license remains set with my manual license type$/) do
|
44
52
|
@output.should =~ /mime-types.*Ruby/
|
45
53
|
end
|
54
|
+
|
55
|
+
Then(/^I should see the correct subcommand usage instructions$/) do
|
56
|
+
@output.should include 'license_finder dependencies add LICENSE'
|
57
|
+
end
|
58
|
+
|
59
|
+
Then(/^I should the correct default usage instructions$/) do
|
60
|
+
@output.should include 'license_finder help [COMMAND]'
|
61
|
+
end
|
@@ -25,7 +25,7 @@ end
|
|
25
25
|
|
26
26
|
When(/^I whitelist the MIT license$/) do
|
27
27
|
@user.configure_license_finder_whitelist ["MIT"]
|
28
|
-
@user.execute_command "license_finder
|
28
|
+
@user.execute_command "license_finder --quiet"
|
29
29
|
end
|
30
30
|
|
31
31
|
Then(/^I should see my specific gem details listed in the html$/) do
|
@@ -4,20 +4,20 @@ Given(/^I have an app with license finder that depends on a GPL licensed gem in
|
|
4
4
|
@user.add_dependency_to_app 'gpl_gem', :license => 'GPL', :bundler_groups => 'test'
|
5
5
|
end
|
6
6
|
|
7
|
-
|
7
|
+
When(/^I add the test group to the ignored bundler groups$/) do
|
8
8
|
@user.execute_command('license_finder ignored_bundler_group add test')
|
9
9
|
end
|
10
10
|
|
11
|
-
|
11
|
+
When(/^I remove the test group from the ignored bundler groups$/) do
|
12
12
|
@user.execute_command('license_finder ignored_bundler_group remove test')
|
13
13
|
end
|
14
14
|
|
15
|
-
|
16
|
-
@output.
|
15
|
+
When(/^I get the ignored groups$/) do
|
16
|
+
@output = @user.execute_command('license_finder ignored_bundler_group list')
|
17
17
|
end
|
18
18
|
|
19
|
-
|
20
|
-
@output
|
19
|
+
Then(/^I should not see the GPL licensed gem in the output$/) do
|
20
|
+
@output.should_not include 'gpl_gem'
|
21
21
|
end
|
22
22
|
|
23
23
|
Then(/^I should see the test group in the output$/) do
|
@@ -9,7 +9,7 @@ When(/^I add my JS dependency$/) do
|
|
9
9
|
end
|
10
10
|
|
11
11
|
When(/^I add my JS dependency with an approval flag$/) do
|
12
|
-
@output = @user.execute_command 'license_finder dependencies add
|
12
|
+
@output = @user.execute_command 'license_finder dependencies add --approve MIT my_js_dep 1.2.3'
|
13
13
|
@output.should == "The my_js_dep dependency has been added and approved!\n"
|
14
14
|
end
|
15
15
|
|
@@ -18,16 +18,16 @@ When(/^I remove my JS dependency$/) do
|
|
18
18
|
end
|
19
19
|
|
20
20
|
Then(/^I should see the JS dependency in the console output$/) do
|
21
|
-
@output = @user.execute_command 'license_finder
|
21
|
+
@output = @user.execute_command 'license_finder --quiet'
|
22
22
|
@output.should include 'my_js_dep, 1.2.3, MIT'
|
23
23
|
end
|
24
24
|
|
25
25
|
Then(/^I should not see the JS dependency in the console output$/) do
|
26
|
-
@output = @user.execute_command 'license_finder
|
26
|
+
@output = @user.execute_command 'license_finder --quiet'
|
27
27
|
@output.should_not include 'my_js_dep, 1.2.3, MIT'
|
28
28
|
end
|
29
29
|
|
30
30
|
Then(/^I should not see the JS dependency in the console output since it is approved$/) do
|
31
|
-
@output = @user.execute_command 'license_finder
|
31
|
+
@output = @user.execute_command 'license_finder --quiet'
|
32
32
|
@output.should_not include 'my_js_dep, 1.2.3, MIT'
|
33
33
|
end
|
@@ -4,7 +4,7 @@ Given /^I have a rails app(?:lication)? with license finder$/ do
|
|
4
4
|
end
|
5
5
|
|
6
6
|
When(/^I run rake license_finder$/) do
|
7
|
-
@output = @user.execute_command "rake license_finder
|
7
|
+
@output = @user.execute_command "rake license_finder --quiet"
|
8
8
|
end
|
9
9
|
|
10
10
|
Then(/^I should see a normal output$/) do
|
@@ -6,9 +6,9 @@ Given(/^I have an app with license finder that depends on an other licensed gem$
|
|
6
6
|
end
|
7
7
|
|
8
8
|
When(/^I set that gems license to MIT from the command line$/) do
|
9
|
-
@output = @user.execute_command 'license_finder
|
9
|
+
@output = @user.execute_command 'license_finder --quiet'
|
10
10
|
@output = @user.execute_command 'license_finder license MIT other_gem'
|
11
|
-
@output = @user.execute_command 'license_finder
|
11
|
+
@output = @user.execute_command 'license_finder --quiet'
|
12
12
|
end
|
13
13
|
|
14
14
|
Then(/^I should see that other gems license set to MIT$/) do
|
@@ -11,12 +11,12 @@ Given(/^I have an app with license finder$/) do
|
|
11
11
|
end
|
12
12
|
|
13
13
|
When(/^I run license_finder$/) do
|
14
|
-
@output = @user.execute_command "license_finder
|
14
|
+
@output = @user.execute_command "license_finder --quiet"
|
15
15
|
end
|
16
16
|
|
17
|
-
When(/^I whitelist MIT and 'other' licenses$/) do
|
18
|
-
@user.configure_license_finder_whitelist ["MIT","other"]
|
19
|
-
@output = @user.execute_command "license_finder
|
17
|
+
When(/^I whitelist MIT and 'other' and New BSD licenses$/) do
|
18
|
+
@user.configure_license_finder_whitelist ["MIT","other","New BSD"]
|
19
|
+
@output = @user.execute_command "license_finder --quiet"
|
20
20
|
end
|
21
21
|
|
22
22
|
module DSL
|
@@ -4,11 +4,42 @@ Given(/^I have an app with license finder that depends on an MIT license$/) do
|
|
4
4
|
@user.add_dependency_to_app 'mit_gem', :license => 'MIT'
|
5
5
|
end
|
6
6
|
|
7
|
+
Given(/^I have an app with license finder that depends on an BSD license$/) do
|
8
|
+
@user = ::DSL::User.new
|
9
|
+
@user.create_nonrails_app
|
10
|
+
@user.add_dependency_to_app 'bsd_gem', :license => 'BSD'
|
11
|
+
end
|
12
|
+
|
13
|
+
When(/^I whitelist the BSD license$/) do
|
14
|
+
@user.execute_command 'license_finder whitelist add BSD'
|
15
|
+
end
|
16
|
+
|
7
17
|
When(/^I whitelist the Expat license$/) do
|
8
|
-
@user.
|
9
|
-
|
18
|
+
@user.execute_command 'license_finder whitelist add Expat'
|
19
|
+
end
|
20
|
+
|
21
|
+
When(/^I view the whitelisted licenses$/) do
|
22
|
+
@output = @user.execute_command 'license_finder whitelist list'
|
23
|
+
end
|
24
|
+
|
25
|
+
When(/^I remove Expat from the whitelist$/) do
|
26
|
+
@output = @user.execute_command 'license_finder whitelist remove Expat'
|
10
27
|
end
|
11
28
|
|
12
29
|
Then(/^I should not see a MIT licensed gem unapproved$/) do
|
30
|
+
@output = @user.execute_command 'license_finder --quiet'
|
13
31
|
@output.should_not include 'mit_gem'
|
14
32
|
end
|
33
|
+
|
34
|
+
Then(/^I should see Expat in the output$/) do
|
35
|
+
@output.should include 'Expat'
|
36
|
+
end
|
37
|
+
|
38
|
+
Then(/^I should not see Expat in the output$/) do
|
39
|
+
@output.should_not include 'Expat'
|
40
|
+
end
|
41
|
+
|
42
|
+
Then(/^I should not see a BSD licensed gem unapproved$/) do
|
43
|
+
@output = @user.execute_command 'license_finder --quiet'
|
44
|
+
@output.should_not include 'bsd_gem'
|
45
|
+
end
|
data/features/whitelist.feature
CHANGED
@@ -3,7 +3,25 @@ Feature: Whitelist licenses
|
|
3
3
|
I want to whitelist certain OSS licenses that my business has pre-approved
|
4
4
|
So that any dependencies with those licenses do not show up as action items
|
5
5
|
|
6
|
-
Scenario:
|
6
|
+
Scenario: Adding a license to the whitelist
|
7
|
+
Given I have an app with license finder
|
8
|
+
When I whitelist the Expat license
|
9
|
+
And I view the whitelisted licenses
|
10
|
+
Then I should see Expat in the output
|
11
|
+
|
12
|
+
Scenario: Whitelisting the BSD License should approve BSD licensed dependencies
|
13
|
+
Given I have an app with license finder that depends on an BSD license
|
14
|
+
When I whitelist the BSD license
|
15
|
+
Then I should not see a BSD licensed gem unapproved
|
16
|
+
|
17
|
+
Scenario: Removing a license from the whitelist
|
18
|
+
Given I have an app with license finder
|
19
|
+
When I whitelist the Expat license
|
20
|
+
And I remove Expat from the whitelist
|
21
|
+
And I view the whitelisted licenses
|
22
|
+
Then I should not see Expat in the output
|
23
|
+
|
24
|
+
Scenario: Whitelist with MIT License aliased name "Expat" should whitelist "MIT" licenses
|
7
25
|
Given I have an app with license finder that depends on an MIT license
|
8
26
|
When I whitelist the Expat license
|
9
27
|
Then I should not see a MIT licensed gem unapproved
|
data/lib/license_finder.rb
CHANGED
@@ -10,7 +10,6 @@ module LicenseFinder
|
|
10
10
|
autoload :Bundle, 'license_finder/bundle'
|
11
11
|
autoload :BundledGem, 'license_finder/bundled_gem'
|
12
12
|
autoload :BundledGemSaver, 'license_finder/bundled_gem_saver'
|
13
|
-
autoload :BundlerGroupManager, 'license_finder/bundler_group_manager'
|
14
13
|
autoload :CLI, 'license_finder/cli'
|
15
14
|
autoload :Configuration, 'license_finder/configuration'
|
16
15
|
autoload :DependencyManager, 'license_finder/dependency_manager'
|
@@ -35,6 +34,10 @@ module LicenseFinder
|
|
35
34
|
@config ||= Configuration.ensure_default
|
36
35
|
end
|
37
36
|
|
37
|
+
def self.current_gems
|
38
|
+
@current_gems ||= Bundle.current_gems
|
39
|
+
end
|
40
|
+
|
38
41
|
def self.load_rake_tasks
|
39
42
|
load 'tasks/license_finder.rake'
|
40
43
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require "bundler"
|
2
|
+
|
1
3
|
module LicenseFinder
|
2
4
|
class Bundle
|
3
5
|
attr_writer :ignore_groups
|
@@ -34,7 +36,7 @@ module LicenseFinder
|
|
34
36
|
end
|
35
37
|
|
36
38
|
def included_groups
|
37
|
-
definition.groups - ignore_groups
|
39
|
+
definition.groups - ignore_groups.map(&:to_sym)
|
38
40
|
end
|
39
41
|
|
40
42
|
def gemfile_path
|
@@ -4,7 +4,9 @@ module LicenseFinder
|
|
4
4
|
def_delegators :spec, :name, :version, :summary, :description, :homepage
|
5
5
|
def_delegators :bundled_gem, :bundler_dependency, :determine_license, :children
|
6
6
|
|
7
|
-
|
7
|
+
attr_reader :dependency, :bundled_gem
|
8
|
+
|
9
|
+
def self.find_or_create_by_name(name, bundled_gem)
|
8
10
|
dependency = Dependency.named(name)
|
9
11
|
new(dependency, bundled_gem)
|
10
12
|
end
|
@@ -26,19 +28,27 @@ module LicenseFinder
|
|
26
28
|
|
27
29
|
private
|
28
30
|
|
29
|
-
attr_reader :dependency, :bundled_gem
|
30
|
-
|
31
31
|
def spec
|
32
32
|
bundled_gem.spec
|
33
33
|
end
|
34
34
|
|
35
35
|
def apply_dependency_definition
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
36
|
+
if values_have_changed?
|
37
|
+
dependency.version = version.to_s
|
38
|
+
dependency.summary = summary
|
39
|
+
dependency.description = description
|
40
|
+
dependency.homepage = homepage
|
41
|
+
dependency.license ||= LicenseAlias.create(name: determine_license)
|
42
|
+
dependency.save
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
def values_have_changed?
|
47
|
+
return dependency.version != version.to_s ||
|
48
|
+
dependency.summary != summary ||
|
49
|
+
dependency.description != description ||
|
50
|
+
dependency.homepage != homepage ||
|
51
|
+
dependency.license.name != determine_license
|
42
52
|
end
|
43
53
|
|
44
54
|
def refresh_bundler_groups
|
@@ -53,14 +63,27 @@ module LicenseFinder
|
|
53
63
|
def refresh_children
|
54
64
|
dependency.remove_all_children
|
55
65
|
children.each do |child|
|
56
|
-
|
66
|
+
if child_required?(child)
|
67
|
+
dependency.add_child Dependency.named(child)
|
68
|
+
end
|
57
69
|
end
|
58
70
|
end
|
59
71
|
|
72
|
+
def child_required?(child)
|
73
|
+
current_gem_names.include?(child)
|
74
|
+
end
|
75
|
+
|
76
|
+
def current_gem_names
|
77
|
+
@current_gem_names ||= LicenseFinder.current_gems.map { |gem| gem.name.split(" ")[0] }
|
78
|
+
end
|
79
|
+
|
60
80
|
def apply_better_license
|
61
81
|
if dependency.license && !dependency.license.manual && determine_license != 'other'
|
62
|
-
|
63
|
-
dependency.license.
|
82
|
+
new_name = determine_license
|
83
|
+
unless new_name == dependency.license.name
|
84
|
+
dependency.license.name = new_name
|
85
|
+
dependency.license.save
|
86
|
+
end
|
64
87
|
end
|
65
88
|
end
|
66
89
|
end
|
data/lib/license_finder/cli.rb
CHANGED
@@ -19,8 +19,17 @@ module LicenseFinder
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
|
23
|
-
|
22
|
+
# Thor fix for `license_finder <subcommand> help <action>`
|
23
|
+
class Subcommand < Base
|
24
|
+
# Hack to override the help message produced by Thor.
|
25
|
+
# https://github.com/wycats/thor/issues/261#issuecomment-16880836
|
26
|
+
def self.banner(command, namespace = nil, subcommand = nil)
|
27
|
+
"#{basename} #{name.split("::").last.downcase} #{command.usage}"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
class Dependencies < Subcommand
|
32
|
+
option :approve, type: :boolean, desc: "Approve the added dependency"
|
24
33
|
desc "add LICENSE DEPENDENCY_NAME [VERSION] [--approve]", "Add a dependency that is not managed by Bundler"
|
25
34
|
def add(license, name, version = nil)
|
26
35
|
die_on_error {
|
@@ -44,12 +53,42 @@ module LicenseFinder
|
|
44
53
|
end
|
45
54
|
end
|
46
55
|
|
47
|
-
class
|
56
|
+
class Whitelist < Subcommand
|
57
|
+
desc "list", "List all the whitelisted licenses"
|
58
|
+
def list
|
59
|
+
whitelist = LicenseFinder.config.whitelist
|
60
|
+
|
61
|
+
say "Whitelisted Licenses:", :blue
|
62
|
+
whitelist.each do |license|
|
63
|
+
say license
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
desc "add", "Add a license to the whitelist"
|
68
|
+
def add(license)
|
69
|
+
die_on_error {
|
70
|
+
LicenseFinder.config.whitelist.push(license)
|
71
|
+
LicenseFinder.config.save
|
72
|
+
}
|
73
|
+
say "Added #{license} to the license whitelist"
|
74
|
+
end
|
75
|
+
|
76
|
+
desc "remove", "Remove a license from the whitelist"
|
77
|
+
def remove(license)
|
78
|
+
die_on_error {
|
79
|
+
LicenseFinder.config.whitelist.delete(license)
|
80
|
+
LicenseFinder.config.save
|
81
|
+
}
|
82
|
+
say "Removed #{license} from the license whitelist"
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
class IgnoredBundlerGroups < Subcommand
|
48
87
|
desc "list", "List all the ignored bundler groups"
|
49
88
|
def list
|
50
89
|
ignored = LicenseFinder.config.ignore_groups
|
51
90
|
|
52
|
-
say "Ignored Bundler Groups:", :
|
91
|
+
say "Ignored Bundler Groups:", :blue
|
53
92
|
ignored.each do |group|
|
54
93
|
say group
|
55
94
|
end
|
@@ -58,7 +97,8 @@ module LicenseFinder
|
|
58
97
|
desc "add", "Add a bundler group to be ignored"
|
59
98
|
def add(group)
|
60
99
|
die_on_error {
|
61
|
-
|
100
|
+
LicenseFinder.config.ignore_groups.push(group)
|
101
|
+
LicenseFinder.config.save
|
62
102
|
}
|
63
103
|
say "Added #{group} to the ignored bundler groups"
|
64
104
|
end
|
@@ -66,15 +106,16 @@ module LicenseFinder
|
|
66
106
|
desc "remove", "Remove a bundler group from the ignored bundler groups"
|
67
107
|
def remove(group)
|
68
108
|
die_on_error {
|
69
|
-
|
109
|
+
LicenseFinder.config.ignore_groups.delete(group)
|
110
|
+
LicenseFinder.config.save
|
70
111
|
}
|
71
112
|
say "Removed #{group} from the ignored bundler groups"
|
72
113
|
end
|
73
114
|
end
|
74
115
|
|
75
116
|
class Main < Base
|
76
|
-
option :quiet, type: :boolean,
|
77
|
-
desc "rescan", "Find new dependencies."
|
117
|
+
option :quiet, type: :boolean, desc: "silences loading output"
|
118
|
+
desc "rescan", "Find new dependencies. (Default action)"
|
78
119
|
def rescan
|
79
120
|
die_on_error {
|
80
121
|
spinner {
|
@@ -125,6 +166,7 @@ module LicenseFinder
|
|
125
166
|
|
126
167
|
subcommand "dependencies", Dependencies, "manage non-Bundler dependencies"
|
127
168
|
subcommand "ignored_bundler_groups", IgnoredBundlerGroups, "manage ignored bundler groups"
|
169
|
+
subcommand "whitelist", Whitelist, "manage whitelisted licenses"
|
128
170
|
|
129
171
|
private
|
130
172
|
|