license_finder 0.9.0-java → 0.9.1-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.
Files changed (50) hide show
  1. data/.travis.yml +0 -1
  2. data/CHANGELOG.rdoc +27 -3
  3. data/db/migrate/201307250917_add_license_manual_to_dependencies.rb +7 -0
  4. data/db/migrate/201307251004_data_fix_manual_licenses.rb +15 -0
  5. data/db/migrate/201307251107_reassociate_license.rb +23 -0
  6. data/db/migrate/201307251340_remove_manual_from_license_aliases.rb +7 -0
  7. data/features/cli.feature +1 -1
  8. data/features/html_report.feature +3 -2
  9. data/features/project_name.feature +10 -0
  10. data/features/set_license.feature +1 -0
  11. data/features/step_definitions/cli_steps.rb +3 -3
  12. data/features/step_definitions/project_name_steps.rb +3 -0
  13. data/features/step_definitions/set_license_steps.rb +9 -4
  14. data/features/step_definitions/shared_steps.rb +11 -2
  15. data/features/step_definitions/text_report_steps.rb +12 -2
  16. data/features/text_report.feature +7 -1
  17. data/files/dependency_breakdown.png +0 -0
  18. data/files/license_finder.yml +1 -0
  19. data/files/report_breakdown.png +0 -0
  20. data/lib/license_finder.rb +0 -5
  21. data/lib/license_finder/bundle.rb +22 -4
  22. data/lib/license_finder/bundled_gem.rb +17 -10
  23. data/lib/license_finder/bundled_gem_saver.rb +42 -30
  24. data/lib/license_finder/cli.rb +37 -5
  25. data/lib/license_finder/configuration.rb +13 -2
  26. data/lib/license_finder/dependency_manager.rb +21 -8
  27. data/lib/license_finder/reports/dependency_report.rb +1 -1
  28. data/lib/license_finder/reports/reporter.rb +4 -0
  29. data/lib/license_finder/tables/dependency.rb +9 -1
  30. data/lib/license_finder/tables/license_alias.rb +0 -4
  31. data/lib/license_finder/yml_to_sql.rb +1 -11
  32. data/lib/templates/html_report.erb +13 -3
  33. data/license_finder.gemspec +3 -4
  34. data/readme.md +25 -3
  35. data/release/gem_version.rb +3 -0
  36. data/{release.md → release/manual_instructions.md} +6 -0
  37. data/release/publish.sh +29 -0
  38. data/spec/lib/license_finder/bundle_spec.rb +16 -4
  39. data/spec/lib/license_finder/bundled_gem_saver_spec.rb +41 -38
  40. data/spec/lib/license_finder/bundled_gem_spec.rb +22 -4
  41. data/spec/lib/license_finder/cli_spec.rb +22 -0
  42. data/spec/lib/license_finder/configuration_spec.rb +34 -14
  43. data/spec/lib/license_finder/dependency_manager_spec.rb +61 -10
  44. data/spec/lib/license_finder/reporter_spec.rb +35 -1
  45. data/spec/lib/license_finder/tables/dependency_spec.rb +23 -0
  46. data/spec/lib/license_finder/tables/license_alias_spec.rb +0 -16
  47. data/spec/lib/license_finder/yml_to_sql_spec.rb +11 -3
  48. data/spec/lib/license_finder_spec.rb +2 -2
  49. data/spec/spec_helper.rb +3 -13
  50. metadata +64 -69
@@ -1,4 +1,38 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe LicenseFinder::Reporter do
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
- saved_dep.manual.should == false
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
- saved_dep.manual.should == true
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.license_url.org"
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.txt'
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.txt'
77
+ config.dependencies_text.should == './doc/dependencies.csv'
78
78
  config.dependencies_html.should == './doc/dependencies.html'
79
79
  end
80
80
  end
@@ -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.before(:suite) do
19
- DatabaseCleaner.strategy = :transaction
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
@@ -2,7 +2,7 @@
2
2
  name: license_finder
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.9.0
5
+ version: 0.9.1
6
6
  platform: java
7
7
  authors:
8
8
  - Jacob Maine
@@ -11,28 +11,27 @@ authors:
11
11
  - David Edwards
