license_finder 0.3.0 → 0.4.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.
- data/README.markdown +2 -1
- data/lib/license_finder/finder.rb +9 -5
- data/lib/license_finder/version.rb +1 -1
- data/lib/tasks/license_finder.rake +9 -2
- data/license_finder.gemspec +1 -0
- data/spec/finder_spec.rb +9 -1
- metadata +70 -46
data/README.markdown
CHANGED
@@ -23,6 +23,7 @@ Run 'rake license:action_items:ok'
|
|
23
23
|
This will return a non-zero exit status if there are unapproved dependencies. Great for CI.
|
24
24
|
|
25
25
|
As a standalone script:
|
26
|
+
|
26
27
|
cd ~
|
27
28
|
git clone http://github.com/pivotal/LicenseFinder.git license_finder
|
28
29
|
cd your/project
|
@@ -94,4 +95,4 @@ Please add a license to your gemspec!
|
|
94
95
|
Gem::Specification.new do |s|
|
95
96
|
s.name = "my_great_gem"
|
96
97
|
s.license = "MIT"
|
97
|
-
end
|
98
|
+
end
|
@@ -3,11 +3,15 @@ module LicenseFinder
|
|
3
3
|
|
4
4
|
attr_reader :whitelist, :ignore_groups
|
5
5
|
def initialize
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
6
|
+
config = case
|
7
|
+
when File.exists?('./config/license_finder.yml')
|
8
|
+
YAML.load(File.open('./config/license_finder.yml').readlines.join)
|
9
|
+
else
|
10
|
+
{'whitelist' => [], 'ignore_groups' => []}
|
10
11
|
end
|
12
|
+
|
13
|
+
@whitelist = config['whitelist']
|
14
|
+
@ignore_groups = config['ignore_groups'].map{|g| g.to_sym}
|
11
15
|
end
|
12
16
|
|
13
17
|
def from_bundler
|
@@ -45,4 +49,4 @@ module LicenseFinder
|
|
45
49
|
end
|
46
50
|
end
|
47
51
|
end
|
48
|
-
end
|
52
|
+
end
|
@@ -14,9 +14,16 @@ namespace :license do
|
|
14
14
|
puts "Dependencies that need approval:"
|
15
15
|
puts LicenseFinder::Finder.new.action_items
|
16
16
|
end
|
17
|
-
|
17
|
+
|
18
18
|
desc 'All gems approved for use'
|
19
19
|
task 'action_items:ok' => :generate_dependencies do
|
20
|
-
|
20
|
+
found = LicenseFinder::Finder.new.action_items
|
21
|
+
if found.size > 0
|
22
|
+
puts "Dependencies that need approval:"
|
23
|
+
puts found
|
24
|
+
else
|
25
|
+
puts "All gems are approved for use"
|
26
|
+
end
|
27
|
+
exit 1 unless found.size == 0
|
21
28
|
end
|
22
29
|
end
|
data/license_finder.gemspec
CHANGED
@@ -15,6 +15,7 @@ Gem::Specification.new do |s|
|
|
15
15
|
s.rubyforge_project = "license_finder"
|
16
16
|
s.add_development_dependency 'rspec', '~>2.3'
|
17
17
|
s.add_development_dependency 'rr'
|
18
|
+
s.add_development_dependency 'rake'
|
18
19
|
|
19
20
|
s.files = `git ls-files`.split("\n")
|
20
21
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
data/spec/finder_spec.rb
CHANGED
@@ -1,6 +1,14 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe LicenseFinder::Finder do
|
4
|
+
|
5
|
+
it "should properly initialize whitelist and ignore_groups" do
|
6
|
+
stub(File).exists?('./config/license_finder.yml') {false}
|
7
|
+
finder = LicenseFinder::Finder.new
|
8
|
+
finder.whitelist.should_not be_nil
|
9
|
+
finder.ignore_groups.should_not be_nil
|
10
|
+
end
|
11
|
+
|
4
12
|
it "should generate a yml file and txt file" do
|
5
13
|
stub(File).exists?('./config/license_finder.yml') {false}
|
6
14
|
stub(File).exists?('./dependencies.yml') {false}
|
@@ -41,4 +49,4 @@ describe LicenseFinder::Finder do
|
|
41
49
|
stub(File).open('./config/license_finder.yml').stub!.readlines.stub!.join {"--- \nwhitelist: \n- MIT\n- Apache\nignore_groups: \n- test\n- development\n"}
|
42
50
|
LicenseFinder::Finder.new.ignore_groups.should == [:test, :development]
|
43
51
|
end
|
44
|
-
end
|
52
|
+
end
|
metadata
CHANGED
@@ -1,56 +1,72 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: license_finder
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease: false
|
5
|
+
segments:
|
6
|
+
- 0
|
7
|
+
- 4
|
8
|
+
- 0
|
9
|
+
version: 0.4.0
|
6
10
|
platform: ruby
|
7
|
-
authors:
|
11
|
+
authors:
|
8
12
|
- Jacob Maine
|
9
13
|
autorequire:
|
10
14
|
bindir: bin
|
11
15
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
16
|
+
|
17
|
+
date: 2012-06-20 00:00:00 -07:00
|
18
|
+
default_executable:
|
19
|
+
dependencies:
|
20
|
+
- !ruby/object:Gem::Dependency
|
15
21
|
name: rspec
|
16
|
-
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
|
-
requirements:
|
19
|
-
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '2.3'
|
22
|
-
type: :development
|
23
22
|
prerelease: false
|
24
|
-
|
23
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
24
|
none: false
|
26
|
-
requirements:
|
25
|
+
requirements:
|
27
26
|
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
-
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
segments:
|
29
|
+
- 2
|
30
|
+
- 3
|
31
|
+
version: "2.3"
|
32
|
+
type: :development
|
33
|
+
version_requirements: *id001
|
34
|
+
- !ruby/object:Gem::Dependency
|
31
35
|
name: rr
|
32
|
-
|
36
|
+
prerelease: false
|
37
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
33
38
|
none: false
|
34
|
-
requirements:
|
35
|
-
- -
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
|
39
|
+
requirements:
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
segments:
|
43
|
+
- 0
|
44
|
+
version: "0"
|
38
45
|
type: :development
|
46
|
+
version_requirements: *id002
|
47
|
+
- !ruby/object:Gem::Dependency
|
48
|
+
name: rake
|
39
49
|
prerelease: false
|
40
|
-
|
50
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
41
51
|
none: false
|
42
|
-
requirements:
|
43
|
-
- -
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
segments:
|
56
|
+
- 0
|
57
|
+
version: "0"
|
58
|
+
type: :development
|
59
|
+
version_requirements: *id003
|
46
60
|
description: Find and display licenses of a project's gem dependencies.
|
47
|
-
email:
|
61
|
+
email:
|
48
62
|
- jacob.maine@gmail.com
|
49
|
-
executables:
|
63
|
+
executables:
|
50
64
|
- license_finder
|
51
65
|
extensions: []
|
66
|
+
|
52
67
|
extra_rdoc_files: []
|
53
|
-
|
68
|
+
|
69
|
+
files:
|
54
70
|
- .gitignore
|
55
71
|
- Gemfile
|
56
72
|
- MIT-LICENSE
|
@@ -108,31 +124,39 @@ files:
|
|
108
124
|
- spec/gem_spec_details_spec.rb
|
109
125
|
- spec/license_file_spec.rb
|
110
126
|
- spec/spec_helper.rb
|
127
|
+
has_rdoc: true
|
111
128
|
homepage:
|
112
129
|
licenses: []
|
130
|
+
|
113
131
|
post_install_message:
|
114
132
|
rdoc_options: []
|
115
|
-
|
133
|
+
|
134
|
+
require_paths:
|
116
135
|
- lib
|
117
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
136
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
118
137
|
none: false
|
119
|
-
requirements:
|
120
|
-
- -
|
121
|
-
- !ruby/object:Gem::Version
|
122
|
-
|
123
|
-
|
138
|
+
requirements:
|
139
|
+
- - ">="
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
segments:
|
142
|
+
- 0
|
143
|
+
version: "0"
|
144
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
124
145
|
none: false
|
125
|
-
requirements:
|
126
|
-
- -
|
127
|
-
- !ruby/object:Gem::Version
|
128
|
-
|
146
|
+
requirements:
|
147
|
+
- - ">="
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
segments:
|
150
|
+
- 0
|
151
|
+
version: "0"
|
129
152
|
requirements: []
|
153
|
+
|
130
154
|
rubyforge_project: license_finder
|
131
|
-
rubygems_version: 1.
|
155
|
+
rubygems_version: 1.3.7.1
|
132
156
|
signing_key:
|
133
157
|
specification_version: 3
|
134
158
|
summary: License finding heaven.
|
135
|
-
test_files:
|
159
|
+
test_files:
|
136
160
|
- spec/dependency_list_spec.rb
|
137
161
|
- spec/dependency_spec.rb
|
138
162
|
- spec/file_parser_spec.rb
|