berkshelf 2.0.18 → 3.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. data/.ruby-version +1 -1
  2. data/.travis.yml +4 -1
  3. data/CHANGELOG.md +2 -26
  4. data/Gemfile +12 -2
  5. data/README.md +9 -1
  6. data/berkshelf.gemspec +9 -18
  7. data/bin/berks +3 -13
  8. data/features/apply_command.feature +11 -9
  9. data/features/berksfile.feature +8 -10
  10. data/features/config.feature +1 -2
  11. data/features/configure_command.feature +13 -14
  12. data/features/contingent_command.feature +13 -1
  13. data/features/cookbook_command.feature +2 -4
  14. data/features/groups_install.feature +10 -2
  15. data/features/help.feature +1 -1
  16. data/features/init_command.feature +5 -7
  17. data/features/install_command.feature +157 -228
  18. data/features/json_formatter.feature +27 -15
  19. data/features/licenses.feature +18 -12
  20. data/features/list_command.feature +6 -1
  21. data/features/lockfile.feature +116 -72
  22. data/features/outdated_command.feature +3 -47
  23. data/features/package_command.feature +10 -7
  24. data/features/shelf/show.feature +2 -2
  25. data/features/shelf/uninstall.feature +2 -2
  26. data/features/show_command.feature +10 -3
  27. data/features/step_definitions/chef/config_steps.rb +12 -0
  28. data/features/step_definitions/chef_server_steps.rb +16 -16
  29. data/features/step_definitions/cli_steps.rb +3 -79
  30. data/features/step_definitions/config_steps.rb +43 -0
  31. data/features/step_definitions/environment_steps.rb +7 -0
  32. data/features/step_definitions/filesystem_steps.rb +12 -57
  33. data/features/step_definitions/gem_steps.rb +1 -2
  34. data/features/step_definitions/json_steps.rb +3 -1
  35. data/features/step_definitions/lockfile_steps.rb +4 -0
  36. data/features/step_definitions/utility_steps.rb +0 -19
  37. data/features/support/aruba.rb +12 -0
  38. data/features/support/env.rb +52 -57
  39. data/features/update_command.feature +37 -23
  40. data/features/upload_command.feature +96 -160
  41. data/generator_files/Berksfile.erb +2 -1
  42. data/generator_files/Vagrantfile.erb +3 -0
  43. data/generator_files/default_test.rb.erb +1 -1
  44. data/generator_files/helpers.rb.erb +1 -1
  45. data/lib/berkshelf.rb +43 -24
  46. data/lib/berkshelf/api_client.rb +67 -0
  47. data/lib/berkshelf/api_client/remote_cookbook.rb +42 -0
  48. data/lib/berkshelf/berksfile.rb +232 -420
  49. data/lib/berkshelf/cached_cookbook.rb +22 -10
  50. data/lib/berkshelf/chef/config.rb +1 -0
  51. data/lib/berkshelf/cli.rb +66 -68
  52. data/lib/berkshelf/commands/shelf.rb +1 -1
  53. data/lib/berkshelf/community_rest.rb +10 -17
  54. data/lib/berkshelf/config.rb +23 -27
  55. data/lib/berkshelf/cookbook_generator.rb +3 -4
  56. data/lib/berkshelf/cookbook_store.rb +74 -17
  57. data/lib/berkshelf/core_ext/file.rb +2 -2
  58. data/lib/berkshelf/core_ext/pathname.rb +7 -5
  59. data/lib/berkshelf/{cookbook_source.rb → dependency.rb} +47 -67
  60. data/lib/berkshelf/downloader.rb +49 -106
  61. data/lib/berkshelf/errors.rb +64 -71
  62. data/lib/berkshelf/formatters.rb +11 -9
  63. data/lib/berkshelf/formatters/human_readable.rb +9 -9
  64. data/lib/berkshelf/formatters/json.rb +14 -4
  65. data/lib/berkshelf/init_generator.rb +3 -3
  66. data/lib/berkshelf/installer.rb +136 -0
  67. data/lib/berkshelf/location.rb +91 -131
  68. data/lib/berkshelf/locations/git_location.rb +9 -11
  69. data/lib/berkshelf/locations/github_location.rb +1 -1
  70. data/lib/berkshelf/locations/path_location.rb +10 -27
  71. data/lib/berkshelf/lockfile.rb +92 -70
  72. data/lib/berkshelf/logger.rb +4 -7
  73. data/lib/berkshelf/mixin/config.rb +21 -4
  74. data/lib/berkshelf/resolver.rb +60 -150
  75. data/lib/berkshelf/resolver/graph.rb +44 -0
  76. data/lib/berkshelf/source.rb +55 -0
  77. data/lib/berkshelf/source_uri.rb +38 -0
  78. data/lib/berkshelf/version.rb +1 -1
  79. data/spec/config/knife.rb +1 -1
  80. data/spec/fixtures/cassettes/Berkshelf_Resolver/_initialize/adds_the_dependencies_of_the_dependency_as_dependencies.yml +3694 -0
  81. data/spec/fixtures/cookbooks/example_cookbook/Berksfile.lock +1 -1
  82. data/spec/fixtures/lockfiles/default.lock +1 -1
  83. data/spec/spec_helper.rb +20 -121
  84. data/spec/support/chef_api.rb +3 -4
  85. data/spec/support/chef_server.rb +20 -11
  86. data/spec/support/git.rb +127 -0
  87. data/spec/support/kitchen.rb +12 -0
  88. data/spec/support/path_helpers.rb +69 -0
  89. data/spec/unit/berkshelf/api_client/remote_cookbook_spec.rb +23 -0
  90. data/spec/unit/berkshelf/api_client_spec.rb +57 -0
  91. data/spec/unit/berkshelf/berksfile_spec.rb +206 -324
  92. data/spec/unit/berkshelf/cached_cookbook_spec.rb +73 -38
  93. data/spec/unit/berkshelf/community_rest_spec.rb +30 -71
  94. data/spec/unit/berkshelf/config_spec.rb +3 -14
  95. data/spec/unit/berkshelf/cookbook_generator_spec.rb +1 -2
  96. data/spec/unit/berkshelf/cookbook_store_spec.rb +12 -7
  97. data/spec/unit/berkshelf/dependency_spec.rb +285 -0
  98. data/spec/unit/berkshelf/downloader_spec.rb +4 -183
  99. data/spec/unit/berkshelf/formatters/null_spec.rb +1 -1
  100. data/spec/unit/berkshelf/formatters_spec.rb +4 -2
  101. data/spec/unit/berkshelf/git_spec.rb +15 -15
  102. data/spec/unit/berkshelf/installer_spec.rb +39 -0
  103. data/spec/unit/berkshelf/location_spec.rb +87 -114
  104. data/spec/unit/berkshelf/locations/git_location_spec.rb +41 -53
  105. data/spec/unit/berkshelf/locations/path_location_spec.rb +13 -23
  106. data/spec/unit/berkshelf/lockfile_spec.rb +38 -40
  107. data/spec/unit/berkshelf/resolver/graph_spec.rb +44 -0
  108. data/spec/unit/berkshelf/resolver_spec.rb +34 -83
  109. data/spec/unit/berkshelf/source_spec.rb +23 -0
  110. data/spec/unit/berkshelf/source_uri_spec.rb +29 -0
  111. metadata +149 -188
  112. checksums.yaml +0 -7
  113. data/features/default_locations.feature +0 -127
  114. data/features/step_definitions/berksfile_steps.rb +0 -8
  115. data/features/step_definitions/configure_cli_steps.rb +0 -19
  116. data/features/vendor_install.feature +0 -19
  117. data/lib/berkshelf/core_ext/openuri.rb +0 -36
  118. data/lib/berkshelf/core_ext/rbzip2.rb +0 -8
  119. data/lib/berkshelf/locations/chef_api_location.rb +0 -228
  120. data/lib/berkshelf/locations/site_location.rb +0 -92
  121. data/lib/berkshelf/test.rb +0 -35
  122. data/spec/knife.rb.sample +0 -12
  123. data/spec/support/test_generators.rb +0 -27
  124. data/spec/unit/berkshelf/cli_spec.rb +0 -16
  125. data/spec/unit/berkshelf/cookbook_source_spec.rb +0 -358
  126. data/spec/unit/berkshelf/core_ext/pathname_spec.rb +0 -46
  127. data/spec/unit/berkshelf/locations/chef_api_location_spec.rb +0 -139
  128. data/spec/unit/berkshelf/locations/site_location_spec.rb +0 -19
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe Berkshelf::Source do
4
+ describe "#universe"
5
+ describe "#cookbook"
6
+ describe "#versions"
7
+
8
+ describe "#==" do
9
+ it "is the same if the uri matches" do
10
+ first = described_class.new("http://localhost:8080")
11
+ other = described_class.new("http://localhost:8080")
12
+
13
+ expect(first).to eq(other)
14
+ end
15
+
16
+ it "is not the same if the uri is different" do
17
+ first = described_class.new("http://localhost:8089")
18
+ other = described_class.new("http://localhost:8080")
19
+
20
+ expect(first).to_not eq(other)
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,29 @@
1
+ require 'spec_helper'
2
+
3
+ describe Berkshelf::SourceURI do
4
+ describe "ClassMethods" do
5
+ describe "::parse" do
6
+ subject { described_class.parse(uri) }
7
+
8
+ context "when the host is missing" do
9
+ let(:uri) { "http://" }
10
+
11
+ it "raises an InvalidSourceURI" do
12
+ expect { subject }.to raise_error(Berkshelf::InvalidSourceURI)
13
+ end
14
+ end
15
+ end
16
+ end
17
+
18
+ describe "#validate" do
19
+ subject { described_class.parse(uri) }
20
+
21
+ context "when the scheme does not match http or https" do
22
+ let(:uri) { "ftp://riotgames.com" }
23
+
24
+ it "raises an InvalidSourceURI" do
25
+ expect { subject.validate }.to raise_error(Berkshelf::InvalidSourceURI)
26
+ end
27
+ end
28
+ end
29
+ end
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: berkshelf
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.18
4
+ version: 3.0.0.beta1
5
+ prerelease: 6
5
6
  platform: ruby