12
12
  - Paul Meskers
13
13
  - Brent Wheeldon
14
+ - Trevor John
14
15
  - David Tengdin
15
16
  - William Ramsey
16
17
  autorequire:
17
18
  bindir: bin
18
19
  cert_chain: []
19
- date: 2013-07-16 00:00:00.000000000 Z
20
+ date: 2013-07-30 00:00:00.000000000 Z
20
21
  dependencies:
21
22
  - !ruby/object:Gem::Dependency
22
23
  name: bundler
23
24
  version_requirements: !ruby/object:Gem::Requirement
24
25
  requirements:
25
- - - ">="
26
+ - - '>='
26
27
  - !ruby/object:Gem::Version
27
- version: !binary |-
28
- MA==
28
+ version: '0'
29
29
  none: false
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
- - - ">="
32
+ - - '>='
33
33
  - !ruby/object:Gem::Version
34
- version: !binary |-
35
- MA==
34
+ version: '0'
36
35
  none: false
37
36
  prerelease: false
38
37
  type: :runtime
@@ -40,17 +39,15 @@ dependencies:
40
39
  name: sequel
41
40
  version_requirements: !ruby/object:Gem::Requirement
42
41
  requirements:
43
- - - ">="
42
+ - - '>='
44
43
  - !ruby/object:Gem::Version
45
- version: !binary |-
46
- MA==
44
+ version: '0'
47
45
  none: false
48
46
  requirement: !ruby/object:Gem::Requirement
49
47
  requirements:
50
- - - ">="
48
+ - - '>='
51
49
  - !ruby/object:Gem::Version
52
- version: !binary |-
53
- MA==
50
+ version: '0'
54
51
  none: false
55
52
  prerelease: false
56
53
  type: :runtime
@@ -58,17 +55,15 @@ dependencies:
58
55
  name: thor
59
56
  version_requirements: !ruby/object:Gem::Requirement
60
57
  requirements:
61
- - - ">="
58
+ - - '>='
62
59
  - !ruby/object:Gem::Version
63
- version: !binary |-
64
- MA==
60
+ version: '0'
65
61
  none: false
66
62
  requirement: !ruby/object:Gem::Requirement
67
63
  requirements:
68
- - - ">="
64
+ - - '>='
69
65
  - !ruby/object:Gem::Version
70
- version: !binary |-
71
- MA==
66
+ version: '0'
72
67
  none: false
73
68
  prerelease: false
74
69
  type: :runtime
@@ -76,17 +71,15 @@ dependencies:
76
71
  name: rake
77
72
  version_requirements: !ruby/object:Gem::Requirement
78
73
  requirements:
79
- - - ">="
74
+ - - '>='
80
75
  - !ruby/object:Gem::Version
81
- version: !binary |-
82
- MA==
76
+ version: '0'
83
77
  none: false
84
78
  requirement: !ruby/object:Gem::Requirement
85
79
  requirements:
86
- - - ">="
80
+ - - '>='
87
81
  - !ruby/object:Gem::Version
88
- version: !binary |-
89
- MA==
82
+ version: '0'
90
83
  none: false
91
84
  prerelease: false
92
85
  type: :runtime
@@ -94,17 +87,15 @@ dependencies:
94
87
  name: jdbc-sqlite3
95
88
  version_requirements: !ruby/object:Gem::Requirement
96
89
  requirements:
97
- - - ">="
90
+ - - '>='
98
91
  - !ruby/object:Gem::Version
99
- version: !binary |-
100
- MA==
92
+ version: '0'
101
93
  none: false
102
94
  requirement: !ruby/object:Gem::Requirement
103
95
  requirements:
104
- - - ">="
96
+ - - '>='
105
97
  - !ruby/object:Gem::Version
106
- version: !binary |-
107
- MA==
98
+ version: '0'
108
99
  none: false
109
100
  prerelease: false
110
101
  type: :runtime
@@ -112,17 +103,15 @@ dependencies:
112
103
  name: rspec
113
104
  version_requirements: !ruby/object:Gem::Requirement
114
105
  requirements:
115
- - - ">="
106
+ - - '>='
116
107
  - !ruby/object:Gem::Version
