license_finder 0.9.0 → 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +0 -1
- data/CHANGELOG.rdoc +27 -3
- data/db/migrate/201307250917_add_license_manual_to_dependencies.rb +7 -0
- data/db/migrate/201307251004_data_fix_manual_licenses.rb +15 -0
- data/db/migrate/201307251107_reassociate_license.rb +23 -0
- data/db/migrate/201307251340_remove_manual_from_license_aliases.rb +7 -0
- data/features/cli.feature +1 -1
- data/features/html_report.feature +3 -2
- data/features/project_name.feature +10 -0
- data/features/set_license.feature +1 -0
- data/features/step_definitions/cli_steps.rb +3 -3
- data/features/step_definitions/project_name_steps.rb +3 -0
- data/features/step_definitions/set_license_steps.rb +9 -4
- data/features/step_definitions/shared_steps.rb +11 -2
- data/features/step_definitions/text_report_steps.rb +12 -2
- data/features/text_report.feature +7 -1
- data/files/dependency_breakdown.png +0 -0
- data/files/license_finder.yml +1 -0
- data/files/report_breakdown.png +0 -0
- data/lib/license_finder.rb +0 -5
- data/lib/license_finder/bundle.rb +22 -4
- data/lib/license_finder/bundled_gem.rb +17 -10
- data/lib/license_finder/bundled_gem_saver.rb +42 -30
- data/lib/license_finder/cli.rb +37 -5
- data/lib/license_finder/configuration.rb +13 -2
- data/lib/license_finder/dependency_manager.rb +21 -8
- data/lib/license_finder/reports/dependency_report.rb +1 -1
- data/lib/license_finder/reports/reporter.rb +4 -0
- data/lib/license_finder/tables/dependency.rb +9 -1
- data/lib/license_finder/tables/license_alias.rb +0 -4
- data/lib/license_finder/yml_to_sql.rb +1 -11
- data/lib/templates/html_report.erb +13 -3
- data/license_finder.gemspec +3 -4
- data/readme.md +25 -3
- data/release/gem_version.rb +3 -0
- data/{release.md → release/manual_instructions.md} +6 -0
- data/release/publish.sh +29 -0
- data/spec/lib/license_finder/bundle_spec.rb +16 -4
- data/spec/lib/license_finder/bundled_gem_saver_spec.rb +41 -38
- data/spec/lib/license_finder/bundled_gem_spec.rb +22 -4
- data/spec/lib/license_finder/cli_spec.rb +22 -0
- data/spec/lib/license_finder/configuration_spec.rb +34 -14
- data/spec/lib/license_finder/dependency_manager_spec.rb +61 -10
- data/spec/lib/license_finder/reporter_spec.rb +35 -1
- data/spec/lib/license_finder/tables/dependency_spec.rb +23 -0
- data/spec/lib/license_finder/tables/license_alias_spec.rb +0 -16
- data/spec/lib/license_finder/yml_to_sql_spec.rb +11 -3
- data/spec/lib/license_finder_spec.rb +2 -2
- data/spec/spec_helper.rb +3 -13
- metadata +21 -8
@@ -1,4 +1,38 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
|
3
|
+
module LicenseFinder
|
4
|
+
describe Reporter do
|
5
|
+
describe "#write_reports" do
|
6
|
+
subject { Reporter.write_reports }
|
7
|
+
|
8
|
+
before do
|
9
|
+
Dependency.stub(:all) { [double(:dep)] }
|
10
|
+
File.any_instance.stub(:puts)
|
11
|
+
|
12
|
+
LicenseFinder.stub_chain(:config, :dependencies_html) { 'html_file_path' }
|
13
|
+
LicenseFinder.stub_chain(:config, :dependencies_text) { 'text_file_path' }
|
14
|
+
|
15
|
+
TextReport.stub_chain(:new, :to_s) { 'text report' }
|
16
|
+
HtmlReport.stub_chain(:new, :to_s) { 'text report' }
|
17
|
+
|
18
|
+
LicenseFinder.stub_chain(:config, :dependencies_legacy_text) { 'legacy_text_path' }
|
19
|
+
File.stub(:exists?).with('legacy_text_path') { false }
|
20
|
+
|
21
|
+
File.stub(:open).with('html_file_path', 'w+')
|
22
|
+
File.stub(:open).with('text_file_path', 'w+')
|
23
|
+
end
|
24
|
+
|
25
|
+
it "writes an html file" do
|
26
|
+
File.should_receive(:open).with('html_file_path', 'w+')
|
27
|
+
File.should_receive(:open).with('text_file_path', 'w+')
|
28
|
+
subject
|
29
|
+
end
|
30
|
+
|
31
|
+
it "deletes old dependencies.txt file" do
|
32
|
+
File.stub(:exists?).with('legacy_text_path') { true }
|
33
|
+
File.should_receive(:delete).with('legacy_text_path')
|
34
|
+
subject
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
4
38
|
end
|
@@ -76,12 +76,35 @@ module LicenseFinder
|
|
76
76
|
dependency.stub_chain(:license, whitelisted?: false)
|
77
77
|
dependency.stub_chain(:approval, state: true)
|
78
78
|
dependency.should be_approved
|
79
|
+
|
80
|
+
dependency.stub_chain(:approval, state: 1) # jruby
|
81
|
+
dependency.should be_approved
|
79
82
|
end
|
80
83
|
|
81
84
|
it "is false otherwise" do
|
82
85
|
dependency.stub_chain(:license, whitelisted?: false)
|
83
86
|
dependency.stub_chain(:approval, state: false)
|
84
87
|
dependency.should_not be_approved
|
88
|
+
|
89
|
+
dependency.stub_chain(:approval, state: 0) # jruby
|
90
|
+
dependency.should_not be_approved
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
describe "#set_license_manually!" do
|
95
|
+
let(:license) { LicenseAlias.create(name: 'foolicense') }
|
96
|
+
let(:dependency) { Dependency.create(name: 'foogem') }
|
97
|
+
|
98
|
+
it "sets manual license to true" do
|
99
|
+
dependency.license_manual.should be_false
|
100
|
+
dependency.set_license_manually!('Updated')
|
101
|
+
dependency.license_manual.should be_true
|
102
|
+
end
|
103
|
+
|
104
|
+
it "modifies the license" do
|
105
|
+
LicenseAlias.should_receive(:find_or_create).with(name: 'Updated').and_return(license)
|
106
|
+
dependency.set_license_manually!('Updated')
|
107
|
+
dependency.reload.license.should == license
|
85
108
|
end
|
86
109
|
end
|
87
110
|
end
|
@@ -10,22 +10,6 @@ module LicenseFinder
|
|
10
10
|
end
|
11
11
|
end
|
12
12
|
|
13
|
-
describe "#set_manually" do
|
14
|
-
subject do
|
15
|
-
described_class.create(name: 'Original')
|
16
|
-
end
|
17
|
-
|
18
|
-
it "modifies the license" do
|
19
|
-
subject.set_manually('Updated')
|
20
|
-
subject.reload.name.should == 'Updated'
|
21
|
-
end
|
22
|
-
|
23
|
-
it "marks the approval as manual" do
|
24
|
-
subject.set_manually('Updated')
|
25
|
-
subject.reload.manual.should be_true
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
13
|
describe "#whitelisted?" do
|
30
14
|
let(:config) { Configuration.new }
|
31
15
|
|
@@ -61,7 +61,11 @@ describe LicenseFinder::YmlToSql do
|
|
61
61
|
described_class.convert_all([legacy_attributes])
|
62
62
|
|
63
63
|
saved_dep = described_class::Sql::Dependency.first
|
64
|
-
|
64
|
+
if LicenseFinder::Platform.java?
|
65
|
+
saved_dep.manual.should == 0
|
66
|
+
else
|
67
|
+
saved_dep.manual.should == false
|
68
|
+
end
|
65
69
|
end
|
66
70
|
end
|
67
71
|
|
@@ -72,7 +76,11 @@ describe LicenseFinder::YmlToSql do
|
|
72
76
|
described_class.convert_all([legacy_attributes])
|
73
77
|
|
74
78
|
saved_dep = described_class::Sql::Dependency.first
|
75
|
-
|
79
|
+
if LicenseFinder::Platform.java?
|
80
|
+
saved_dep.manual.should == 1
|
81
|
+
else
|
82
|
+
saved_dep.manual.should == true
|
83
|
+
end
|
76
84
|
end
|
77
85
|
end
|
78
86
|
|
@@ -93,7 +101,7 @@ describe LicenseFinder::YmlToSql do
|
|
93
101
|
|
94
102
|
saved_dep = described_class::Sql::Dependency.first
|
95
103
|
saved_dep.license.name.should == "GPLv2"
|
96
|
-
saved_dep.license.url.should == "www.
|
104
|
+
saved_dep.license.url.should == "http://www.gnu.org/licenses/gpl-2.0.txt"
|
97
105
|
end
|
98
106
|
|
99
107
|
it "associates bundler groups" do
|
@@ -66,7 +66,7 @@ describe LicenseFinder do
|
|
66
66
|
config = LicenseFinder.config
|
67
67
|
config.dependencies_dir.should == './elsewhere'
|
68
68
|
config.dependencies_yaml.should == './elsewhere/dependencies.yml'
|
69
|
-
config.dependencies_text.should == './elsewhere/dependencies.
|
69
|
+
config.dependencies_text.should == './elsewhere/dependencies.csv'
|
70
70
|
config.dependencies_html.should == './elsewhere/dependencies.html'
|
71
71
|
end
|
72
72
|
|
@@ -74,7 +74,7 @@ describe LicenseFinder do
|
|
74
74
|
config = LicenseFinder.config
|
75
75
|
config.dependencies_dir.should == './doc/'
|
76
76
|
config.dependencies_yaml.should == './doc/dependencies.yml'
|
77
|
-
config.dependencies_text.should == './doc/dependencies.
|
77
|
+
config.dependencies_text.should == './doc/dependencies.csv'
|
78
78
|
config.dependencies_html.should == './doc/dependencies.html'
|
79
79
|
end
|
80
80
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'bundler/setup'
|
3
3
|
|
4
|
+
require 'pry'
|
4
5
|
require 'license_finder'
|
5
6
|
require 'rspec'
|
6
7
|
|
@@ -12,19 +13,8 @@ RSpec.configure do |config|
|
|
12
13
|
config.mock_with :rspec
|
13
14
|
end
|
14
15
|
|
15
|
-
require 'database_cleaner'
|
16
|
-
|
17
16
|
RSpec.configure do |config|
|
18
|
-
config.
|
19
|
-
|
20
|
-
DatabaseCleaner.clean_with(:truncation, except: [:schema_migrations])
|
21
|
-
end
|
22
|
-
|
23
|
-
config.before(:each) do
|
24
|
-
DatabaseCleaner.start
|
25
|
-
end
|
26
|
-
|
27
|
-
config.after(:each) do
|
28
|
-
DatabaseCleaner.clean
|
17
|
+
config.around(:each) do |example|
|
18
|
+
DB.transaction(rollback: :always) { example.run }
|
29
19
|
end
|
30
20
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: license_finder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jacob Maine
|
@@ -10,12 +10,13 @@ authors:
|
|
10
10
|
- David Edwards
|
11
11
|
- Paul Meskers
|
12
12
|
- Brent Wheeldon
|
13
|
+
- Trevor John
|
13
14
|
- David Tengdin
|
14
15
|
- William Ramsey
|
15
16
|
autorequire:
|
16
17
|
bindir: bin
|
17
18
|
cert_chain: []
|
18
|
-
date: 2013-07-
|
19
|
+
date: 2013-07-30 00:00:00.000000000 Z
|
19
20
|
dependencies:
|
20
21
|
- !ruby/object:Gem::Dependency
|
21
22
|
name: bundler
|
@@ -130,19 +131,19 @@ dependencies:
|
|
130
131
|
- !ruby/object:Gem::Version
|
131
132
|
version: '0'
|
132
133
|
- !ruby/object:Gem::Dependency
|
133
|
-
name:
|
134
|
+
name: pry
|
134
135
|
requirement: !ruby/object:Gem::Requirement
|
135
136
|
requirements:
|
136
|
-
- - '
|
137
|
+
- - '>='
|
137
138
|
- !ruby/object:Gem::Version
|
138
|
-
version: 0
|
139
|
+
version: '0'
|
139
140
|
type: :development
|
140
141
|
prerelease: false
|
141
142
|
version_requirements: !ruby/object:Gem::Requirement
|
142
143
|
requirements:
|
143
|
-
- - '
|
144
|
+
- - '>='
|
144
145
|
- !ruby/object:Gem::Version
|
145
|
-
version: 0
|
146
|
+
version: '0'
|
146
147
|
- !ruby/object:Gem::Dependency
|
147
148
|
name: capybara
|
148
149
|
requirement: !ruby/object:Gem::Requirement
|
@@ -202,11 +203,16 @@ files:
|
|
202
203
|
- db/migrate/201304011027_allow_null_dependency_version.rb
|
203
204
|
- db/migrate/201304020947_change_table_name_licenses_to_license_aliases.rb
|
204
205
|
- db/migrate/201304181524_add_manual_to_dependencies.rb
|
206
|
+
- db/migrate/201307250917_add_license_manual_to_dependencies.rb
|
207
|
+
- db/migrate/201307251004_data_fix_manual_licenses.rb
|
208
|
+
- db/migrate/201307251107_reassociate_license.rb
|
209
|
+
- db/migrate/201307251340_remove_manual_from_license_aliases.rb
|
205
210
|
- features/approve_dependencies.feature
|
206
211
|
- features/cli.feature
|
207
212
|
- features/html_report.feature
|
208
213
|
- features/ignore_bundle_groups.feature
|
209
214
|
- features/non_bundler_dependencies.feature
|
215
|
+
- features/project_name.feature
|
210
216
|
- features/rails_rake.feature
|
211
217
|
- features/set_license.feature
|
212
218
|
- features/step_definitions/approve_dependencies_steps.rb
|
@@ -214,6 +220,7 @@ files:
|
|
214
220
|
- features/step_definitions/html_report_steps.rb
|
215
221
|
- features/step_definitions/ignore_bundle_groups_steps.rb
|
216
222
|
- features/step_definitions/non_bundler_steps.rb
|
223
|
+
- features/step_definitions/project_name_steps.rb
|
217
224
|
- features/step_definitions/rails_rake_steps.rb
|
218
225
|
- features/step_definitions/set_license_steps.rb
|
219
226
|
- features/step_definitions/shared_steps.rb
|
@@ -221,7 +228,9 @@ files:
|
|
221
228
|
- features/step_definitions/whitelist_steps.rb
|
222
229
|
- features/text_report.feature
|
223
230
|
- features/whitelist.feature
|
231
|
+
- files/dependency_breakdown.png
|
224
232
|
- files/license_finder.yml
|
233
|
+
- files/report_breakdown.png
|
225
234
|
- lib/data/licenses/Apache2.txt
|
226
235
|
- lib/data/licenses/BSD.txt
|
227
236
|
- lib/data/licenses/GPLv2.txt
|
@@ -268,7 +277,9 @@ files:
|
|
268
277
|
- lib/templates/text_report.erb
|
269
278
|
- license_finder.gemspec
|
270
279
|
- readme.md
|
271
|
-
- release.
|
280
|
+
- release/gem_version.rb
|
281
|
+
- release/manual_instructions.md
|
282
|
+
- release/publish.sh
|
272
283
|
- spec/fixtures/APACHE-2-LICENSE
|
273
284
|
- spec/fixtures/GPLv2
|
274
285
|
- spec/fixtures/ISC-LICENSE
|
@@ -353,6 +364,7 @@ test_files:
|
|
353
364
|
- features/html_report.feature
|
354
365
|
- features/ignore_bundle_groups.feature
|
355
366
|
- features/non_bundler_dependencies.feature
|
367
|
+
- features/project_name.feature
|
356
368
|
- features/rails_rake.feature
|
357
369
|
- features/set_license.feature
|
358
370
|
- features/step_definitions/approve_dependencies_steps.rb
|
@@ -360,6 +372,7 @@ test_files:
|
|
360
372
|
- features/step_definitions/html_report_steps.rb
|
361
373
|
- features/step_definitions/ignore_bundle_groups_steps.rb
|
362
374
|
- features/step_definitions/non_bundler_steps.rb
|
375
|
+
- features/step_definitions/project_name_steps.rb
|
363
376
|
- features/step_definitions/rails_rake_steps.rb
|
364
377
|
- features/step_definitions/set_license_steps.rb
|
365
378
|
- features/step_definitions/shared_steps.rb
|