6
7
  authors:
7
8
  - Jamie Winsor
@@ -12,179 +13,204 @@ authors:
12
13
  autorequire:
13
14
  bindir: bin
14
15
  cert_chain: []
15
- date: 2014-07-08 00:00:00.000000000 Z
16
+ date: 2013-07-12 00:00:00.000000000 Z
16
17
  dependencies:
17
18
  - !ruby/object:Gem::Dependency
18
- name: activesupport
19
+ name: addressable
19
20
  requirement: !ruby/object:Gem::Requirement
21
+ none: false
20
22
  requirements:
21
23
  - - ~>
22
24
  - !ruby/object:Gem::Version
23
- version: 3.2.0
25
+ version: 2.3.4
24
26
  type: :runtime
25
27
  prerelease: false
26
28
  version_requirements: !ruby/object:Gem::Requirement
29
+ none: false
27
30
  requirements:
28
31
  - - ~>
29
32
  - !ruby/object:Gem::Version
30
- version: 3.2.0
33
+ version: 2.3.4
31
34
  - !ruby/object:Gem::Dependency
32
- name: addressable
35
+ name: buff-config
33
36
  requirement: !ruby/object:Gem::Requirement
37
+ none: false
34
38
  requirements:
35
39
  - - ~>
36
40
  - !ruby/object:Gem::Version
