license_finder 1.0.1 → 1.1.0

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6965ddeb70d6a9462f426dd9314a07920e83e953
4
+ data.tar.gz: 197642f07c0032fe03328103cdd7e6f7c4845640
5
+ SHA512:
6
+ metadata.gz: 978887a4a20f652a84f8af8347cc03764b23c8c487b5a8ca266bd578a8e3ee43c5b323f652bd7238b9ca915f01b676d66a0a12ea9681b8bfc93551ca9d17cd2d
7
+ data.tar.gz: 8fc6ec156a538862da5790caef509802d6f740c1d2257c37e1e1bc17d9c67beddaeb648f058e0d36bc9bbaeab1d4e0b05aa3ac13c51625c60d4a56a00243ba69
data/.travis.yml CHANGED
@@ -3,7 +3,6 @@ rvm:
3
3
  - 2.0.0
4
4
  - 1.9.3
5
5
  - jruby-19mode
6
- - jruby-20mode
7
6
  - ruby-head
8
7
  - jruby-head
9
8
 
@@ -22,7 +22,7 @@ end
22
22
 
23
23
  Then(/^it creates a config directory with the license_finder config$/) do
24
24
  @user.config_path.should be_exist
25
- text = "---\nwhitelist:\n#- MIT\n#- Apache 2.0\nignore_groups:\n#- test\n#- development\nignore_dependencies:\n#- bundler\ndependencies_file_dir: './doc/'\nproject_name: # project name\n"
25
+ text = %|---\nwhitelist:\n#- MIT\n#- Apache 2.0\nignore_groups:\n#- test\n#- development\nignore_dependencies:\n#- bundler\ndependencies_file_dir: './doc/'\nproject_name: # project name\ngradle_command: # only meaningful if used with a Java/gradle project. Defaults to "gradle".\n|
26
26
  @user.config_file.read.should == text.gsub(/^\s+/, "")
27
27
  end
28
28
 
@@ -9,3 +9,4 @@ ignore_dependencies:
9
9
  #- bundler
10
10
  dependencies_file_dir: './doc/'
11
11
  project_name: # project name
12
+ gradle_command: # only meaningful if used with a Java/gradle project. Defaults to "gradle".
@@ -28,7 +28,7 @@ module LicenseFinder
28
28
  result
29
29
  end
30
30
 
31
- attr_accessor :whitelist, :ignore_groups, :ignore_dependencies, :artifacts, :project_name
31
+ attr_accessor :whitelist, :ignore_groups, :ignore_dependencies, :artifacts, :project_name, :gradle_command
32
32
 
33
33
  def initialize(config)
34
34
  @whitelist = Array(config['whitelist'])
@@ -36,6 +36,7 @@ module LicenseFinder
36
36
  @ignore_dependencies = Array(config["ignore_dependencies"])
37
37
  @artifacts = Artifacts.new(Pathname(config['dependencies_file_dir'] || './doc/'))
38
38
  @project_name = config['project_name'] || determine_project_name
39
+ @gradle_command = config['gradle_command'] || 'gradle'
39
40
  end
40
41
 
41
42
  def save
@@ -50,7 +51,8 @@ module LicenseFinder
50
51
  'ignore_groups' => ignore_groups.uniq,
51
52
  'ignore_dependencies' => ignore_dependencies.uniq,
52
53
  'dependencies_file_dir' => artifacts.dir.to_s,
53
- 'project_name' => project_name
54
+ 'project_name' => project_name,
55
+ 'gradle_command' => gradle_command
54
56
  }
55
57
  end
56
58
 
@@ -147,7 +149,7 @@ module LicenseFinder
147
149
  end
148
150
 
149
151
  def file_template
150
- ROOT_PATH.join('..', 'files', 'license_finder.yml')
152
+ ROOT_PATH.join('data', 'license_finder.example.yml')
151
153
  end
152
154
  end
153
155
  end
@@ -41,22 +41,6 @@ module LicenseFinder
41
41
  end
