license_finder 1.0.1 → 1.1.0

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