37
- version: 2.3.4
41
+ version: '0.1'
38
42
  type: :runtime
39
43
  prerelease: false
40
44
  version_requirements: !ruby/object:Gem::Requirement
45
+ none: false
41
46
  requirements:
42
47
  - - ~>
43
48
  - !ruby/object:Gem::Version
44
- version: 2.3.4
49
+ version: '0.1'
45
50
  - !ruby/object:Gem::Dependency
46
- name: buff-shell_out
51
+ name: buff-extensions
47
52
  requirement: !ruby/object:Gem::Requirement
53
+ none: false
48
54
  requirements:
49
55
  - - ~>
50
56
  - !ruby/object:Gem::Version
51
- version: '0.1'
57
+ version: '0.4'
52
58
  type: :runtime
53
59
  prerelease: false
54
60
  version_requirements: !ruby/object:Gem::Requirement
61
+ none: false
55
62
  requirements:
56
63
  - - ~>
57
64
  - !ruby/object:Gem::Version
58
- version: '0.1'
65
+ version: '0.4'
59
66
  - !ruby/object:Gem::Dependency
60
- name: chozo
67
+ name: buff-shell_out
61
68
  requirement: !ruby/object:Gem::Requirement
69
+ none: false
62
70
  requirements:
63
- - - '>='
71
+ - - ~>
64
72
  - !ruby/object:Gem::Version
65
- version: 0.6.1
73
+ version: '0.1'
66
74
  type: :runtime
67
75
  prerelease: false
68
76
  version_requirements: !ruby/object:Gem::Requirement
77
+ none: false
69
78
  requirements:
70
- - - '>='
79
+ - - ~>
71
80
  - !ruby/object:Gem::Version
72
- version: 0.6.1
81
+ version: '0.1'
73
82
  - !ruby/object:Gem::Dependency
74
- name: hashie
83
+ name: celluloid
75
84
  requirement: !ruby/object:Gem::Requirement
85
+ none: false
76
86
  requirements:
77
- - - ~>
87
+ - - ! '>='
78
88
  - !ruby/object:Gem::Version
79
- version: '2.0'
89
+ version: 0.14.0
80
90
  type: :runtime
81
91
  prerelease: false
82
92
  version_requirements: !ruby/object:Gem::Requirement
93
+ none: false
83
94
  requirements:
84
- - - ~>
95
+ - - ! '>='
85
96
  - !ruby/object:Gem::Version
86
- version: '2.0'
97
+ version: 0.14.0
87
98
  - !ruby/object:Gem::Dependency
88
- name: minitar
99
+ name: faraday
89
100
  requirement: !ruby/object:Gem::Requirement
101
+ none: false
90
102
  requirements:
91
- - - ~>
103
+ - - ! '>='
92
104
  - !ruby/object:Gem::Version
93
- version: 0.5.4
105
+ version: 0.8.5
94
106
  type: :runtime
95
107
  prerelease: false
96
108
  version_requirements: !ruby/object:Gem::Requirement
109
+ none: false
97
110
  requirements:
98
- - - ~>
111
+ - - ! '>='
99
112
  - !ruby/object:Gem::Version
100
- version: 0.5.4
113
+ version: 0.8.5
101
114
  - !ruby/object:Gem::Dependency
102
- name: retryable
115
+ name: hashie
103
116
  requirement: !ruby/object:Gem::Requirement
117
+ none: false
104
118
  requirements:
105
- - - ~>
119
+ - - ! '>='
106
120
  - !ruby/object:Gem::Version
107
- version: 1.3.3
121
+ version: 2.0.2
108
122
  type: :runtime
109
123
  prerelease: false
110
124
  version_requirements: !ruby/object:Gem::Requirement
125
+ none: false
111
126
  requirements:
112
- - - ~>
127
+ - - ! '>='
113
128
  - !ruby/object:Gem::Version
114
- version: 1.3.3
129
+ version: 2.0.2
115
130
  - !ruby/object:Gem::Dependency
116
- name: ridley
131
+ name: minitar
117
132
  requirement: !ruby/object:Gem::Requirement
133
+ none: false
118
134
  requirements:
119
135
  - - ~>
120
136
  - !ruby/object:Gem::Version
121
- version: 1.7.0
137
+ version: 0.5.4
122
138
  type: :runtime
123
139
  prerelease: false
124
140
  version_requirements: !ruby/object:Gem::Requirement
141
+ none: false
125
142
  requirements:
126
143
  - - ~>
127
144
  - !ruby/object:Gem::Version
128
- version: 1.7.0
145
+ version: 0.5.4
129
146
  - !ruby/object:Gem::Dependency
130
- name: solve
147
+ name: retryable
131
148
  requirement: !ruby/object:Gem::Requirement
149
+ none: false
132
150
  requirements:
133
151
  - - ~>
134
152
  - !ruby/object:Gem::Version
135
- version: 0.8.2
153
+ version: 1.3.3
136
154
  type: :runtime
137
155
  prerelease: false
138
156
  version_requirements: !ruby/object:Gem::Requirement
157
+ none: false
139
158
  requirements:
140
159
  - - ~>
141
160
  - !ruby/object:Gem::Version
142
- version: 0.8.2
161
+ version: 1.3.3
143
162
  - !ruby/object:Gem::Dependency
144
- name: thor
163
+ name: ridley
145
164
  requirement: !ruby/object:Gem::Requirement