42
42
  end
43
43
 
44
- # def multiple_licenses_from_spec_and_files?
45
- # (licenses_from_spec+licenses_from_files).uniq.size > 1
46
- # end
47
-
48
- # def one_license_from_spec?
49
- # licenses_from_spec.uniq.size == 1
50
- # end
51
-
52
- # def one_license_from_files?
53
- # licenses_from_files.uniq.size == 1
54
- # end
55
-
56
- # def no_licenses_from_spec?
57
- # licenses_from_spec.uniq.size == 0
58
- # end
59
-
60
44
  def licenses_from_spec
61
45
  license_names_from_spec.map do |name|
62
46
  License.find_by_name(name)
@@ -3,14 +3,14 @@ require "xmlsimple"
3
3
  module LicenseFinder
4
4
  class Gradle
5
5
  def self.current_packages
6
- `gradle downloadLicenses`
6
+ `#{LicenseFinder.config.gradle_command} downloadLicenses`
7
7
 
8
8
  xml = license_report.read
9
9
 
10
10
  options = {
11
11
  'GroupTags' => { 'dependencies' => 'dependency' }
12
12
  }
13
- XmlSimple.xml_in(xml, options)["dependency"].map do |d|
13
+ XmlSimple.xml_in(xml, options).fetch('dependency', []).map do |d|
14
14
  d["license"].reject! { |l| l["name"] == "No license found" }
15
15
  GradlePackage.new(d)
16
16
  end
@@ -3,8 +3,8 @@ require './lib/license_finder/platform'
3
3
  Gem::Specification.new do |s|
4
4
  s.required_ruby_version = '>= 1.9.3'
5
5
  s.name = "license_finder"
6
- s.version = "1.0.1"
7
- s.authors = ["Jacob Maine", "Matthew Kane Parker", "Ian Lesperance", "David Edwards", "Paul Meskers", "Brent Wheeldon", "Trevor John", "David Tengdin", "William Ramsey", "David Dening"]
6
+ s.version = "1.1.0"
7
+ s.authors = ["Jacob Maine", "Matthew Kane Parker", "Ian Lesperance", "David Edwards", "Paul Meskers", "Brent Wheeldon", "Trevor John", "David Tengdin", "William Ramsey", "David Dening", "Geoff Pleiss", "Mike Chinigo"]
8
8
  s.email = ["commoncode@pivotalabs.com"]
9
9
  s.homepage = "https://github.com/pivotal/LicenseFinder"
10
10
  s.summary = "Audit the OSS licenses of your application's dependencies."
@@ -26,10 +26,11 @@ Gem::Specification.new do |s|
26
26
  s.add_dependency "xml-simple"
27
27
  s.add_dependency LicenseFinder::Platform.sqlite_gem
28
28
 
29
- %w(rake rspec xpath cucumber pry).each do |gem|
29
+ %w(rake rspec-its xpath cucumber pry).each do |gem|
30
30
  s.add_development_dependency gem
31
31
  end
32
32
 
33
+ s.add_development_dependency "rspec", "~> 3"
33
34
  s.add_development_dependency "capybara", "~> 2.0.0"
34
35
  s.add_development_dependency "webmock", "~> 1.13"
35
36
  s.add_development_dependency "cocoapods" if RUBY_PLATFORM =~ /darwin/
data/readme.md CHANGED
@@ -24,11 +24,6 @@ Add license_finder to your project's Gemfile and `bundle`:
24
24
  gem 'license_finder'
25
25
  ```
26
26
 
27
- #### For gradle projects
28
-
29
- You need to install the license gradle plugin: [https://github.com/hierynomus/license-gradle-plugin](https://github.com/hierynomus/license-gradle-plugin)
30
-
31
-
32
27
  ## Usage
33
28
 
34
29
 
@@ -156,6 +151,7 @@ ignore_dependencies:
156
151
  #- bundler
157
152
  dependencies_file_dir: './doc/'
158
153
  project_name: My Project Name
154
+ gradle_command: # only meaningful if used with a Java/gradle project. Defaults to "gradle".
159
155
  ```
