berkshelf 2.0.18 → 3.0.0.beta1

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.
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