165
+ none: false
146
166
  requirements:
147
167
  - - ~>
148
168
  - !ruby/object:Gem::Version
149
- version: 0.18.0
169
+ version: 1.3.0
150
170
  type: :runtime
151
171
  prerelease: false
152
172
  version_requirements: !ruby/object:Gem::Requirement
173
+ none: false
153
174
  requirements:
154
175
  - - ~>
155
176
  - !ruby/object:Gem::Version
156
- version: 0.18.0
177
+ version: 1.3.0
157
178
  - !ruby/object:Gem::Dependency
158
- name: rbzip2
179
+ name: solve
159
180
  requirement: !ruby/object:Gem::Requirement
181
+ none: false
160
182
  requirements:
161
- - - ~>
183
+ - - ! '>='
162
184
  - !ruby/object:Gem::Version
163
- version: 0.2.0
185
+ version: 0.5.0
164
186
  type: :runtime
165
187
  prerelease: false
166
188
  version_requirements: !ruby/object:Gem::Requirement
189
+ none: false
167
190
  requirements:
168
- - - ~>
191
+ - - ! '>='
169
192
  - !ruby/object:Gem::Version
170
- version: 0.2.0
193
+ version: 0.5.0
171
194
  - !ruby/object:Gem::Dependency
172
- name: faraday
195
+ name: thor
173
196
  requirement: !ruby/object:Gem::Requirement
197
+ none: false
174
198
  requirements:
175
199
  - - ~>
176
200
  - !ruby/object:Gem::Version
177
- version: 0.8.5
201
+ version: 0.18.0
178
202
  type: :runtime
179
203
  prerelease: false
180
204
  version_requirements: !ruby/object:Gem::Requirement
205
+ none: false
181
206
  requirements:
182
207
  - - ~>
183
208
  - !ruby/object:Gem::Version
184
- version: 0.8.5
209
+ version: 0.18.0
185
210
  - !ruby/object:Gem::Dependency
186
211
  name: aruba
187
212
  requirement: !ruby/object:Gem::Requirement
213
+ none: false
188
214
  requirements:
189
215
  - - ~>
190
216
  - !ruby/object:Gem::Version
@@ -192,6 +218,7 @@ dependencies:
192
218
  type: :development
193
219
  prerelease: false
194
220
  version_requirements: !ruby/object:Gem::Requirement
221
+ none: false
195
222
  requirements:
196
223
  - - ~>
197
224
  - !ruby/object:Gem::Version
@@ -199,6 +226,7 @@ dependencies:
199
226
  - !ruby/object:Gem::Dependency
200
227
  name: cane
201
228
  requirement: !ruby/object:Gem::Requirement
229
+ none: false
202
230
  requirements:
203
231
  - - ~>
204
232
  - !ruby/object:Gem::Version
@@ -206,6 +234,7 @@ dependencies:
206
234
  type: :development
207
235
  prerelease: false
208
236
  version_requirements: !ruby/object:Gem::Requirement
237
+ none: false
209
238
  requirements:
210
239
  - - ~>
211
240
  - !ruby/object:Gem::Version
@@ -213,6 +242,7 @@ dependencies:
213
242
  - !ruby/object:Gem::Dependency
214
243
  name: chef-zero
215
244
  requirement: !ruby/object:Gem::Requirement
245
+ none: false
216
246
  requirements:
217
247
  - - ~>
218
248
  - !ruby/object:Gem::Version
@@ -220,6 +250,7 @@ dependencies:
220
250
  type: :development
221
251
  prerelease: false
222
252
  version_requirements: !ruby/object:Gem::Requirement
253
+ none: false
223
254
  requirements:
224
255
  - - ~>
225
256
  - !ruby/object:Gem::Version
@@ -227,6 +258,7 @@ dependencies:
227
258
  - !ruby/object:Gem::Dependency
228
259
  name: fuubar
229
260
  requirement: !ruby/object:Gem::Requirement
261
+ none: false
230
262
  requirements:
231
263
  - - ~>
232
264
  - !ruby/object:Gem::Version
@@ -234,6 +266,7 @@ dependencies:
234
266
  type: :development
235
267
  prerelease: false
236
268
  version_requirements: !ruby/object:Gem::Requirement
269
+ none: false
237
270
  requirements:
238
271
  - - ~>
239
272
  - !ruby/object:Gem::Version
@@ -241,6 +274,7 @@ dependencies:
241
274
  - !ruby/object:Gem::Dependency
242
275
  name: rake
243
276
  requirement: !ruby/object:Gem::Requirement
277
+ none: false
244
278
  requirements:
245
279
  - - ~>
246
280
  - !ruby/object:Gem::Version
@@ -248,6 +282,7 @@ dependencies:
248
282
  type: :development
249
283
  prerelease: false
250
284
  version_requirements: !ruby/object:Gem::Requirement
285
+ none: false
251
286
  requirements:
252
287
  - - ~>
253
288
  - !ruby/object:Gem::Version
@@ -255,6 +290,7 @@ dependencies:
255
290
  - !ruby/object:Gem::Dependency
256
291
  name: rspec
257
292
  requirement: !ruby/object:Gem::Requirement
293
+ none: false
258
294
  requirements:
259
295
  - - ~>
260
296
  - !ruby/object:Gem::Version
@@ -262,41 +298,47 @@ dependencies:
262
298
  type: :development
263
299
  prerelease: false
264
300
  version_requirements: !ruby/object:Gem::Requirement
301
+ none: false
265
302
  requirements:
266
303
  - - ~>
267
304
  - !ruby/object:Gem::Version
268
305
  version: '2.13'
269
306
  - !ruby/object:Gem::Dependency