117
- version: !binary |-
118
- MA==
108
+ version: '0'
119
109
  none: false
120
110
  requirement: !ruby/object:Gem::Requirement
121
111
  requirements:
122
- - - ">="
112
+ - - '>='
123
113
  - !ruby/object:Gem::Version
124
- version: !binary |-
125
- MA==
114
+ version: '0'
126
115
  none: false
127
116
  prerelease: false
128
117
  type: :development
@@ -130,17 +119,15 @@ dependencies:
130
119
  name: xpath
131
120
  version_requirements: !ruby/object:Gem::Requirement
132
121
  requirements:
133
- - - ">="
122
+ - - '>='
134
123
  - !ruby/object:Gem::Version
135
- version: !binary |-
136
- MA==
124
+ version: '0'
137
125
  none: false
138
126
  requirement: !ruby/object:Gem::Requirement
139
127
  requirements:
140
- - - ">="
128
+ - - '>='
141
129
  - !ruby/object:Gem::Version
142
- version: !binary |-
143
- MA==
130
+ version: '0'
144
131
  none: false
145
132
  prerelease: false
146
133
  type: :development
@@ -148,33 +135,31 @@ dependencies:
148
135
  name: cucumber
149
136
  version_requirements: !ruby/object:Gem::Requirement
150
137
  requirements:
151
- - - ">="
138
+ - - '>='
152
139
  - !ruby/object:Gem::Version
153
- version: !binary |-
154
- MA==
140
+ version: '0'
155
141
  none: false
156
142
  requirement: !ruby/object:Gem::Requirement
157
143
  requirements:
158
- - - ">="
144
+ - - '>='
159
145
  - !ruby/object:Gem::Version
160
- version: !binary |-
161
- MA==
146
+ version: '0'
162
147
  none: false
163
148
  prerelease: false
164
149
  type: :development
165
150
  - !ruby/object:Gem::Dependency
166
- name: database_cleaner
151
+ name: pry
167
152
  version_requirements: !ruby/object:Gem::Requirement
168
153
  requirements:
169
- - - '='
154
+ - - '>='
170
155
  - !ruby/object:Gem::Version
171
- version: 0.9.1
156
+ version: '0'
172
157
  none: false
173
158
  requirement: !ruby/object:Gem::Requirement
174
159
  requirements:
175
- - - '='
160
+ - - '>='
176
161
  - !ruby/object:Gem::Version
177
- version: 0.9.1
162
+ version: '0'
178
163
  none: false
179
164
  prerelease: false
180
165
  type: :development
@@ -182,13 +167,13 @@ dependencies:
182
167
  name: capybara
183
168
  version_requirements: !ruby/object:Gem::Requirement
184
169
  requirements:
185
- - - "~>"
170
+ - - ~>
186
171
  - !ruby/object:Gem::Version
187
172
  version: 2.0.0
188
173
  none: false
189
174
  requirement: !ruby/object:Gem::Requirement
190
175
  requirements:
191
- - - "~>"
176
+ - - ~>
192
177
  - !ruby/object:Gem::Version
193
178
  version: 2.0.0
194
179
  none: false
@@ -198,13 +183,13 @@ dependencies:
198
183
  name: rails
199
184
  version_requirements: !ruby/object:Gem::Requirement
200
185
  requirements:
201
- - - "~>"
186
+ - - ~>
202
187
  - !ruby/object:Gem::Version
203
188
  version: 3.2.0
204
189
  none: false
205
190
  requirement: !ruby/object:Gem::Requirement
206
191
  requirements:
207
- - - "~>"
192
+ - - ~>
208
193
  - !ruby/object:Gem::Version
209
194
  version: 3.2.0
210
195
  none: false
@@ -223,9 +208,9 @@ executables:
223
208
  extensions: []
224
209
  extra_rdoc_files: []
225
210
  files:
226
- - ".gitignore"
227
- - ".rspec"
228
- - ".travis.yml"
211
+ - .gitignore
212
+ - .rspec
213
+ - .travis.yml
229
214
  - CHANGELOG.rdoc
230
215
  - Gemfile
231
216
  - LICENSE
@@ -241,11 +226,16 @@ files:
241
226
  - db/migrate/201304011027_allow_null_dependency_version.rb
