knife_cookbook_dependencies 0.0.3 → 0.0.5
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 -1
- data/README.rdoc +41 -2
- data/Rakefile +42 -0
- data/features/lib/chef/knife/error_messages.feature +16 -0
- data/features/lib/chef/knife/lockfile.feature +25 -0
- data/features/lib/chef/knife/without.feature +27 -0
- data/features/support/env.rb +30 -0
- data/features/support/step_definitions.rb +22 -0
- data/knife_cookbook_dependencies.gemspec +6 -2
- data/lib/chef/knife/cookbook_dependencies_install.rb +12 -6
- data/lib/kcd.rb +1 -0
- data/lib/{knife_cookbook_dependencies → kcd}/cookbook.rb +72 -40
- data/lib/{knife_cookbook_dependencies → kcd}/cookbookfile.rb +12 -11
- data/lib/kcd/dsl.rb +13 -0
- data/lib/{knife_cookbook_dependencies → kcd}/error_messages.rb +1 -1
- data/lib/{knife_cookbook_dependencies → kcd}/git.rb +0 -0
- data/lib/{knife_cookbook_dependencies → kcd}/knife_utils.rb +1 -1
- data/lib/{knife_cookbook_dependencies → kcd}/lockfile.rb +8 -5
- data/lib/{knife_cookbook_dependencies → kcd}/metacookbook.rb +1 -1
- data/lib/{knife_cookbook_dependencies → kcd}/shelf.rb +30 -5
- data/lib/{knife_cookbook_dependencies → kcd}/version.rb +1 -1
- data/lib/knife_cookbook_dependencies.rb +20 -13
- data/spec/acceptance/knife_cookbook_dependencies_spec.rb +1 -11
- data/spec/fixtures/lockfile_spec/with_lock/Cookbookfile +1 -0
- data/spec/fixtures/lockfile_spec/without_lock/Cookbookfile.lock +5 -0
- data/spec/lib/{knife_cookbook_dependencies → kcd}/cookbook_spec.rb +43 -14
- data/spec/lib/{knife_cookbook_dependencies → kcd}/cookbookfile_spec.rb +3 -3
- data/spec/lib/kcd/dsl_spec.rb +56 -0
- data/spec/lib/{knife_cookbook_dependencies → kcd}/git_spec.rb +0 -0
- data/spec/lib/kcd/lockfile_spec.rb +54 -0
- data/spec/lib/kcd/shelf_spec.rb +81 -0
- data/spec/spec_helper.rb +22 -2
- data/todo.txt +8 -8
- metadata +98 -51
- data/lib/knife_cookbook_dependencies/dependency_reader.rb +0 -46
- data/lib/knife_cookbook_dependencies/dsl.rb +0 -7
- data/spec/lib/knife_cookbook_dependencies/dependency_reader_spec.rb +0 -42
- data/spec/lib/knife_cookbook_dependencies/dsl_spec.rb +0 -29
- data/spec/lib/knife_cookbook_dependencies/shelf_spec.rb +0 -37
File without changes
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe KCD::Lockfile do
|
4
|
+
describe "without a lockfile in place already" do
|
5
|
+
before do
|
6
|
+
@old_dir = Dir.pwd
|
7
|
+
Dir.chdir "spec/fixtures/lockfile_spec/without_lock"
|
8
|
+
KCD.clear_shelf!
|
9
|
+
end
|
10
|
+
|
11
|
+
after do
|
12
|
+
FileUtils.rm_r "cookbooks"
|
13
|
+
Dir.chdir @old_dir
|
14
|
+
end
|
15
|
+
|
16
|
+
it "should be able to write a Cookbookfile.lock from a list of cookbooks" do
|
17
|
+
KCD.shelf.shelve_cookbook('nginx', '= 0.101.0')
|
18
|
+
KCD.shelf.resolve_dependencies
|
19
|
+
KCD.shelf.populate_cookbooks_directory
|
20
|
+
KCD.shelf.write_lockfile
|
21
|
+
|
22
|
+
File.read('Cookbookfile.lock').split(/\r?\n/).sort.should == [
|
23
|
+
"cookbook 'bluepill', :locked_version => '1.0.4'",
|
24
|
+
"cookbook 'build-essential', :locked_version => '1.0.0'",
|
25
|
+
"cookbook 'nginx', :locked_version => '0.101.0'",
|
26
|
+
"cookbook 'ohai', :locked_version => '1.0.2'",
|
27
|
+
"cookbook 'runit', :locked_version => '0.15.0'"
|
28
|
+
]
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
describe "with a lockfile in place" do
|
33
|
+
before do
|
34
|
+
@old_dir = Dir.pwd
|
35
|
+
Dir.chdir "spec/fixtures/lockfile_spec/with_lock"
|
36
|
+
KCD::Cookbookfile.process_install
|
37
|
+
KCD.clear_shelf!
|
38
|
+
end
|
39
|
+
|
40
|
+
after do
|
41
|
+
FileUtils.rm_r "cookbooks"
|
42
|
+
FileUtils.rm "Cookbookfile.lock"
|
43
|
+
Dir.chdir @old_dir
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should populate the cookbooks directory from the lockfile" do
|
47
|
+
lockfile = File.read('Cookbookfile.lock')
|
48
|
+
lockfile.gsub!(/0.101.0/, '0.101.2')
|
49
|
+
File.write('Cookbookfile.lock', lockfile)
|
50
|
+
KCD::Cookbookfile.process_install
|
51
|
+
File.read('cookbooks/nginx/metadata.rb').scan(/version\s*"([^"]+)"/).first.first.should == "0.101.2"
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,81 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module KnifeCookbookDependencies
|
4
|
+
describe Shelf do
|
5
|
+
describe '#get_cookbook' do
|
6
|
+
it "should return nil if a cookbook doesn't exist on the shelf" do
|
7
|
+
Shelf.new.get_cookbook('arbitrary').should be_nil
|
8
|
+
end
|
9
|
+
it "should return the cookbook if the cookbook exists on the shelf" do
|
10
|
+
s = Shelf.new
|
11
|
+
s.shelve_cookbook example_cookbook_from_path
|
12
|
+
s.get_cookbook(example_cookbook_from_path.name).should_not be_nil
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "#shelve_cookbook" do
|
17
|
+
subject { Shelf.new }
|
18
|
+
it 'should store shelved cookbooks' do
|
19
|
+
subject.shelve_cookbook 'acookbook'
|
20
|
+
subject.cookbooks.collect(&:name).should include 'acookbook'
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should take version constraints' do
|
24
|
+
subject.shelve_cookbook 'acookbook', '= 1.2.3'
|
25
|
+
subject.cookbooks.last.version_constraints.should == [DepSelector::VersionConstraint.new('= 1.2.3')]
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should resolve the dependency graph of the cookbooks on the shelf" do
|
29
|
+
subject.shelve_cookbook 'mysql', "= 1.2.4"
|
30
|
+
|
31
|
+
subject.resolve_dependencies.should == ({"mysql" => DepSelector::Version.new("1.2.4"), "openssl" => DepSelector::Version.new("1.0.0")})
|
32
|
+
Cookbook.new('mysql').clean
|
33
|
+
Cookbook.new('openssl').clean
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe '#exclude' do
|
38
|
+
it "should split on :" do
|
39
|
+
subject.exclude("foo:bar")
|
40
|
+
subject.excluded_groups.should == [:foo, :bar]
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should split on ," do
|
44
|
+
subject.exclude("foo,bar")
|
45
|
+
subject.excluded_groups.should == [:foo, :bar]
|
46
|
+
end
|
47
|
+
|
48
|
+
it "should take an Array" do
|
49
|
+
subject.exclude(["foo","bar"])
|
50
|
+
subject.excluded_groups.should == [:foo, :bar]
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe '#cookbook_groups' do
|
55
|
+
it "should return a hash of groups and associated cookbooks" do
|
56
|
+
subject.shelve_cookbook "foobar", :group => ["foo", "bar"]
|
57
|
+
subject.shelve_cookbook "baz", :group => "baz"
|
58
|
+
subject.shelve_cookbook "quux", :group => "quux"
|
59
|
+
subject.shelve_cookbook "baz2", :group => "baz"
|
60
|
+
groups = subject.cookbook_groups
|
61
|
+
groups.keys.size.should == 4
|
62
|
+
groups[:foo].should == ["foobar"]
|
63
|
+
groups[:bar].should == ["foobar"]
|
64
|
+
groups[:baz].should == ["baz", "baz2"]
|
65
|
+
groups[:quux].should == ["quux"]
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
describe '#requested_cookbooks'do
|
70
|
+
it "should properly exclude cookbooks in the excluded groups" do
|
71
|
+
subject.shelve_cookbook "a1", :group => "a"
|
72
|
+
subject.shelve_cookbook "a2", :group => "a"
|
73
|
+
subject.shelve_cookbook "b1", :group => "b"
|
74
|
+
subject.shelve_cookbook "b2", :group => "b"
|
75
|
+
subject.shelve_cookbook "c1", :group => ["a","b"]
|
76
|
+
subject.exclude "b"
|
77
|
+
subject.requested_cookbooks.should == ["a1", "a2", "c1"]
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'bundler'
|
3
3
|
require 'spork'
|
4
|
+
require 'vcr'
|
4
5
|
|
5
6
|
Spork.prefork do
|
6
7
|
require 'rspec'
|
@@ -11,12 +12,31 @@ Spork.prefork do
|
|
11
12
|
|
12
13
|
Dir[File.join(APP_ROOT, "spec/support/**/*.rb")].each {|f| require f}
|
13
14
|
|
15
|
+
VCR.configure do |c|
|
16
|
+
c.cassette_library_dir = File.join(File.dirname(__FILE__), 'fixtures', 'vcr_cassettes')
|
17
|
+
c.hook_into :webmock
|
18
|
+
end
|
19
|
+
|
20
|
+
|
14
21
|
RSpec.configure do |config|
|
15
22
|
config.mock_with :rspec
|
16
23
|
config.treat_symbols_as_metadata_keys_with_true_values = true
|
17
24
|
config.filter_run :focus => true
|
18
25
|
config.run_all_when_everything_filtered = true
|
19
26
|
|
27
|
+
config.around do |example|
|
28
|
+
# Dynamically create cassettes based on the name of the example
|
29
|
+
# being run. This creates a new cassette for every test.
|
30
|
+
cur = example.metadata
|
31
|
+
identifiers = [example.metadata[:description_args]]
|
32
|
+
while cur = cur[:example_group] do
|
33
|
+
identifiers << cur[:description_args]
|
34
|
+
end
|
35
|
+
|
36
|
+
VCR.use_cassette(identifiers.reverse.join(' ')) do
|
37
|
+
example.run
|
38
|
+
end
|
39
|
+
end
|
20
40
|
config.after do
|
21
41
|
KnifeCookbookDependencies.clean
|
22
42
|
end
|
@@ -40,7 +60,7 @@ Spork.prefork do
|
|
40
60
|
end
|
41
61
|
|
42
62
|
def example_cookbook_from_path
|
43
|
-
@example_cookbook_from_path ||=
|
63
|
+
@example_cookbook_from_path ||= KCD::Cookbook.new('example_cookbook', path: File.join(File.dirname(__FILE__), 'fixtures', 'cookbooks'))
|
44
64
|
end
|
45
65
|
|
46
66
|
def with_cookbookfile content
|
@@ -55,5 +75,5 @@ Spork.prefork do
|
|
55
75
|
end
|
56
76
|
|
57
77
|
Spork.each_run do
|
58
|
-
require '
|
78
|
+
require 'kcd'
|
59
79
|
end
|
data/todo.txt
CHANGED
@@ -1,13 +1,13 @@
|
|
1
|
-
Add git support to Cookbookfile
|
2
|
-
- Allow a cookbook to be pulled from a git repository
|
3
|
-
- Also support 'ref' to give a commit hash to pull
|
4
|
-
- Possibly support 'branch' to pull the HEAD from a given branch
|
5
|
-
Add path support to Cookbookfile
|
6
|
-
- Pull cookbook from a path on the local filesystem
|
7
1
|
Add source support to Cookbookfile
|
8
2
|
- Allow unofficial cookbook repositories to be used via 'source' in Cookbookfile
|
9
|
-
|
10
|
-
-
|
3
|
+
Add path block support
|
4
|
+
- Allow this syntax in Cookbookfile:
|
5
|
+
path '/path/to/cookbooks' do
|
6
|
+
cookbook 'nginx'
|
7
|
+
cookbook 'ntp'
|
8
|
+
cookbook 'mysql'
|
9
|
+
end
|
10
|
+
Supress dep_selector stdout
|
11
11
|
Optimize cookbook retrieval
|
12
12
|
- Possible: Pester Opscode till they release an API call to retrieve cookbook dependencies
|
13
13
|
- Possible: Keep an index of dependencies so we don't have to download cookbook versions we've seen before
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: knife_cookbook_dependencies
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,11 +11,11 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2012-05-
|
14
|
+
date: 2012-05-16 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: dep_selector
|
18
|
-
requirement: &
|
18
|
+
requirement: &70311986928620 !ruby/object:Gem::Requirement
|
19
19
|
none: false
|
20
20
|
requirements:
|
21
21
|
- - ! '>='
|
@@ -23,10 +23,10 @@ dependencies:
|
|
23
23
|
version: '0'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
|
-
version_requirements: *
|
26
|
+
version_requirements: *70311986928620
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: chef
|
29
|
-
requirement: &
|
29
|
+
requirement: &70311986926700 !ruby/object:Gem::Requirement
|
30
30
|
none: false
|
31
31
|
requirements:
|
32
32
|
- - ~>
|
@@ -34,10 +34,10 @@ dependencies:
|
|
34
34
|
version: 0.10.0
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
|
-
version_requirements: *
|
37
|
+
version_requirements: *70311986926700
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: minitar
|
40
|
-
requirement: &
|
40
|
+
requirement: &70311986925460 !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
43
|
- - ! '>='
|
@@ -45,10 +45,43 @@ dependencies:
|
|
45
45
|
version: '0'
|
46
46
|
type: :runtime
|
47
47
|
prerelease: false
|
48
|
-
version_requirements: *
|
48
|
+
version_requirements: *70311986925460
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: cucumber
|
51
|
+
requirement: &70311986924440 !ruby/object:Gem::Requirement
|
52
|
+
none: false
|
53
|
+
requirements:
|
54
|
+
- - ! '>='
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '0'
|
57
|
+
type: :development
|
58
|
+
prerelease: false
|
59
|
+
version_requirements: *70311986924440
|
60
|
+
- !ruby/object:Gem::Dependency
|
61
|
+
name: vcr
|
62
|
+
requirement: &70311986923640 !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
64
|
+
requirements:
|
65
|
+
- - ! '>='
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '0'
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: *70311986923640
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: webmock
|
73
|
+
requirement: &70311986922980 !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ! '>='
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '0'
|
79
|
+
type: :development
|
80
|
+
prerelease: false
|
81
|
+
version_requirements: *70311986922980
|
49
82
|
- !ruby/object:Gem::Dependency
|
50
83
|
name: aruba
|
51
|
-
requirement: &
|
84
|
+
requirement: &70311986922020 !ruby/object:Gem::Requirement
|
52
85
|
none: false
|
53
86
|
requirements:
|
54
87
|
- - ! '>='
|
@@ -56,10 +89,10 @@ dependencies:
|
|
56
89
|
version: '0'
|
57
90
|
type: :development
|
58
91
|
prerelease: false
|
59
|
-
version_requirements: *
|
92
|
+
version_requirements: *70311986922020
|
60
93
|
- !ruby/object:Gem::Dependency
|
61
94
|
name: rake
|
62
|
-
requirement: &
|
95
|
+
requirement: &70311986920560 !ruby/object:Gem::Requirement
|
63
96
|
none: false
|
64
97
|
requirements:
|
65
98
|
- - ~>
|
@@ -67,10 +100,10 @@ dependencies:
|
|
67
100
|
version: 0.9.0
|
68
101
|
type: :development
|
69
102
|
prerelease: false
|
70
|
-
version_requirements: *
|
103
|
+
version_requirements: *70311986920560
|
71
104
|
- !ruby/object:Gem::Dependency
|
72
105
|
name: rdoc
|
73
|
-
requirement: &
|
106
|
+
requirement: &70311986918460 !ruby/object:Gem::Requirement
|
74
107
|
none: false
|
75
108
|
requirements:
|
76
109
|
- - ~>
|
@@ -78,10 +111,10 @@ dependencies:
|
|
78
111
|
version: '3.0'
|
79
112
|
type: :development
|
80
113
|
prerelease: false
|
81
|
-
version_requirements: *
|
114
|
+
version_requirements: *70311986918460
|
82
115
|
- !ruby/object:Gem::Dependency
|
83
116
|
name: rspec
|
84
|
-
requirement: &
|
117
|
+
requirement: &70311986917200 !ruby/object:Gem::Requirement
|
85
118
|
none: false
|
86
119
|
requirements:
|
87
120
|
- - ! '>='
|
@@ -89,10 +122,10 @@ dependencies:
|
|
89
122
|
version: '0'
|
90
123
|
type: :development
|
91
124
|
prerelease: false
|
92
|
-
version_requirements: *
|
125
|
+
version_requirements: *70311986917200
|
93
126
|
- !ruby/object:Gem::Dependency
|
94
127
|
name: simplecov
|
95
|
-
requirement: &
|
128
|
+
requirement: &70311986895060 !ruby/object:Gem::Requirement
|
96
129
|
none: false
|
97
130
|
requirements:
|
98
131
|
- - ! '>='
|
@@ -100,10 +133,10 @@ dependencies:
|
|
100
133
|
version: '0'
|
101
134
|
type: :development
|
102
135
|
prerelease: false
|
103
|
-
version_requirements: *
|
136
|
+
version_requirements: *70311986895060
|
104
137
|
- !ruby/object:Gem::Dependency
|
105
138
|
name: fuubar
|
106
|
-
requirement: &
|
139
|
+
requirement: &70311986894420 !ruby/object:Gem::Requirement
|
107
140
|
none: false
|
108
141
|
requirements:
|
109
142
|
- - ! '>='
|
@@ -111,10 +144,10 @@ dependencies:
|
|
111
144
|
version: '0'
|
112
145
|
type: :development
|
113
146
|
prerelease: false
|
114
|
-
version_requirements: *
|
147
|
+
version_requirements: *70311986894420
|
115
148
|
- !ruby/object:Gem::Dependency
|
116
149
|
name: spork
|
117
|
-
requirement: &
|
150
|
+
requirement: &70311986893780 !ruby/object:Gem::Requirement
|
118
151
|
none: false
|
119
152
|
requirements:
|
120
153
|
- - ! '>='
|
@@ -122,10 +155,10 @@ dependencies:
|
|
122
155
|
version: '0'
|
123
156
|
type: :development
|
124
157
|
prerelease: false
|
125
|
-
version_requirements: *
|
158
|
+
version_requirements: *70311986893780
|
126
159
|
- !ruby/object:Gem::Dependency
|
127
160
|
name: guard
|
128
|
-
requirement: &
|
161
|
+
requirement: &70311986892760 !ruby/object:Gem::Requirement
|
129
162
|
none: false
|
130
163
|
requirements:
|
131
164
|
- - ! '>='
|
@@ -133,10 +166,10 @@ dependencies:
|
|
133
166
|
version: '0'
|
134
167
|
type: :development
|
135
168
|
prerelease: false
|
136
|
-
version_requirements: *
|
169
|
+
version_requirements: *70311986892760
|
137
170
|
- !ruby/object:Gem::Dependency
|
138
171
|
name: guard-rspec
|
139
|
-
requirement: &
|
172
|
+
requirement: &70311986891760 !ruby/object:Gem::Requirement
|
140
173
|
none: false
|
141
174
|
requirements:
|
142
175
|
- - ! '>='
|
@@ -144,10 +177,10 @@ dependencies:
|
|
144
177
|
version: '0'
|
145
178
|
type: :development
|
146
179
|
prerelease: false
|
147
|
-
version_requirements: *
|
180
|
+
version_requirements: *70311986891760
|
148
181
|
- !ruby/object:Gem::Dependency
|
149
182
|
name: guard-spork
|
150
|
-
requirement: &
|
183
|
+
requirement: &70311986891140 !ruby/object:Gem::Requirement
|
151
184
|
none: false
|
152
185
|
requirements:
|
153
186
|
- - ! '>='
|
@@ -155,7 +188,7 @@ dependencies:
|
|
155
188
|
version: '0'
|
156
189
|
type: :development
|
157
190
|
prerelease: false
|
158
|
-
version_requirements: *
|
191
|
+
version_requirements: *70311986891140
|
159
192
|
description: Resolves cookbook dependencies
|
160
193
|
email:
|
161
194
|
- josiah@skirmisher.net
|
@@ -172,30 +205,37 @@ files:
|
|
172
205
|
- LICENSE
|
173
206
|
- README.rdoc
|
174
207
|
- Rakefile
|
208
|
+
- features/lib/chef/knife/error_messages.feature
|
209
|
+
- features/lib/chef/knife/lockfile.feature
|
210
|
+
- features/lib/chef/knife/without.feature
|
211
|
+
- features/support/env.rb
|
212
|
+
- features/support/step_definitions.rb
|
175
213
|
- knife_cookbook_dependencies.gemspec
|
176
214
|
- lib/chef/knife/cookbook_dependencies_install.rb
|
215
|
+
- lib/kcd.rb
|
216
|
+
- lib/kcd/cookbook.rb
|
217
|
+
- lib/kcd/cookbookfile.rb
|
218
|
+
- lib/kcd/dsl.rb
|
219
|
+
- lib/kcd/error_messages.rb
|
220
|
+
- lib/kcd/git.rb
|
221
|
+
- lib/kcd/knife_utils.rb
|
222
|
+
- lib/kcd/lockfile.rb
|
223
|
+
- lib/kcd/metacookbook.rb
|
224
|
+
- lib/kcd/shelf.rb
|
225
|
+
- lib/kcd/version.rb
|
177
226
|
- lib/knife_cookbook_dependencies.rb
|
178
|
-
- lib/knife_cookbook_dependencies/cookbook.rb
|
179
|
-
- lib/knife_cookbook_dependencies/cookbookfile.rb
|
180
|
-
- lib/knife_cookbook_dependencies/dependency_reader.rb
|
181
|
-
- lib/knife_cookbook_dependencies/dsl.rb
|
182
|
-
- lib/knife_cookbook_dependencies/error_messages.rb
|
183
|
-
- lib/knife_cookbook_dependencies/git.rb
|
184
|
-
- lib/knife_cookbook_dependencies/knife_utils.rb
|
185
|
-
- lib/knife_cookbook_dependencies/lockfile.rb
|
186
|
-
- lib/knife_cookbook_dependencies/metacookbook.rb
|
187
|
-
- lib/knife_cookbook_dependencies/shelf.rb
|
188
|
-
- lib/knife_cookbook_dependencies/version.rb
|
189
227
|
- spec/acceptance/knife_cookbook_dependencies_spec.rb
|
190
228
|
- spec/fixtures/cookbooks/example_cookbook/README.md
|
191
229
|
- spec/fixtures/cookbooks/example_cookbook/metadata.rb
|
192
230
|
- spec/fixtures/cookbooks/example_cookbook/recipes/default.rb
|
193
|
-
- spec/
|
194
|
-
- spec/
|
195
|
-
- spec/lib/
|
196
|
-
- spec/lib/
|
197
|
-
- spec/lib/
|
198
|
-
- spec/lib/
|
231
|
+
- spec/fixtures/lockfile_spec/with_lock/Cookbookfile
|
232
|
+
- spec/fixtures/lockfile_spec/without_lock/Cookbookfile.lock
|
233
|
+
- spec/lib/kcd/cookbook_spec.rb
|
234
|
+
- spec/lib/kcd/cookbookfile_spec.rb
|
235
|
+
- spec/lib/kcd/dsl_spec.rb
|
236
|
+
- spec/lib/kcd/git_spec.rb
|
237
|
+
- spec/lib/kcd/lockfile_spec.rb
|
238
|
+
- spec/lib/kcd/shelf_spec.rb
|
199
239
|
- spec/spec_helper.rb
|
200
240
|
- todo.txt
|
201
241
|
homepage: https://github.com/RiotGames/knife_cookbook_dependencies
|
@@ -223,14 +263,21 @@ signing_key:
|
|
223
263
|
specification_version: 3
|
224
264
|
summary: Resolves cookbook dependencies
|
225
265
|
test_files:
|
266
|
+
- features/lib/chef/knife/error_messages.feature
|
267
|
+
- features/lib/chef/knife/lockfile.feature
|
268
|
+
- features/lib/chef/knife/without.feature
|
269
|
+
- features/support/env.rb
|
270
|
+
- features/support/step_definitions.rb
|
226
271
|
- spec/acceptance/knife_cookbook_dependencies_spec.rb
|
227
272
|
- spec/fixtures/cookbooks/example_cookbook/README.md
|
228
273
|
- spec/fixtures/cookbooks/example_cookbook/metadata.rb
|
229
274
|
- spec/fixtures/cookbooks/example_cookbook/recipes/default.rb
|
230
|
-
- spec/
|
231
|
-
- spec/
|
232
|
-
- spec/lib/
|
233
|
-
- spec/lib/
|
234
|
-
- spec/lib/
|
235
|
-
- spec/lib/
|
275
|
+
- spec/fixtures/lockfile_spec/with_lock/Cookbookfile
|
276
|
+
- spec/fixtures/lockfile_spec/without_lock/Cookbookfile.lock
|
277
|
+
- spec/lib/kcd/cookbook_spec.rb
|
278
|
+
- spec/lib/kcd/cookbookfile_spec.rb
|
279
|
+
- spec/lib/kcd/dsl_spec.rb
|
280
|
+
- spec/lib/kcd/git_spec.rb
|
281
|
+
- spec/lib/kcd/lockfile_spec.rb
|
282
|
+
- spec/lib/kcd/shelf_spec.rb
|
236
283
|
- spec/spec_helper.rb
|