270
- name: simplecov
307
+ name: spork
271
308
  requirement: !ruby/object:Gem::Requirement
309
+ none: false
272
310
  requirements:
273
311
  - - ~>
274
312
  - !ruby/object:Gem::Version
275
- version: '0.7'
313
+ version: '0.9'
276
314
  type: :development
277
315
  prerelease: false
278
316
  version_requirements: !ruby/object:Gem::Requirement
317
+ none: false
279
318
  requirements:
280
319
  - - ~>
281
320
  - !ruby/object:Gem::Version
282
- version: '0.7'
321
+ version: '0.9'
283
322
  - !ruby/object:Gem::Dependency
284
- name: spork
323
+ name: test-kitchen
285
324
  requirement: !ruby/object:Gem::Requirement
325
+ none: false
286
326
  requirements:
287
- - - ~>
327
+ - - ! '>='
288
328
  - !ruby/object:Gem::Version
289
- version: '0.9'
329
+ version: 1.0.0.alpha7
290
330
  type: :development
291
331
  prerelease: false
292
332
  version_requirements: !ruby/object:Gem::Requirement
333
+ none: false
293
334
  requirements:
294
- - - ~>
335
+ - - ! '>='
295
336
  - !ruby/object:Gem::Version
296
- version: '0.9'
337
+ version: 1.0.0.alpha7
297
338
  - !ruby/object:Gem::Dependency
298
339
  name: vcr
299
340
  requirement: !ruby/object:Gem::Requirement
341
+ none: false
300
342
  requirements:
301
343
  - - ~>
302
344
  - !ruby/object:Gem::Version
@@ -304,6 +346,7 @@ dependencies:
304
346
  type: :development
305
347
  prerelease: false
306
348
  version_requirements: !ruby/object:Gem::Requirement
349
+ none: false
307
350
  requirements:
308
351
  - - ~>
309
352
  - !ruby/object:Gem::Version
@@ -311,6 +354,7 @@ dependencies:
311
354
  - !ruby/object:Gem::Dependency
312
355
  name: webmock
313
356
  requirement: !ruby/object:Gem::Requirement
357
+ none: false
314
358
  requirements:
315
359
  - - ~>
316
360
  - !ruby/object:Gem::Version
@@ -318,6 +362,7 @@ dependencies:
318
362
  type: :development
319
363
  prerelease: false
320
364
  version_requirements: !ruby/object:Gem::Requirement
365
+ none: false
321
366
  requirements:
322
367
  - - ~>
323
368
  - !ruby/object:Gem::Version
@@ -325,6 +370,7 @@ dependencies:
325
370
  - !ruby/object:Gem::Dependency
326
371
  name: yard
327
372
  requirement: !ruby/object:Gem::Requirement
373
+ none: false
328
374
  requirements:
329
375
  - - ~>
330
376
  - !ruby/object:Gem::Version
@@ -332,108 +378,11 @@ dependencies:
332
378
  type: :development
333
379
  prerelease: false
334
380
  version_requirements: !ruby/object:Gem::Requirement
381
+ none: false
335
382
  requirements:
336
383
  - - ~>
337
384
  - !ruby/object:Gem::Version
338
385
  version: '0.8'
339
- - !ruby/object:Gem::Dependency
340
- name: coolline
341
- requirement: !ruby/object:Gem::Requirement
342
- requirements:
343
- - - ~>
344
- - !ruby/object:Gem::Version
345
- version: 0.4.2
346
- type: :development
347
- prerelease: false
348
- version_requirements: !ruby/object:Gem::Requirement
349
- requirements:
350
- - - ~>
351
- - !ruby/object:Gem::Version
352
- version: 0.4.2
353
- - !ruby/object:Gem::Dependency
354
- name: guard
355
- requirement: !ruby/object:Gem::Requirement
356
- requirements:
357
- - - ~>
358
- - !ruby/object:Gem::Version
359
- version: '1.8'
360
- type: :development
361
- prerelease: false
362
- version_requirements: !ruby/object:Gem::Requirement
363
- requirements:
364
- - - ~>
365
- - !ruby/object:Gem::Version
366
- version: '1.8'
367
- - !ruby/object:Gem::Dependency
368
- name: guard-cane
369
- requirement: !ruby/object:Gem::Requirement
370
- requirements:
371
- - - '>='
372
- - !ruby/object:Gem::Version
373
- version: '0'
374
- type: :development
375
- prerelease: false
376
- version_requirements: !ruby/object:Gem::Requirement
377
- requirements:
378
- - - '>='
379
- - !ruby/object:Gem::Version
380
- version: '0'
381
- - !ruby/object:Gem::Dependency
382
- name: guard-cucumber
383
- requirement: !ruby/object:Gem::Requirement
384
- requirements:
385
- - - '>='
386
- - !ruby/object:Gem::Version
387
- version: '0'
388
- type: :development
389
- prerelease: false
390
- version_requirements: !ruby/object:Gem::Requirement
391
- requirements:
392
- - - '>='
393
- - !ruby/object:Gem::Version
394
- version: '0'
395
- - !ruby/object:Gem::Dependency
396
- name: guard-rspec
397
- requirement: !ruby/object:Gem::Requirement
398
- requirements:
399
- - - '>='
400
- - !ruby/object:Gem::Version
401
- version: '0'
402
- type: :development
403
- prerelease: false
404
- version_requirements: !ruby/object:Gem::Requirement
405
- requirements:
406
- - - '>='
407
- - !ruby/object:Gem::Version
408
- version: '0'
409
- - !ruby/object:Gem::Dependency
410
- name: guard-spork
411
- requirement: !ruby/object:Gem::Requirement
412
- requirements:
413
- - - '>='
414
- - !ruby/object:Gem::Version
415
- version: '0'
416
- type: :development
417
- prerelease: false
418
- version_requirements: !ruby/object:Gem::Requirement
419
- requirements:
420
- - - '>='
421
- - !ruby/object:Gem::Version
422
- version: '0'
423
- - !ruby/object:Gem::Dependency
424
- name: guard-yard
425
- requirement: !ruby/object:Gem::Requirement
426
- requirements:
427
- - - '>='
428
- - !ruby/object:Gem::Version
429
- version: '0'
430
- type: :development
431
- prerelease: false
432
- version_requirements: !ruby/object:Gem::Requirement
433
- requirements:
434
- - - '>='
435
- - !ruby/object:Gem::Version
436
- version: '0'
437
386
  description: Manages a Cookbook's, or an Application's, Cookbook dependencies