160
156
 
161
157
  By modifying this file, you can configure license_finder's behavior.
@@ -170,11 +166,34 @@ license_finder with different versions of bundler.)
170
166
  - You can store the license database and text files in another directory by changing
171
167
  `dependencies_file_dir`. And the `project_name`, which defaults to your working
172
168
  directory, appears in the [HTML report](#html-report).
169
+ - See below for explanation of "gradle_command".
173
170
 
174
171
  You can also configure license_finder through the command line. See
175
172
  `license_finder whitelist help`, `license_finder ignored_bundler_groups help`
176
173
  and `license_finder project_name help` for more details.
177
174
 
175
+ ### For gradle projects
176
+
177
+ You need to install the license gradle plugin: [https://github.com/hierynomus/license-gradle-plugin](https://github.com/hierynomus/license-gradle-plugin)
178
+
179
+ LicenseFinder assumes that gradle is on your shell's include path and is invoked by just calling `gradle`. If you invoke gradle some other way (say, with a custom `gradlew` script), set the `gradle_command` option in your project's `license_finder.yml`:
180
+
181
+ ```yaml
182
+ # … other configuration …
183
+
184
+ gradle_command: ./gradlew
185
+ ```
186
+
187
+ By default, license_finder will report on gradle's "runtime" dependencies. If you want to generate a report for some other dependency configuration (e.g. Android projects will sometimes specify their meaningful dependencies in the "compile" group), you can specify it in your project's `build.gradle` like so:
188
+
189
+ ```
190
+ // Must come *after* the 'apply plugin: license' line
191
+
192
+ downloadLicenses {
193
+ dependencyConfiguration "compile"
194
+ }
195
+ ```
196
+
178
197
  ## HTML Report
179
198
 
180
199
  The HTML report generated by license_finder shows a summary of the project's dependencies
@@ -57,7 +57,7 @@ module LicenseFinder
57
57
  it "adds the specified license to the whitelist" do
58
58
  config.whitelist.should_receive(:push).with("test")
59
59
  config.should_receive(:save)
60
- Reporter.should_receive(:write_reports)
60
+ expect(DependencyManager).to receive(:sync_with_package_managers)
61
61
 
62
62
  silence_stdout do
63
63
  subject.add("test")
@@ -68,7 +68,7 @@ module LicenseFinder
68
68
  config.whitelist.should_receive(:push).with("test")
69
69
  config.whitelist.should_receive(:push).with("rest")
70
70
  config.should_receive(:save)
71
- Reporter.should_receive(:write_reports)
71
+ expect(DependencyManager).to receive(:sync_with_package_managers)
72
72
 
73
73
  silence_stdout do
74
74
  subject.add("test", "rest")
@@ -80,7 +80,7 @@ module LicenseFinder
80
80
  it "removes the specified license from the whitelist" do
81
81
  config.should_receive(:save)
82
82
  config.whitelist.should_receive(:delete).with("test")
83
- Reporter.should_receive(:write_reports)
83
+ expect(DependencyManager).to receive(:sync_with_package_managers)
84
84
 
85
85
  silence_stdout do
86
86
 
@@ -92,7 +92,7 @@ module LicenseFinder
92
92
  config.should_receive(:save)
93
93
  config.whitelist.should_receive(:delete).with("test")
94
94
  config.whitelist.should_receive(:delete).with("rest")
95
- Reporter.should_receive(:write_reports)
95
+ expect(DependencyManager).to receive(:sync_with_package_managers)
96
96
 
97
97
  silence_stdout do
98
98
  subject.remove("test", "rest")
@@ -108,7 +108,7 @@ module LicenseFinder
108
108
  it "sets the project name" do
109
109
  config.should_receive(:save)
110
110
  config.project_name.should_not eq("new_project_name")
111
- Reporter.should_receive(:write_reports)
111
+ expect(DependencyManager).to receive(:sync_with_package_managers)
112
112
 
113
113
  silence_stdout do
114
114
  subject.set("new_project_name")
@@ -134,7 +134,7 @@ module LicenseFinder
134
134
  it "adds the specified group to the ignored groups list" do
135
135
  config.ignore_groups.should_receive(:push).with("test")
136
136
  config.should_receive(:save)
137
- Reporter.should_receive(:write_reports)
137
+ expect(DependencyManager).to receive(:sync_with_package_managers)
138
138
 
139
139
  silence_stdout do
140
140
  subject.add("test")
@@ -146,7 +146,7 @@ module LicenseFinder
146
146
  it "removes the specified group from the ignored groups list" do
147
147
  config.ignore_groups.should_receive(:delete).with("test")
148
148
  config.should_receive(:save)
149
- Reporter.should_receive(:write_reports)
149
+ expect(DependencyManager).to receive(:sync_with_package_managers)
150
150
 
151
151
  silence_stdout do
152
152
  subject.remove("test")
@@ -178,7 +178,7 @@ module LicenseFinder
178
178
  it "adds the specified group to the ignored groups list" do
179
179
  config.ignore_dependencies.should_receive(:push).with("test")
180
180
  config.should_receive(:save)
181
- Reporter.should_receive(:write_reports)
181
+ expect(DependencyManager).to receive(:sync_with_package_managers)
182
182
 
183
183
  silence_stdout do
184
184
  subject.add("test")
@@ -190,7 +190,7 @@ module LicenseFinder
190
190
  it "removes the specified group from the ignored groups list" do
191
191
  config.ignore_dependencies.should_receive(:delete).with("test")
192
192
  config.should_receive(:save)
193
- Reporter.should_receive(:write_reports)
193
+ expect(DependencyManager).to receive(:sync_with_package_managers)
194
194
 
195
195
  silence_stdout do
196
196
  subject.remove("test")
@@ -29,6 +29,7 @@ module LicenseFinder
29
29
  subject.ignore_groups.should == []
30
30
  subject.ignore_dependencies.should == []
31
31
  subject.artifacts.dir.should == Pathname('./doc/')
32
+ subject.gradle_command.should == 'gradle'
32
33
  end
33
34
 
34
35
  it "should default missing attributes even if they are saved as nils in the YAML file" do
@@ -37,7 +38,8 @@ module LicenseFinder
37
38
  "ignore_groups" => nil,
38
39
  "ignore_dependencies" => nil,
39
40
  "dependencies_file_dir" => nil,
40
- "project_name" => nil
41
+ "project_name" => nil,
42
+ "gradle_command" => nil
41
43
  }
42
44
  subject = described_class.new(attributes)
43
45
  subject.whitelist.should == []
@@ -45,6 +47,7 @@ module LicenseFinder
45
47
  subject.ignore_dependencies.should == []
46
48
  subject.artifacts.dir.should == Pathname('./doc/')
47
49
  subject.project_name.should_not be_nil
50
+ subject.gradle_command.should == 'gradle'
48
51
  end
49
52
 
50
53
  it "should set the all of the attributes on the instance" do
@@ -53,7 +56,8 @@ module LicenseFinder
53
56
  "ignore_groups" => %w{test development},
54
57
  "ignore_dependencies" => %w{bundler},
55
58
  "dependencies_file_dir" => "some/path",
56
- "project_name" => "my_app"
59
+ "project_name" => "my_app",
60
+ "gradle_command" => "./gradlew"
57
61
  }
