license_finder 0.6.0 → 0.7.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/.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
|