438
387
  email:
439
388
  - jamie@vialstudios.com
@@ -467,7 +416,6 @@ files:
467
416
  - features/configure_command.feature
468
417
  - features/contingent_command.feature
469
418
  - features/cookbook_command.feature
470
- - features/default_locations.feature
471
419
  - features/groups_install.feature
472
420
  - features/help.feature
473
421
  - features/init_command.feature
@@ -482,18 +430,20 @@ files:
482
430
  - features/shelf/show.feature
483
431
  - features/shelf/uninstall.feature
484
432
  - features/show_command.feature
485
- - features/step_definitions/berksfile_steps.rb
433
+ - features/step_definitions/chef/config_steps.rb
486
434
  - features/step_definitions/chef_server_steps.rb
487
435
  - features/step_definitions/cli_steps.rb
488
- - features/step_definitions/configure_cli_steps.rb
436
+ - features/step_definitions/config_steps.rb
437
+ - features/step_definitions/environment_steps.rb
489
438
  - features/step_definitions/filesystem_steps.rb
490
439
  - features/step_definitions/gem_steps.rb
491
440
  - features/step_definitions/json_steps.rb
441
+ - features/step_definitions/lockfile_steps.rb
492
442
  - features/step_definitions/utility_steps.rb
443
+ - features/support/aruba.rb
493
444
  - features/support/env.rb
494
445
  - features/update_command.feature
495
446
  - features/upload_command.feature
496
- - features/vendor_install.feature
497
447
  - generator_files/Berksfile.erb
498
448
  - generator_files/Gemfile.erb
499
449
  - generator_files/README.md.erb
@@ -511,6 +461,8 @@ files:
511
461
  - generator_files/licenses/reserved.erb
512
462
  - generator_files/metadata.rb.erb
513
463
  - lib/berkshelf.rb
464
+ - lib/berkshelf/api_client.rb
465
+ - lib/berkshelf/api_client/remote_cookbook.rb
514
466
  - lib/berkshelf/base_generator.rb
515
467
  - lib/berkshelf/berksfile.rb
516
468
  - lib/berkshelf/cached_cookbook.rb
@@ -524,15 +476,13 @@ files:
524
476
  - lib/berkshelf/community_rest.rb
525
477
  - lib/berkshelf/config.rb
526
478
  - lib/berkshelf/cookbook_generator.rb
527
- - lib/berkshelf/cookbook_source.rb
528
479
  - lib/berkshelf/cookbook_store.rb
529
480
  - lib/berkshelf/core_ext.rb
530
481
  - lib/berkshelf/core_ext/file.rb
531
482
  - lib/berkshelf/core_ext/file_utils.rb
532
- - lib/berkshelf/core_ext/openuri.rb
533
483
  - lib/berkshelf/core_ext/pathname.rb
534
- - lib/berkshelf/core_ext/rbzip2.rb
535
484
  - lib/berkshelf/core_ext/string.rb
485
+ - lib/berkshelf/dependency.rb
536
486
  - lib/berkshelf/downloader.rb
537
487
  - lib/berkshelf/errors.rb
538
488
  - lib/berkshelf/formatters.rb
@@ -541,12 +491,11 @@ files:
541
491
  - lib/berkshelf/formatters/null.rb
542
492
  - lib/berkshelf/git.rb
543
493
  - lib/berkshelf/init_generator.rb
494
+ - lib/berkshelf/installer.rb
544
495
  - lib/berkshelf/location.rb
545
- - lib/berkshelf/locations/chef_api_location.rb
546
496
  - lib/berkshelf/locations/git_location.rb
547
497
  - lib/berkshelf/locations/github_location.rb
548
498
  - lib/berkshelf/locations/path_location.rb
549
- - lib/berkshelf/locations/site_location.rb
550
499
  - lib/berkshelf/lockfile.rb
551
500
  - lib/berkshelf/logger.rb
552
501
  - lib/berkshelf/mixin.rb
@@ -554,7 +503,9 @@ files:
554
503
  - lib/berkshelf/mixin/dsl_eval.rb
555
504
  - lib/berkshelf/mixin/logging.rb
556
505
  - lib/berkshelf/resolver.rb
557
- - lib/berkshelf/test.rb
506
+ - lib/berkshelf/resolver/graph.rb
507
+ - lib/berkshelf/source.rb
508
+ - lib/berkshelf/source_uri.rb
558
509
  - lib/berkshelf/thor.rb
559
510
  - lib/berkshelf/thor_ext.rb
560
511
  - lib/berkshelf/thor_ext/hash_with_indifferent_access.rb
@@ -577,6 +528,7 @@ files:
577
528
  - spec/fixtures/cassettes/Berkshelf_CommunityREST/_versions/raises_a_CommunitySiteError_error_on_any_non_200_or_404_response.json