58
62
  subject = described_class.new(attributes)
59
63
  subject.whitelist.should == %w{a whitelist}
@@ -61,6 +65,7 @@ module LicenseFinder
61
65
  subject.ignore_dependencies.should == %w{bundler}
62
66
  subject.artifacts.dir.should == Pathname("some/path")
63
67
  subject.project_name.should == "my_app"
68
+ subject.gradle_command.should == "./gradlew"
64
69
  end
65
70
  end
66
71
 
@@ -95,7 +100,8 @@ module LicenseFinder
95
100
  'ignore_groups' => ['other_group', 'test'],
96
101
  'ignore_dependencies' => ['bundler'],
97
102
  'project_name' => "New Project Name",
98
- 'dependencies_file_dir' => "./deps"
103
+ 'dependencies_file_dir' => "./deps",
104
+ 'gradle_command' => './gradle'
99
105
  }
100
106
  end
101
107
 
@@ -12,7 +12,8 @@ module LicenseFinder
12
12
 
13
13
  describe '.current_packages' do
14
14
  before do
15
- expect(described_class).to receive(:`).with(/gradle downloadLicenses/)
15
+ allow(LicenseFinder.config).to receive(:gradle_command) { 'gradlefoo' }
16
+ expect(described_class).to receive(:`).with(/gradlefoo downloadLicenses/)
16
17
  end