242
227
  - db/migrate/201304020947_change_table_name_licenses_to_license_aliases.rb
243
228
  - db/migrate/201304181524_add_manual_to_dependencies.rb
229
+ - db/migrate/201307250917_add_license_manual_to_dependencies.rb
230
+ - db/migrate/201307251004_data_fix_manual_licenses.rb
231
+ - db/migrate/201307251107_reassociate_license.rb
232
+ - db/migrate/201307251340_remove_manual_from_license_aliases.rb
244
233
  - features/approve_dependencies.feature
245
234
  - features/cli.feature
246
235
  - features/html_report.feature
247
236
  - features/ignore_bundle_groups.feature
248
237
  - features/non_bundler_dependencies.feature
238
+ - features/project_name.feature
249
239
  - features/rails_rake.feature
250
240
  - features/set_license.feature
251
241
  - features/step_definitions/approve_dependencies_steps.rb
@@ -253,6 +243,7 @@ files:
253
243
  - features/step_definitions/html_report_steps.rb
254
244
  - features/step_definitions/ignore_bundle_groups_steps.rb
255
245
  - features/step_definitions/non_bundler_steps.rb
246
+ - features/step_definitions/project_name_steps.rb
256
247
  - features/step_definitions/rails_rake_steps.rb
257
248
  - features/step_definitions/set_license_steps.rb
258
249
  - features/step_definitions/shared_steps.rb
@@ -260,7 +251,9 @@ files:
260
251
  - features/step_definitions/whitelist_steps.rb
261
252
  - features/text_report.feature
262
253
  - features/whitelist.feature
254
+ - files/dependency_breakdown.png
263
255
  - files/license_finder.yml
256
+ - files/report_breakdown.png
264
257
  - lib/data/licenses/Apache2.txt
265
258
  - lib/data/licenses/BSD.txt
266
259
  - lib/data/licenses/GPLv2.txt
@@ -307,7 +300,9 @@ files:
307
300
  - lib/templates/text_report.erb
308
301
  - license_finder.gemspec
309
302
  - readme.md
310
- - release.md
303
+ - release/gem_version.rb
304
+ - release/manual_instructions.md
305
+ - release/publish.sh
311
306
  - spec/fixtures/APACHE-2-LICENSE
312
307
  - spec/fixtures/GPLv2
313
308
  - spec/fixtures/ISC-LICENSE
@@ -371,23 +366,21 @@ require_paths:
371
366
  - lib
372
367
  required_ruby_version: !ruby/object:Gem::Requirement
373
368
  requirements:
374
- - - ">="
369
+ - - '>='
375
370
  - !ruby/object:Gem::Version
376
371
  segments:
377
372
  - 0
378
373
  hash: 2
379
- version: !binary |-
380
- MA==
374
+ version: '0'
381
375
  none: false
382
376
  required_rubygems_version: !ruby/object:Gem::Requirement
383
377
  requirements:
384
- - - ">="
378
+ - - '>='
385
379
  - !ruby/object:Gem::Version
386
380
  segments:
387
381
  - 0
388
382
  hash: 2
389
- version: !binary |-
390
- MA==
383
+ version: '0'
391
384
  none: false
392
385
  requirements: []
393
386
  rubyforge_project:
@@ -401,6 +394,7 @@ test_files:
401
394
  - features/html_report.feature
402
395
  - features/ignore_bundle_groups.feature
403
396
  - features/non_bundler_dependencies.feature
397
+ - features/project_name.feature
404
398
  - features/rails_rake.feature
405
399
  - features/set_license.feature
406
400
  - features/step_definitions/approve_dependencies_steps.rb
@@ -408,6 +402,7 @@ test_files:
408
402
  - features/step_definitions/html_report_steps.rb
409
403
  - features/step_definitions/ignore_bundle_groups_steps.rb
410
404
  - features/step_definitions/non_bundler_steps.rb
405
+ - features/step_definitions/project_name_steps.rb
411
406
  - features/step_definitions/rails_rake_steps.rb
412
407
  - features/step_definitions/set_license_steps.rb
413
408
  - features/step_definitions/shared_steps.rb