578
529
  - spec/fixtures/cassettes/Berkshelf_CommunityREST/_versions/raises_a_CookbookNotFound_error_on_a_404_response.json
579
530
  - spec/fixtures/cassettes/Berkshelf_CommunityREST/_versions/returns_an_array_containing_an_item_for_each_version.json
531
+ - spec/fixtures/cassettes/Berkshelf_Resolver/_initialize/adds_the_dependencies_of_the_dependency_as_dependencies.yml
580
532
  - spec/fixtures/cassettes/Berkshelf_Resolver/_initialize/adds_the_dependencies_of_the_source_as_sources.yml
581
533
  - spec/fixtures/cookbooks/example_cookbook-0.5.0/README.md
582
534
  - spec/fixtures/cookbooks/example_cookbook-0.5.0/metadata.rb
@@ -607,66 +559,70 @@ files:
607
559
  - spec/fixtures/lockfile_spec/without_lock/.gitkeep
608
560
  - spec/fixtures/lockfiles/default.lock
609
561
  - spec/fixtures/reset.pem
610
- - spec/knife.rb.sample
611
562
  - spec/spec_helper.rb
612
563
  - spec/support/chef_api.rb
613
564
  - spec/support/chef_server.rb
565
+ - spec/support/git.rb
566
+ - spec/support/kitchen.rb
614
567
  - spec/support/matchers/file_system_matchers.rb
615
568
  - spec/support/matchers/filepath_matchers.rb
616
- - spec/support/test_generators.rb
569
+ - spec/support/path_helpers.rb
570
+ - spec/unit/berkshelf/api_client/remote_cookbook_spec.rb
571
+ - spec/unit/berkshelf/api_client_spec.rb
617
572
  - spec/unit/berkshelf/berksfile_spec.rb
618
573
  - spec/unit/berkshelf/cached_cookbook_spec.rb
619
574
  - spec/unit/berkshelf/chef/cookbook/chefignore_spec.rb
620
- - spec/unit/berkshelf/cli_spec.rb
621
575
  - spec/unit/berkshelf/community_rest_spec.rb
622
576
  - spec/unit/berkshelf/config_spec.rb
623
577
  - spec/unit/berkshelf/cookbook_generator_spec.rb
624
- - spec/unit/berkshelf/cookbook_source_spec.rb
625
578
  - spec/unit/berkshelf/cookbook_store_spec.rb
626
579
  - spec/unit/berkshelf/core_ext/file_utils_spec.rb
627
- - spec/unit/berkshelf/core_ext/pathname_spec.rb
580
+ - spec/unit/berkshelf/dependency_spec.rb
628
581
  - spec/unit/berkshelf/downloader_spec.rb
629
582
  - spec/unit/berkshelf/errors_spec.rb
630
583
  - spec/unit/berkshelf/formatters/null_spec.rb
631
584
  - spec/unit/berkshelf/formatters_spec.rb
632
585
  - spec/unit/berkshelf/git_spec.rb
633
586
  - spec/unit/berkshelf/init_generator_spec.rb
587
+ - spec/unit/berkshelf/installer_spec.rb
634
588
  - spec/unit/berkshelf/location_spec.rb
635
- - spec/unit/berkshelf/locations/chef_api_location_spec.rb
636
589
  - spec/unit/berkshelf/locations/git_location_spec.rb
637
590
  - spec/unit/berkshelf/locations/path_location_spec.rb
638
- - spec/unit/berkshelf/locations/site_location_spec.rb
639
591
  - spec/unit/berkshelf/lockfile_spec.rb
640
592
  - spec/unit/berkshelf/logger_spec.rb
641
593
  - spec/unit/berkshelf/mixin/dsl_eval_spec.rb
642
594
  - spec/unit/berkshelf/mixin/logging_spec.rb
595
+ - spec/unit/berkshelf/resolver/graph_spec.rb
643
596
  - spec/unit/berkshelf/resolver_spec.rb
597
+ - spec/unit/berkshelf/source_spec.rb
598
+ - spec/unit/berkshelf/source_uri_spec.rb
644
599
  - spec/unit/berkshelf/ui_spec.rb
645
600
  - spec/unit/berkshelf_spec.rb
646
601
  - spec/unit/chef/config_spec.rb
647
602
  homepage: http://berkshelf.com
648
603
  licenses:
649
604
  - Apache 2.0
650
- metadata: {}
651
605
  post_install_message:
652
606
  rdoc_options: []
653
607
  require_paths:
654
608
  - lib
655
609
  required_ruby_version: !ruby/object:Gem::Requirement
610
+ none: false
656
611
  requirements:
657
- - - '>='
612
+ - - ! '>='
658
613
  - !ruby/object:Gem::Version
659
- version: 1.9.1
614
+ version: 1.9.2
660
615
  required_rubygems_version: !ruby/object:Gem::Requirement
616
+ none: false
661
617
  requirements:
662
- - - '>='
618
+ - - ! '>='
663
619
  - !ruby/object:Gem::Version
664
620
  version: 1.8.0
665
621
  requirements: []
666
622
  rubyforge_project:
667
- rubygems_version: 2.0.7
623
+ rubygems_version: 1.8.23
668
624
  signing_key:
669
- specification_version: 4
625
+ specification_version: 3
670
626
  summary: Manages a Cookbook's, or an Application's, Cookbook dependencies
671
627
  test_files:
672
628
  - features/apply_command.feature
@@ -675,7 +631,6 @@ test_files:
675
631
  - features/configure_command.feature
676
632
  - features/contingent_command.feature
677
633
  - features/cookbook_command.feature
678
- - features/default_locations.feature
679
634
  - features/groups_install.feature
680
635
  - features/help.feature
681
636
  - features/init_command.feature