17
18
 
18
19
  it 'lists all the current packages' do
@@ -63,6 +64,14 @@ module LicenseFinder
63
64
  GradlePackage.should_receive(:new).with("license" => [])
64
65
  Gradle.current_packages
65
66
  end
67
+
68
+ it "handles an empty list of licenses" do
69
+ license_xml = license_xml("")
70
+
71
+ fake_file = double(:license_report, read: license_xml)
72
+ allow(Gradle).to receive(:license_report).and_return(fake_file)
73
+ Gradle.current_packages
74
+ end
66
75
  end
67
76
 
68
77
  describe '.active?' do
@@ -29,14 +29,14 @@ module LicenseFinder
29
29
  yaml_file = double(:yaml_file, :exist? => true)
30
30
  LicenseFinder.config.artifacts.stub(legacy_yaml_file: yaml_file)
31
31
 
32
- described_class.needs_conversion?.should be_true
32
+ described_class.needs_conversion?.should be_truthy
33
33
  end
34
34
 
35
35
  it "is false otherwise" do
36
36
  yaml_file = double(:yaml_file, :exist? => false)
37
37
  LicenseFinder.config.artifacts.stub(legacy_yaml_file: yaml_file)
38
38
 
39
- described_class.needs_conversion?.should be_false
39
+ described_class.needs_conversion?.should be_falsey
40
40
  end
41
41
  end
42
42
 
data/spec/spec_helper.rb CHANGED
@@ -5,6 +5,7 @@ require 'pry'
5
5
  require 'license_finder'
6
6
  require 'rspec'
7
7
  require 'webmock/rspec'
8
+ require 'rspec/its'
8
9
 
9
10
  ENV['test_run'] = true.to_s
10
11
 
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: license_finder
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
5
- prerelease:
4
+ version: 1.1.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Jacob Maine
@@ -15,241 +14,229 @@ authors:
15
14
  - David Tengdin
16
15
  - William Ramsey
17
16
  - David Dening
17
+ - Geoff Pleiss
18
+ - Mike Chinigo
18
19
  autorequire:
19
20
  bindir: bin
20
21
  cert_chain: []
21
- date: 2014-05-28 00:00:00.000000000 Z
22
+ date: 2014-06-09 00:00:00.000000000 Z
22
23
  dependencies:
23
24
  - !ruby/object:Gem::Dependency
24
25
  name: bundler
25
26
  requirement: !ruby/object:Gem::Requirement
26
- none: false
27
27
  requirements:
28
- - - ! '>='
28
+ - - ">="
29
29
  - !ruby/object:Gem::Version
30
30
  version: '0'
31
31
  type: :runtime
32
32
  prerelease: false
33
33
  version_requirements: !ruby/object:Gem::Requirement
34
- none: false
35
34
  requirements:
36
- - - ! '>='
35
+ - - ">="
37
36
  - !ruby/object:Gem::Version
38
37
  version: '0'
