license_finder 0.9.0-java → 0.9.1-java

Sign up to get free protection for your applications and to get access to all the features.
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