license_finder 0.9.0 → 0.9.1
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/.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
|