39
38
  - !ruby/object:Gem::Dependency
40
39
  name: sequel
41
40
  requirement: !ruby/object:Gem::Requirement
42
- none: false
43
41
  requirements:
44
- - - ! '>='
42
+ - - ">="
45
43
  - !ruby/object:Gem::Version
46
44
  version: '0'
47
45
  type: :runtime
48
46
  prerelease: false
49
47
  version_requirements: !ruby/object:Gem::Requirement
50
- none: false
51
48
  requirements:
52
- - - ! '>='
49
+ - - ">="
53
50
  - !ruby/object:Gem::Version
54
51
  version: '0'
55
52
  - !ruby/object:Gem::Dependency
56
53
  name: thor
57
54
  requirement: !ruby/object:Gem::Requirement
58
- none: false
59
55
  requirements:
60
- - - ! '>='
56
+ - - ">="
61
57
  - !ruby/object:Gem::Version
62
58
  version: '0'
63
59
  type: :runtime
64
60
  prerelease: false
65
61
  version_requirements: !ruby/object:Gem::Requirement
66
- none: false
67
62
  requirements:
68
- - - ! '>='
63
+ - - ">="
69
64
  - !ruby/object:Gem::Version
70
65
  version: '0'
71
66
  - !ruby/object:Gem::Dependency
72
67
  name: httparty
73
68
  requirement: !ruby/object:Gem::Requirement
74
- none: false
75
69
  requirements:
76
- - - ! '>='
70
+ - - ">="
77
71
  - !ruby/object:Gem::Version
78
72
  version: '0'
79
73
  type: :runtime
80
74
  prerelease: false
81
75
  version_requirements: !ruby/object:Gem::Requirement
82
- none: false
83
76
  requirements:
84
- - - ! '>='
77
+ - - ">="
85
78
  - !ruby/object:Gem::Version
86
79
  version: '0'
87
80
  - !ruby/object:Gem::Dependency
88
81
  name: xml-simple
89
82
  requirement: !ruby/object:Gem::Requirement
90
- none: false
91
83
  requirements:
92
- - - ! '>='
84
+ - - ">="
93
85
  - !ruby/object:Gem::Version
94
86
  version: '0'
95
87
  type: :runtime
96
88
  prerelease: false
97
89
  version_requirements: !ruby/object:Gem::Requirement
98
- none: false
99
90
  requirements:
100
- - - ! '>='
91
+ - - ">="
101
92
  - !ruby/object:Gem::Version
102
93
  version: '0'
103
94
  - !ruby/object:Gem::Dependency
104
95
  name: sqlite3
105
96
  requirement: !ruby/object:Gem::Requirement
106
- none: false
107
97
  requirements:
108
- - - ! '>='
98
+ - - ">="
109
99
  - !ruby/object:Gem::Version
110
100
  version: '0'
111
101
  type: :runtime
112
102
  prerelease: false
113
103
  version_requirements: !ruby/object:Gem::Requirement
114
- none: false
115
104
  requirements:
116
- - - ! '>='
105
+ - - ">="
117
106
  - !ruby/object:Gem::Version
118
107
  version: '0'
119
108
  - !ruby/object:Gem::Dependency
120
109
  name: rake
121
110
  requirement: !ruby/object:Gem::Requirement
122
- none: false
123
111
  requirements:
124
- - - ! '>='
112
+ - - ">="
125
113
  - !ruby/object:Gem::Version
126
114
  version: '0'
127
115
  type: :development
128
116
  prerelease: false
129
117
  version_requirements: !ruby/object:Gem::Requirement
130
- none: false
131
118
  requirements:
132
- - - ! '>='
119
+ - - ">="
133
120
  - !ruby/object:Gem::Version
134
121
  version: '0'
135
122
  - !ruby/object:Gem::Dependency
136
- name: rspec
123
+ name: rspec-its
137
124
  requirement: !ruby/object:Gem::Requirement
