license_finder 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +4 -0
- data/Gemfile +0 -1
- data/bin/license_finder +21 -1
- data/features/approve_dependencies.feature +10 -0
- data/features/license_finder.feature +13 -3
- data/features/license_finder_rake_task.feature +3 -3
- data/features/set_license.feature +14 -0
- data/features/step_definitions/steps.rb +5 -0
- data/lib/license_finder.rb +13 -2
- data/lib/license_finder/bundle.rb +25 -3
- data/lib/license_finder/bundle_syncer.rb +12 -0
- data/lib/license_finder/bundled_gem.rb +12 -1
- data/lib/license_finder/cli.rb +42 -3
- data/lib/license_finder/configuration.rb +1 -31
- data/lib/license_finder/dependency.rb +30 -94
- data/lib/license_finder/dependency_report.rb +30 -0
- data/lib/license_finder/html_report.rb +14 -0
- data/lib/license_finder/persistence.rb +1 -0
- data/lib/license_finder/persistence/yaml.rb +7 -0
- data/lib/license_finder/persistence/yaml/configuration.rb +34 -0
- data/lib/license_finder/persistence/yaml/dependency.rb +127 -0
- data/lib/license_finder/reporter.rb +7 -38
- data/lib/license_finder/source_syncer.rb +40 -0
- data/lib/license_finder/text_report.rb +9 -0
- data/lib/templates/dependency.html.erb +2 -2
- data/lib/templates/html_report.erb +93 -0
- data/lib/templates/text_report.erb +2 -0
- data/license_finder.gemspec +2 -2
- data/{README.markdown → readme.md} +22 -11
- data/spec/lib/license_finder/bundle_spec.rb +58 -0
- data/spec/lib/license_finder/bundle_syncer_spec.rb +22 -0
- data/spec/lib/license_finder/bundled_gem_spec.rb +17 -14
- data/spec/lib/license_finder/cli_spec.rb +38 -0
- data/spec/lib/license_finder/dependency_spec.rb +130 -223
- data/spec/lib/license_finder/html_report_spec.rb +67 -0
- data/spec/lib/license_finder/persistence/yaml/configuration_spec.rb +5 -0
- data/spec/lib/license_finder/persistence/yaml/dependency_spec.rb +5 -0
- data/spec/lib/license_finder/possible_license_file_spec.rb +4 -9
- data/spec/lib/license_finder/reporter_spec.rb +0 -1
- data/spec/lib/license_finder/source_syncer_spec.rb +37 -0
- data/spec/lib/license_finder/text_report_spec.rb +29 -0
- data/spec/lib/license_finder_spec.rb +9 -11
- data/spec/spec_helper.rb +1 -1
- data/spec/support/license_examples.rb +1 -1
- data/spec/support/shared_examples/persistence/configuration.rb +34 -0
- data/spec/support/shared_examples/persistence/dependency.rb +139 -0
- metadata +38 -26
- data/lib/license_finder/dependency_list.rb +0 -80
- data/lib/license_finder/viewable.rb +0 -31
- data/lib/templates/dependency_list.html.erb +0 -38
- data/spec/lib/license_finder/dependency_list_spec.rb +0 -243
@@ -0,0 +1,67 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
module LicenseFinder
|
4
|
+
describe HtmlReport do
|
5
|
+
describe "#to_s" do
|
6
|
+
let(:dependency) { Dependency.new 'approved' => true }
|
7
|
+
subject { HtmlReport.new([dependency]).to_s }
|
8
|
+
|
9
|
+
context "when the dependency is approved" do
|
10
|
+
it "should add an approved class to dependency's container" do
|
11
|
+
should include %{class="approved"}
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
context "when the dependency is not approved" do
|
16
|
+
before { dependency.approved = false }
|
17
|
+
|
18
|
+
it "should not add an approved class to he dependency's container" do
|
19
|
+
should include %{class="unapproved"}
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
context "when the gem has at least one bundler group" do
|
24
|
+
before { dependency.bundler_groups = ["group"] }
|
25
|
+
it "should show the bundler group(s) in parens" do
|
26
|
+
should include "(group)"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
context "when the gem has no bundler groups" do
|
31
|
+
before { dependency.bundler_groups = [] }
|
32
|
+
|
33
|
+
it "should not show any parens or bundler group info" do
|
34
|
+
should_not include "()"
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
context "when the gem has at least one parent" do
|
40
|
+
before { dependency.parents = [OpenStruct.new(:name => "foo parent")] }
|
41
|
+
it "should include a parents section" do
|
42
|
+
should include "Parents"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
context "when the gem has no parents" do
|
47
|
+
it "should not include any parents section in the output" do
|
48
|
+
should_not include "Parents"
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
context "when the gem has at least one child" do
|
53
|
+
before { dependency.children = [OpenStruct.new(:name => "foo child")] }
|
54
|
+
|
55
|
+
it "should include a Children section" do
|
56
|
+
should include "Children"
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
context "when the gem has no children" do
|
61
|
+
it "should not include any Children section in the output" do
|
62
|
+
should_not include "Children"
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -6,8 +6,7 @@ describe LicenseFinder::PossibleLicenseFile do
|
|
6
6
|
|
7
7
|
context "ignoring text" do
|
8
8
|
before do
|
9
|
-
stub(
|
10
|
-
stub(IO).binread { "file text" }
|
9
|
+
subject.stub(:text).and_return('file text')
|
11
10
|
end
|
12
11
|
|
13
12
|
its(:file_path) { should == 'nested/path' }
|
@@ -20,10 +19,9 @@ describe LicenseFinder::PossibleLicenseFile do
|
|
20
19
|
|
21
20
|
context "with a known license" do
|
22
21
|
before do
|
23
|
-
stub(
|
24
|
-
stub(IO).binread { "a known license" }
|
22
|
+
subject.stub(:text).and_return('a known license')
|
25
23
|
|
26
|
-
|
24
|
+
LicenseFinder::License::MIT.stub(:new).with('a known license').and_return(double('MIT license', :matches? => true))
|
27
25
|
end
|
28
26
|
|
29
27
|
its(:license) { should == "MIT" }
|
@@ -31,10 +29,7 @@ describe LicenseFinder::PossibleLicenseFile do
|
|
31
29
|
|
32
30
|
context "with an unknown license" do
|
33
31
|
before do
|
34
|
-
stub(
|
35
|
-
stub(IO).binread { "" }
|
36
|
-
|
37
|
-
any_instance_of(LicenseFinder::License::Base, :matches? => false)
|
32
|
+
subject.stub(:text).and_return('')
|
38
33
|
end
|
39
34
|
|
40
35
|
its(:license) { should be_nil }
|
@@ -0,0 +1,37 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
module LicenseFinder
|
4
|
+
describe SourceSyncer do
|
5
|
+
it "deletes any dependencies no longer in the source" do
|
6
|
+
foo_dep = double :foo, name: "foo"
|
7
|
+
|
8
|
+
foo_dep.should_receive(:destroy)
|
9
|
+
|
10
|
+
SourceSyncer.new([], [foo_dep]).sync!
|
11
|
+
end
|
12
|
+
|
13
|
+
it "merges any dependencies in the source" do
|
14
|
+
source_foo = double :source_foo, name: "foo"
|
15
|
+
foo = double :foo, name: "foo"
|
16
|
+
|
17
|
+
foo.should_receive(:merge).with source_foo
|
18
|
+
|
19
|
+
SourceSyncer.new([source_foo], [foo]).sync!
|
20
|
+
end
|
21
|
+
|
22
|
+
it "creates any new source dependencies" do
|
23
|
+
source_dep = double :source_dep, name: "foo", attributes: double(:attributes)
|
24
|
+
|
25
|
+
source_dep.should_receive :save
|
26
|
+
|
27
|
+
SourceSyncer.new([source_dep], []).sync!
|
28
|
+
end
|
29
|
+
|
30
|
+
it "returns the synced dependency set" do
|
31
|
+
source_dep = double(:source_dep, name: "source_dep", attributes: double(:attributes)).as_null_object
|
32
|
+
existing_dep = double :existing_dep, name: "existing", merge: nil
|
33
|
+
|
34
|
+
SourceSyncer.new([source_dep, existing_dep], [existing_dep]).sync!.should =~ [source_dep, existing_dep]
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
module LicenseFinder
|
4
|
+
describe TextReport do
|
5
|
+
describe '#to_s' do
|
6
|
+
let(:dep1) do
|
7
|
+
Dependency.new(
|
8
|
+
'name' => 'gem_a',
|
9
|
+
'version' => '1.0',
|
10
|
+
'license' => "MIT"
|
11
|
+
)
|
12
|
+
end
|
13
|
+
|
14
|
+
let(:dep2) do
|
15
|
+
Dependency.new(
|
16
|
+
'name' => 'gem_b',
|
17
|
+
'version' => '1.0',
|
18
|
+
'license' => "MIT"
|
19
|
+
)
|
20
|
+
end
|
21
|
+
|
22
|
+
subject { TextReport.new([dep2, dep1]).to_s }
|
23
|
+
|
24
|
+
it 'should generate a text report with the name, version, and license of each dependency, sorted by name' do
|
25
|
+
should == "gem_a, 1.0, MIT\ngem_b, 1.0, MIT"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -10,8 +10,9 @@ describe LicenseFinder do
|
|
10
10
|
end
|
11
11
|
|
12
12
|
before do
|
13
|
-
|
14
|
-
stub(
|
13
|
+
LicenseFinder.instance_variable_set(:@config, nil)
|
14
|
+
File.stub(:exists?).with('./config/license_finder.yml').and_return(true)
|
15
|
+
File.stub(:read).with('./config/license_finder.yml').and_return(config.to_yaml)
|
15
16
|
end
|
16
17
|
|
17
18
|
after do
|
@@ -19,8 +20,8 @@ describe LicenseFinder do
|
|
19
20
|
end
|
20
21
|
|
21
22
|
it "should handle a missing configuration file" do
|
22
|
-
stub(
|
23
|
-
|
23
|
+
File.stub(:exists?).with('./config/license_finder.yml').and_return(false)
|
24
|
+
File.should_not_receive(:open).with('./config/license_finder.yml')
|
24
25
|
|
25
26
|
LicenseFinder.config.whitelist.should == []
|
26
27
|
LicenseFinder.config.ignore_groups.should == []
|
@@ -28,12 +29,9 @@ describe LicenseFinder do
|
|
28
29
|
end
|
29
30
|
|
30
31
|
it "should load the configuration exactly once" do
|
31
|
-
|
32
|
+
File.should_receive(:read).with('./config/license_finder.yml').once.and_return(config.to_yaml)
|
32
33
|
|
33
34
|
LicenseFinder.config.whitelist
|
34
|
-
|
35
|
-
dont_allow(File).open('./config/license_finder.yml')
|
36
|
-
|
37
35
|
LicenseFinder.config.whitelist
|
38
36
|
end
|
39
37
|
|
@@ -43,7 +41,7 @@ describe LicenseFinder do
|
|
43
41
|
end
|
44
42
|
|
45
43
|
it "should load an empty whitelist from license_finder.yml when there are no whitelist items" do
|
46
|
-
stub(
|
44
|
+
File.stub(:read).with('./config/license_finder.yml').and_return(config.merge('whitelist' => nil).to_yaml)
|
47
45
|
|
48
46
|
LicenseFinder.config.whitelist.should =~ []
|
49
47
|
end
|
@@ -55,7 +53,7 @@ describe LicenseFinder do
|
|
55
53
|
end
|
56
54
|
|
57
55
|
it "should load an empty ignore_groups list from license_finder.yml when there are no ignore groups" do
|
58
|
-
stub(
|
56
|
+
File.stub(:read).with('./config/license_finder.yml').and_return(config.merge('ignore_groups' => nil).to_yaml)
|
59
57
|
|
60
58
|
LicenseFinder.config.ignore_groups.should == []
|
61
59
|
end
|
@@ -63,7 +61,7 @@ describe LicenseFinder do
|
|
63
61
|
|
64
62
|
describe "#dependencies_dir" do
|
65
63
|
it 'should allow the dependencies file directory to be configured' do
|
66
|
-
stub(
|
64
|
+
File.stub(:read).with('./config/license_finder.yml').and_return(config.merge('dependencies_file_dir' => './elsewhere').to_yaml)
|
67
65
|
|
68
66
|
config = LicenseFinder.config
|
69
67
|
config.dependencies_dir.should == './elsewhere'
|
data/spec/spec_helper.rb
CHANGED
@@ -2,7 +2,7 @@ shared_examples_for "a license matcher" do
|
|
2
2
|
describe "#matches?" do
|
3
3
|
context "when a license text template exists" do
|
4
4
|
before do
|
5
|
-
|
5
|
+
subject.class.stub(:license_text).and_return('AWESOME "FOO" LICENSE')
|
6
6
|
end
|
7
7
|
|
8
8
|
it "should return true if the body matches exactly" do
|
@@ -0,0 +1,34 @@
|
|
1
|
+
shared_examples_for "a persistable configuration" do
|
2
|
+
let(:klass) { described_class }
|
3
|
+
|
4
|
+
let(:attributes) do
|
5
|
+
{
|
6
|
+
"whitelist" => ["FooLicense", "BarLicense"],
|
7
|
+
"ignore_groups" => [:test, :development]
|
8
|
+
}
|
9
|
+
end
|
10
|
+
|
11
|
+
describe '.new' do
|
12
|
+
subject { klass.new(attributes) }
|
13
|
+
|
14
|
+
context "with known attributes" do
|
15
|
+
it "should set the all of the attributes on the instance" do
|
16
|
+
attributes.each do |key, value|
|
17
|
+
subject.send("#{key}").should == value
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "#whitelist" do
|
24
|
+
it "should default to an empty array" do
|
25
|
+
klass.new.whitelist.should == []
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe "#ignore_groups" do
|
30
|
+
it "should default to an empty array" do
|
31
|
+
klass.new.ignore_groups.should == []
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,139 @@
|
|
1
|
+
shared_examples_for "a persistable dependency" do
|
2
|
+
let(:klass) { described_class }
|
3
|
+
|
4
|
+
let(:attributes) do
|
5
|
+
{
|
6
|
+
'name' => "spec_name",
|
7
|
+
'version' => "2.1.3",
|
8
|
+
'license' => "GPLv2",
|
9
|
+
'approved' => false,
|
10
|
+
'notes' => 'some notes',
|
11
|
+
'homepage' => 'homepage',
|
12
|
+
'license_files' => ['/Users/pivotal/foo/lic1', '/Users/pivotal/bar/lic2'],
|
13
|
+
'readme_files' => ['/Users/pivotal/foo/Readme1', '/Users/pivotal/bar/Readme2'],
|
14
|
+
'source' => "bundle",
|
15
|
+
'bundler_groups' => ["test"]
|
16
|
+
}
|
17
|
+
end
|
18
|
+
|
19
|
+
before do
|
20
|
+
klass.delete_all
|
21
|
+
end
|
22
|
+
|
23
|
+
describe '.new' do
|
24
|
+
subject { klass.new(attributes) }
|
25
|
+
|
26
|
+
context "with known attributes" do
|
27
|
+
it "should set the all of the attributes on the instance" do
|
28
|
+
attributes.each do |key, value|
|
29
|
+
if key != "approved"
|
30
|
+
subject.send("#{key}").should equal(value), "expected #{value.inspect} for #{key}, got #{subject.send("#{key}").inspect}"
|
31
|
+
else
|
32
|
+
subject.approved?.should == value
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context "with unknown attributes" do
|
39
|
+
before do
|
40
|
+
attributes['foo'] = 'bar'
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should raise an exception" do
|
44
|
+
expect { subject }.to raise_exception(NoMethodError)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
describe '.unapproved' do
|
50
|
+
it "should return all unapproved dependencies" do
|
51
|
+
klass.new(name: "unapproved dependency", approved: false).save
|
52
|
+
klass.new(name: "approved dependency", approved: true).save
|
53
|
+
|
54
|
+
unapproved = klass.unapproved
|
55
|
+
unapproved.count.should == 1
|
56
|
+
unapproved.collect(&:approved?).any?.should be_false
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
describe '.find_by_name' do
|
61
|
+
subject { klass.find_by_name gem_name }
|
62
|
+
let(:gem_name) { "foo" }
|
63
|
+
|
64
|
+
context "when a gem with the provided name exists" do
|
65
|
+
before do
|
66
|
+
klass.new(
|
67
|
+
'name' => gem_name,
|
68
|
+
'version' => '0.0.1'
|
69
|
+
).save
|
70
|
+
end
|
71
|
+
|
72
|
+
its(:name) { should == gem_name }
|
73
|
+
its(:version) { should == '0.0.1' }
|
74
|
+
end
|
75
|
+
|
76
|
+
context "when no gem with the provided name exists" do
|
77
|
+
it { should == nil }
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
describe "#config" do
|
82
|
+
it 'should respond to it' do
|
83
|
+
klass.new.should respond_to(:config)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
describe '#attributes' do
|
88
|
+
it "should return a hash containing the values of all the accessible properties" do
|
89
|
+
dep = klass.new(attributes)
|
90
|
+
attributes = dep.attributes
|
91
|
+
LicenseFinder::DEPENDENCY_ATTRIBUTES.each do |name|
|
92
|
+
attributes[name].should == dep.send(name)
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
describe '#save' do
|
98
|
+
it "should persist all of the dependency's attributes" do
|
99
|
+
dep = klass.new(attributes)
|
100
|
+
dep.save
|
101
|
+
|
102
|
+
saved_dep = klass.find_by_name(dep.name)
|
103
|
+
|
104
|
+
attributes.each do |key, value|
|
105
|
+
if key != "approved"
|
106
|
+
saved_dep.send("#{key}").should eql(value), "expected #{value.inspect} for #{key}, got #{saved_dep.send("#{key}").inspect}"
|
107
|
+
else
|
108
|
+
saved_dep.approved?.should == value
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
describe "#update_attributes" do
|
115
|
+
it "should update the provided attributes with the provided values" do
|
116
|
+
gem = klass.new(attributes)
|
117
|
+
updated_attributes = {"version" => "new_version", "license" => "updated_license"}
|
118
|
+
gem.update_attributes(updated_attributes)
|
119
|
+
|
120
|
+
saved_gem = klass.find_by_name(gem.name)
|
121
|
+
saved_gem.version.should == "new_version"
|
122
|
+
saved_gem.license.should == "updated_license"
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
describe "#destroy" do
|
127
|
+
it "should remove itself from the database" do
|
128
|
+
foo_dep = klass.new(name: "foo")
|
129
|
+
bar_dep = klass.new(name: "bar")
|
130
|
+
foo_dep.save
|
131
|
+
bar_dep.save
|
132
|
+
|
133
|
+
expect { foo_dep.destroy }.to change { klass.all.count }.by -1
|
134
|
+
|
135
|
+
klass.all.count.should == 1
|
136
|
+
klass.all.first.name.should == "bar"
|
137
|
+
end
|
138
|
+
end
|
139
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: license_finder
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2012-09-
|
16
|
+
date: 2012-09-25 00:00:00.000000000 Z
|
17
17
|
dependencies:
|
18
18
|
- !ruby/object:Gem::Dependency
|
19
19
|
name: bundler
|
@@ -63,22 +63,6 @@ dependencies:
|
|
63
63
|
- - ! '>='
|
64
64
|
- !ruby/object:Gem::Version
|
65
65
|
version: '0'
|
66
|
-
- !ruby/object:Gem::Dependency
|
67
|
-
name: rr
|
68
|
-
requirement: !ruby/object:Gem::Requirement
|
69
|
-
none: false
|
70
|
-
requirements:
|
71
|
-
- - ! '>='
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: '0'
|
74
|
-
type: :development
|
75
|
-
prerelease: false
|
76
|
-
version_requirements: !ruby/object:Gem::Requirement
|
77
|
-
none: false
|
78
|
-
requirements:
|
79
|
-
- - ! '>='
|
80
|
-
- !ruby/object:Gem::Version
|
81
|
-
version: '0'
|
82
66
|
- !ruby/object:Gem::Dependency
|
83
67
|
name: rake
|
84
68
|
requirement: !ruby/object:Gem::Requirement
|
@@ -177,7 +161,6 @@ files:
|
|
177
161
|
- .travis.yml
|
178
162
|
- Gemfile
|
179
163
|
- LICENSE
|
180
|
-
- README.markdown
|
181
164
|
- Rakefile
|
182
165
|
- bin/license_finder
|
183
166
|
- features/approve_dependencies.feature
|
@@ -185,6 +168,7 @@ files:
|
|
185
168
|
- features/license_finder.feature
|
186
169
|
- features/license_finder_rake_task.feature
|
187
170
|
- features/rails_rake.feature
|
171
|
+
- features/set_license.feature
|
188
172
|
- features/step_definitions/steps.rb
|
189
173
|
- features/text_report.feature
|
190
174
|
- files/license_finder.yml
|
@@ -199,11 +183,13 @@ files:
|
|
199
183
|
- lib/data/licenses/SimplifiedBSD.txt
|
200
184
|
- lib/license_finder.rb
|
201
185
|
- lib/license_finder/bundle.rb
|
186
|
+
- lib/license_finder/bundle_syncer.rb
|
202
187
|
- lib/license_finder/bundled_gem.rb
|
203
188
|
- lib/license_finder/cli.rb
|
204
189
|
- lib/license_finder/configuration.rb
|
205
190
|
- lib/license_finder/dependency.rb
|
206
|
-
- lib/license_finder/
|
191
|
+
- lib/license_finder/dependency_report.rb
|
192
|
+
- lib/license_finder/html_report.rb
|
207
193
|
- lib/license_finder/license.rb
|
208
194
|
- lib/license_finder/license/apache2.rb
|
209
195
|
- lib/license_finder/license/bsd.rb
|
@@ -215,14 +201,21 @@ files:
|
|
215
201
|
- lib/license_finder/license/ruby.rb
|
216
202
|
- lib/license_finder/license/simplified_bsd.rb
|
217
203
|
- lib/license_finder/license_url.rb
|
204
|
+
- lib/license_finder/persistence.rb
|
205
|
+
- lib/license_finder/persistence/yaml.rb
|
206
|
+
- lib/license_finder/persistence/yaml/configuration.rb
|
207
|
+
- lib/license_finder/persistence/yaml/dependency.rb
|
218
208
|
- lib/license_finder/possible_license_file.rb
|
219
209
|
- lib/license_finder/railtie.rb
|
220
210
|
- lib/license_finder/reporter.rb
|
221
|
-
- lib/license_finder/
|
211
|
+
- lib/license_finder/source_syncer.rb
|
212
|
+
- lib/license_finder/text_report.rb
|
222
213
|
- lib/tasks/license_finder.rake
|
223
214
|
- lib/templates/dependency.html.erb
|
224
|
-
- lib/templates/
|
215
|
+
- lib/templates/html_report.erb
|
216
|
+
- lib/templates/text_report.erb
|
225
217
|
- license_finder.gemspec
|
218
|
+
- readme.md
|
226
219
|
- spec/fixtures/APACHE-2-LICENSE
|
227
220
|
- spec/fixtures/GPLv2
|
228
221
|
- spec/fixtures/ISC-LICENSE
|
@@ -248,9 +241,12 @@ files:
|
|
248
241
|
- spec/fixtures/readme/README
|
249
242
|
- spec/fixtures/readme/Readme.markdown
|
250
243
|
- spec/fixtures/utf8_gem/README
|
244
|
+
- spec/lib/license_finder/bundle_spec.rb
|
245
|
+
- spec/lib/license_finder/bundle_syncer_spec.rb
|
251
246
|
- spec/lib/license_finder/bundled_gem_spec.rb
|
252
|
-
- spec/lib/license_finder/
|
247
|
+
- spec/lib/license_finder/cli_spec.rb
|
253
248
|
- spec/lib/license_finder/dependency_spec.rb
|
249
|
+
- spec/lib/license_finder/html_report_spec.rb
|
254
250
|
- spec/lib/license_finder/license/apache_spec.rb
|
255
251
|
- spec/lib/license_finder/license/bsd_spec.rb
|
256
252
|
- spec/lib/license_finder/license/gplv2_spec.rb
|
@@ -262,11 +258,17 @@ files:
|
|
262
258
|
- spec/lib/license_finder/license/simplified_bsd_spec.rb
|
263
259
|
- spec/lib/license_finder/license_spec.rb
|
264
260
|
- spec/lib/license_finder/license_url_spec.rb
|
261
|
+
- spec/lib/license_finder/persistence/yaml/configuration_spec.rb
|
262
|
+
- spec/lib/license_finder/persistence/yaml/dependency_spec.rb
|
265
263
|
- spec/lib/license_finder/possible_license_file_spec.rb
|
266
264
|
- spec/lib/license_finder/reporter_spec.rb
|
265
|
+
- spec/lib/license_finder/source_syncer_spec.rb
|
266
|
+
- spec/lib/license_finder/text_report_spec.rb
|
267
267
|
- spec/lib/license_finder_spec.rb
|
268
268
|
- spec/spec_helper.rb
|
269
269
|
- spec/support/license_examples.rb
|
270
|
+
- spec/support/shared_examples/persistence/configuration.rb
|
271
|
+
- spec/support/shared_examples/persistence/dependency.rb
|
270
272
|
homepage: https://github.com/pivotal/LicenseFinder
|
271
273
|
licenses:
|
272
274
|
- MIT
|
@@ -282,7 +284,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
282
284
|
version: '0'
|
283
285
|
segments:
|
284
286
|
- 0
|
285
|
-
hash: -
|
287
|
+
hash: -3357817247708009893
|
286
288
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
287
289
|
none: false
|
288
290
|
requirements:
|
@@ -291,7 +293,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
291
293
|
version: '0'
|
292
294
|
segments:
|
293
295
|
- 0
|
294
|
-
hash: -
|
296
|
+
hash: -3357817247708009893
|
295
297
|
requirements: []
|
296
298
|
rubyforge_project:
|
297
299
|
rubygems_version: 1.8.24
|
@@ -304,6 +306,7 @@ test_files:
|
|
304
306
|
- features/license_finder.feature
|
305
307
|
- features/license_finder_rake_task.feature
|
306
308
|
- features/rails_rake.feature
|
309
|
+
- features/set_license.feature
|
307
310
|
- features/step_definitions/steps.rb
|
308
311
|
- features/text_report.feature
|
309
312
|
- spec/fixtures/APACHE-2-LICENSE
|
@@ -331,9 +334,12 @@ test_files:
|
|
331
334
|
- spec/fixtures/readme/README
|
332
335
|
- spec/fixtures/readme/Readme.markdown
|
333
336
|
- spec/fixtures/utf8_gem/README
|
337
|
+
- spec/lib/license_finder/bundle_spec.rb
|
338
|
+
- spec/lib/license_finder/bundle_syncer_spec.rb
|
334
339
|
- spec/lib/license_finder/bundled_gem_spec.rb
|
335
|
-
- spec/lib/license_finder/
|
340
|
+
- spec/lib/license_finder/cli_spec.rb
|
336
341
|
- spec/lib/license_finder/dependency_spec.rb
|
342
|
+
- spec/lib/license_finder/html_report_spec.rb
|
337
343
|
- spec/lib/license_finder/license/apache_spec.rb
|
338
344
|
- spec/lib/license_finder/license/bsd_spec.rb
|
339
345
|
- spec/lib/license_finder/license/gplv2_spec.rb
|
@@ -345,8 +351,14 @@ test_files:
|
|
345
351
|
- spec/lib/license_finder/license/simplified_bsd_spec.rb
|
346
352
|
- spec/lib/license_finder/license_spec.rb
|
347
353
|
- spec/lib/license_finder/license_url_spec.rb
|
354
|
+
- spec/lib/license_finder/persistence/yaml/configuration_spec.rb
|
355
|
+
- spec/lib/license_finder/persistence/yaml/dependency_spec.rb
|
348
356
|
- spec/lib/license_finder/possible_license_file_spec.rb
|
349
357
|
- spec/lib/license_finder/reporter_spec.rb
|
358
|
+
- spec/lib/license_finder/source_syncer_spec.rb
|
359
|
+
- spec/lib/license_finder/text_report_spec.rb
|
350
360
|
- spec/lib/license_finder_spec.rb
|
351
361
|
- spec/spec_helper.rb
|
352
362
|
- spec/support/license_examples.rb
|
363
|
+
- spec/support/shared_examples/persistence/configuration.rb
|
364
|
+
- spec/support/shared_examples/persistence/dependency.rb
|