@@ -690,18 +645,20 @@ test_files:
690
645
  - features/shelf/show.feature
691
646
  - features/shelf/uninstall.feature
692
647
  - features/show_command.feature
693
- - features/step_definitions/berksfile_steps.rb
648
+ - features/step_definitions/chef/config_steps.rb
694
649
  - features/step_definitions/chef_server_steps.rb
695
650
  - features/step_definitions/cli_steps.rb
696
- - features/step_definitions/configure_cli_steps.rb
651
+ - features/step_definitions/config_steps.rb
652
+ - features/step_definitions/environment_steps.rb
697
653
  - features/step_definitions/filesystem_steps.rb
698
654
  - features/step_definitions/gem_steps.rb
699
655
  - features/step_definitions/json_steps.rb
656
+ - features/step_definitions/lockfile_steps.rb
700
657
  - features/step_definitions/utility_steps.rb
658
+ - features/support/aruba.rb
701
659
  - features/support/env.rb
702
660
  - features/update_command.feature
703
661
  - features/upload_command.feature
704
- - features/vendor_install.feature
705
662
  - spec/config/berkshelf.pem
706
663
  - spec/config/knife.rb
707
664
  - spec/config/validator.pem
@@ -718,6 +675,7 @@ test_files:
718
675
  - spec/fixtures/cassettes/Berkshelf_CommunityREST/_versions/raises_a_CommunitySiteError_error_on_any_non_200_or_404_response.json
719
676
  - spec/fixtures/cassettes/Berkshelf_CommunityREST/_versions/raises_a_CookbookNotFound_error_on_a_404_response.json
720
677
  - spec/fixtures/cassettes/Berkshelf_CommunityREST/_versions/returns_an_array_containing_an_item_for_each_version.json
678
+ - spec/fixtures/cassettes/Berkshelf_Resolver/_initialize/adds_the_dependencies_of_the_dependency_as_dependencies.yml
721
679
  - spec/fixtures/cassettes/Berkshelf_Resolver/_initialize/adds_the_dependencies_of_the_source_as_sources.yml
722
680
  - spec/fixtures/cookbooks/example_cookbook-0.5.0/README.md
723
681
  - spec/fixtures/cookbooks/example_cookbook-0.5.0/metadata.rb
@@ -748,40 +706,43 @@ test_files:
748
706
  - spec/fixtures/lockfile_spec/without_lock/.gitkeep
749
707
  - spec/fixtures/lockfiles/default.lock
750
708
  - spec/fixtures/reset.pem
751
- - spec/knife.rb.sample
752
709
  - spec/spec_helper.rb
753
710
  - spec/support/chef_api.rb
754
711
  - spec/support/chef_server.rb
712
+ - spec/support/git.rb
713
+ - spec/support/kitchen.rb
755
714
  - spec/support/matchers/file_system_matchers.rb
756
715
  - spec/support/matchers/filepath_matchers.rb
757
- - spec/support/test_generators.rb
716
+ - spec/support/path_helpers.rb
717
+ - spec/unit/berkshelf/api_client/remote_cookbook_spec.rb
718
+ - spec/unit/berkshelf/api_client_spec.rb
758
719
  - spec/unit/berkshelf/berksfile_spec.rb
759
720
  - spec/unit/berkshelf/cached_cookbook_spec.rb
760
721
  - spec/unit/berkshelf/chef/cookbook/chefignore_spec.rb
761
- - spec/unit/berkshelf/cli_spec.rb
762
722
  - spec/unit/berkshelf/community_rest_spec.rb
763
723
  - spec/unit/berkshelf/config_spec.rb
764
724
  - spec/unit/berkshelf/cookbook_generator_spec.rb
765
- - spec/unit/berkshelf/cookbook_source_spec.rb
766
725
  - spec/unit/berkshelf/cookbook_store_spec.rb
767
726
  - spec/unit/berkshelf/core_ext/file_utils_spec.rb
768
- - spec/unit/berkshelf/core_ext/pathname_spec.rb
727
+ - spec/unit/berkshelf/dependency_spec.rb
769
728
  - spec/unit/berkshelf/downloader_spec.rb
770
729
  - spec/unit/berkshelf/errors_spec.rb
771
730
  - spec/unit/berkshelf/formatters/null_spec.rb
772
731
  - spec/unit/berkshelf/formatters_spec.rb
773
732
  - spec/unit/berkshelf/git_spec.rb
774
733
  - spec/unit/berkshelf/init_generator_spec.rb
734
+ - spec/unit/berkshelf/installer_spec.rb
775
735
  - spec/unit/berkshelf/location_spec.rb
776
- - spec/unit/berkshelf/locations/chef_api_location_spec.rb
777
736
  - spec/unit/berkshelf/locations/git_location_spec.rb
778
737
  - spec/unit/berkshelf/locations/path_location_spec.rb
779
- - spec/unit/berkshelf/locations/site_location_spec.rb
780
738
  - spec/unit/berkshelf/lockfile_spec.rb
781
739
  - spec/unit/berkshelf/logger_spec.rb
782
740
  - spec/unit/berkshelf/mixin/dsl_eval_spec.rb
783
741
  - spec/unit/berkshelf/mixin/logging_spec.rb
742
+ - spec/unit/berkshelf/resolver/graph_spec.rb
784
743
  - spec/unit/berkshelf/resolver_spec.rb
744
+ - spec/unit/berkshelf/source_spec.rb
745
+ - spec/unit/berkshelf/source_uri_spec.rb
785
746
  - spec/unit/berkshelf/ui_spec.rb
786
747
  - spec/unit/berkshelf_spec.rb
787
748
  - spec/unit/chef/config_spec.rb