138
- none: false
139
125
  requirements:
140
- - - ! '>='
126
+ - - ">="
141
127
  - !ruby/object:Gem::Version
142
128
  version: '0'
143
129
  type: :development
144
130
  prerelease: false
145
131
  version_requirements: !ruby/object:Gem::Requirement
146
- none: false
147
132
  requirements:
148
- - - ! '>='
133
+ - - ">="
149
134
  - !ruby/object:Gem::Version
150
135
  version: '0'
151
136
  - !ruby/object:Gem::Dependency
152
137
  name: xpath
153
138
  requirement: !ruby/object:Gem::Requirement
154
- none: false
155
139
  requirements:
156
- - - ! '>='
140
+ - - ">="
157
141
  - !ruby/object:Gem::Version
158
142
  version: '0'
159
143
  type: :development
160
144
  prerelease: false
161
145
  version_requirements: !ruby/object:Gem::Requirement
162
- none: false
163
146
  requirements:
164
- - - ! '>='
147
+ - - ">="
165
148
  - !ruby/object:Gem::Version
166
149
  version: '0'
167
150
  - !ruby/object:Gem::Dependency
168
151
  name: cucumber
169
152
  requirement: !ruby/object:Gem::Requirement
170
- none: false
171
153
  requirements:
172
- - - ! '>='
154
+ - - ">="
173
155
  - !ruby/object:Gem::Version
174
156
  version: '0'
175
157
  type: :development
176
158
  prerelease: false
177
159
  version_requirements: !ruby/object:Gem::Requirement
178
- none: false
179
160
  requirements:
180
- - - ! '>='
161
+ - - ">="
181
162
  - !ruby/object:Gem::Version
182
163
  version: '0'
183
164
  - !ruby/object:Gem::Dependency
184
165
  name: pry
185
166
  requirement: !ruby/object:Gem::Requirement
186
- none: false
187
167
  requirements:
188
- - - ! '>='
168
+ - - ">="
189
169
  - !ruby/object:Gem::Version
190
170
  version: '0'
191
171
  type: :development
192
172
  prerelease: false
193
173
  version_requirements: !ruby/object:Gem::Requirement
194
- none: false
195
174
  requirements:
196
- - - ! '>='
175
+ - - ">="
197
176
  - !ruby/object:Gem::Version
198
177
  version: '0'
178
+ - !ruby/object:Gem::Dependency
179
+ name: rspec
180
+ requirement: !ruby/object:Gem::Requirement
181
+ requirements:
182
+ - - "~>"
183
+ - !ruby/object:Gem::Version
184
+ version: '3'
185
+ type: :development
186
+ prerelease: false
187
+ version_requirements: !ruby/object:Gem::Requirement
188
+ requirements:
189
+ - - "~>"
190
+ - !ruby/object:Gem::Version
191
+ version: '3'
199
192
  - !ruby/object:Gem::Dependency
200
193
  name: capybara
201
194
  requirement: !ruby/object:Gem::Requirement
202
- none: false
203
195
  requirements:
204
- - - ~>
196
+ - - "~>"
205
197
  - !ruby/object:Gem::Version
206
198
  version: 2.0.0
207
199
  type: :development
208
200
  prerelease: false
209
201
  version_requirements: !ruby/object:Gem::Requirement
210
- none: false
211
202
  requirements:
212
- - - ~>
203
+ - - "~>"
213
204
  - !ruby/object:Gem::Version
214
205
  version: 2.0.0
215
206
  - !ruby/object:Gem::Dependency
216
207
  name: webmock
217
208
  requirement: !ruby/object:Gem::Requirement
218
- none: false
219
209
  requirements:
220
- - - ~>
210
+ - - "~>"
221
211
  - !ruby/object:Gem::Version
222
212
  version: '1.13'
223
213
  type: :development
224
214
  prerelease: false
225
215
  version_requirements: !ruby/object:Gem::Requirement
226
- none: false
227
216
  requirements:
228
- - - ~>
217
+ - - "~>"
229
218
  - !ruby/object:Gem::Version
230
219
  version: '1.13'
231
220
  - !ruby/object:Gem::Dependency
232
221
  name: cocoapods
233
222
  requirement: !ruby/object:Gem::Requirement
234
- none: false
235
223
  requirements:
236
- - - ! '>='
224
+ - - ">="
237
225
  - !ruby/object:Gem::Version
238
226
  version: '0'
239
227
  type: :development
240
228
  prerelease: false
241
229
  version_requirements: !ruby/object:Gem::Requirement
242
- none: false
243
230
  requirements:
244
- - - ! '>='
231
+ - - ">="
245
232
  - !ruby/object:Gem::Version
246
233
  version: '0'
247
- description: ! " Do you know the licenses of all your application's dependencies?
248
- What open source software licenses will your business accept?\n\n LicenseFinder
249
- culls your package managers, detects the licenses of the packages in them, and gives
250
- you a report that you can act on. If you already know\n what licenses your business
251
- is comfortable with, you can whitelist them, leaving you with an action report of
252
- only those dependencies that have\n licenses that fall outside of the whitelist.\n"
234
+ description: |2
235
+ Do you know the licenses of all your application's dependencies? What open source software licenses will your business accept?
236
+
237
+ LicenseFinder culls your package managers, detects the licenses of the packages in them, and gives you a report that you can act on. If you already know
238
+ what licenses your business is comfortable with, you can whitelist them, leaving you with an action report of only those dependencies that have
239
+ licenses that fall outside of the whitelist.
253
240
  email:
254
241
  - commoncode@pivotalabs.com
255
242
  executables:
@@ -257,10 +244,10 @@ executables:
257
244
  extensions: []
258
245
  extra_rdoc_files: []
259
246
  files:
260
- - .force-build
261
- - .gitignore
262
- - .rspec
263
- - .travis.yml
247
+ - ".force-build"
248
+ - ".gitignore"
249
+ - ".rspec"
250
+ - ".travis.yml"
264
251
  - CHANGELOG.rdoc
265
252
  - Gemfile
266
253
  - LICENSE
@@ -319,9 +306,7 @@ files:
319
306
  - features/step_definitions/report_csv_steps.rb
320
307
  - features/step_definitions/report_html_steps.rb
321
308
  - features/step_definitions/shared_steps.rb
322
- - files/dependency_breakdown.png
323
- - files/license_finder.yml
324
- - files/report_breakdown.png
309
+ - lib/data/license_finder.example.yml
325
310
  - lib/data/licenses/Apache2.txt
326
311
  - lib/data/licenses/BSD.txt
327
312
  - lib/data/licenses/GPLv2.txt
@@ -446,27 +431,26 @@ files:
446
431
  homepage: https://github.com/pivotal/LicenseFinder
447
432
  licenses:
448
433
  - MIT
434
+ metadata: {}
449
435
  post_install_message:
450
436
  rdoc_options: []
451
437
  require_paths:
452
438
  - lib
453
439
  required_ruby_version: !ruby/object:Gem::Requirement
454
- none: false
455
440
  requirements:
456
- - - ! '>='
441
+ - - ">="
457
442
  - !ruby/object:Gem::Version
458
443
  version: 1.9.3
459
444
  required_rubygems_version: !ruby/object:Gem::Requirement
460
- none: false
461
445
  requirements:
462
- - - ! '>='
446
+ - - ">="
463
447
  - !ruby/object:Gem::Version
464
448
  version: '0'
465
449
  requirements: []
466
450
  rubyforge_project:
467
- rubygems_version: 1.8.27
451
+ rubygems_version: 2.2.2
468
452
  signing_key:
469
- specification_version: 3
453
+ specification_version: 4
470
454
  summary: Audit the OSS licenses of your application's dependencies.
471
455
  test_files:
472
456
  - features/cli.feature
Binary file
Binary file