bundler 1.1.pre.4 → 1.1.pre.5

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of bundler might be problematic. Click here for more details.

Files changed (65) hide show
  1. data/.travis.yml +1 -0
  2. data/CHANGELOG.md +51 -2
  3. data/ISSUES.md +25 -11
  4. data/README.md +3 -3
  5. data/Rakefile +44 -48
  6. data/lib/bundler.rb +21 -20
  7. data/lib/bundler/cli.rb +46 -11
  8. data/lib/bundler/definition.rb +6 -4
  9. data/lib/bundler/dependency.rb +5 -0
  10. data/lib/bundler/dsl.rb +1 -7
  11. data/lib/bundler/endpoint_specification.rb +22 -0
  12. data/lib/bundler/fetcher.rb +76 -22
  13. data/lib/bundler/gem_helper.rb +2 -7
  14. data/lib/bundler/gem_tasks.rb +2 -0
  15. data/lib/bundler/index.rb +48 -41
  16. data/lib/bundler/installer.rb +5 -0
  17. data/lib/bundler/lazy_specification.rb +7 -6
  18. data/lib/bundler/resolver.rb +1 -1
  19. data/lib/bundler/rubygems_ext.rb +1 -1
  20. data/lib/bundler/rubygems_integration.rb +69 -31
  21. data/lib/bundler/runtime.rb +2 -2
  22. data/lib/bundler/setup.rb +3 -0
  23. data/lib/bundler/shared_helpers.rb +2 -2
  24. data/lib/bundler/source.rb +48 -46
  25. data/lib/bundler/spec_set.rb +1 -0
  26. data/lib/bundler/templates/newgem/Gemfile.tt +1 -1
  27. data/lib/bundler/templates/newgem/Rakefile.tt +2 -2
  28. data/lib/bundler/templates/newgem/bin/newgem.tt +1 -1
  29. data/lib/bundler/templates/newgem/gitignore.tt +14 -1
  30. data/lib/bundler/templates/newgem/lib/newgem.rb.tt +2 -0
  31. data/lib/bundler/templates/newgem/newgem.gemspec.tt +13 -17
  32. data/lib/bundler/ui.rb +29 -15
  33. data/lib/bundler/vendor/net/http/persistent.rb +4 -0
  34. data/lib/bundler/vendored_thor.rb +7 -0
  35. data/lib/bundler/version.rb +1 -1
  36. data/man/bundle-install.ronn +7 -0
  37. data/man/bundle.ronn +6 -0
  38. data/man/gemfile.5.ronn +2 -0
  39. data/spec/cache/gems_spec.rb +11 -0
  40. data/spec/install/deploy_spec.rb +1 -1
  41. data/spec/install/gems/dependency_api_spec.rb +62 -7
  42. data/spec/install/gems/groups_spec.rb +3 -3
  43. data/spec/install/gems/post_install_spec.rb +47 -0
  44. data/spec/install/gems/sudo_spec.rb +3 -2
  45. data/spec/install/git_spec.rb +1 -2
  46. data/spec/install/path_spec.rb +1 -1
  47. data/spec/lock/lockfile_spec.rb +1 -1
  48. data/spec/other/check_spec.rb +30 -6
  49. data/spec/other/exec_spec.rb +4 -33
  50. data/spec/other/init_spec.rb +3 -3
  51. data/spec/other/newgem_spec.rb +5 -1
  52. data/spec/other/outdated_spec.rb +36 -6
  53. data/spec/quality_spec.rb +5 -1
  54. data/spec/runtime/require_spec.rb +10 -10
  55. data/spec/runtime/setup_spec.rb +31 -8
  56. data/spec/spec_helper.rb +1 -5
  57. data/spec/support/artifice/endpoint.rb +4 -0
  58. data/spec/support/artifice/endpoint_basic_authentication.rb +13 -0
  59. data/spec/support/artifice/endpoint_fallback.rb +0 -4
  60. data/spec/support/artifice/endpoint_redirect.rb +4 -0
  61. data/spec/support/builders.rb +6 -1
  62. data/spec/support/matchers.rb +1 -1
  63. data/spec/support/rubygems_ext.rb +4 -3
  64. data/spec/update/git_spec.rb +2 -2
  65. metadata +55 -143
@@ -45,6 +45,10 @@ class Endpoint < Sinatra::Base
45
45
  get "/api/v1/dependencies" do
46
46
  Marshal.dump(dependencies_for(params[:gems]))
47
47
  end
48
+
49
+ get "/specs.4.8.gz" do
50
+ File.read("#{gem_repo1}/specs.4.8.gz")
51
+ end
48
52
  end
49
53
 
50
54
  Artifice.activate_with(Endpoint)
@@ -0,0 +1,13 @@
1
+ require File.expand_path("../endpoint", __FILE__)
2
+
3
+ Artifice.deactivate
4
+
5
+ class EndpointBasicAuthentication < Endpoint
6
+ before do
7
+ unless env["HTTP_AUTHORIZATION"]
8
+ halt 401, "Authentication info not supplied"
9
+ end
10
+ end
11
+ end
12
+
13
+ Artifice.activate_with(EndpointBasicAuthentication)
@@ -5,10 +5,6 @@ Artifice.deactivate
5
5
  class EndpointFallback < Endpoint
6
6
  DEPENDENCY_LIMIT = 60
7
7
 
8
- get "/specs.4.8.gz" do
9
- File.read("#{gem_repo1}/specs.4.8.gz")
10
- end
11
-
12
8
  get "/api/v1/dependencies" do
13
9
  if params[:gems].size <= DEPENDENCY_LIMIT
14
10
  Marshal.dump(dependencies_for(params[:gems]))
@@ -6,6 +6,10 @@ class EndpointRedirect < Endpoint
6
6
  get "/fetch/actual/gem/:id" do
7
7
  redirect "/fetch/actual/gem/#{params[:id]}"
8
8
  end
9
+
10
+ get "/api/v1/dependencies" do
11
+ status 404
12
+ end
9
13
  end
10
14
 
11
15
  Artifice.activate_with(EndpointRedirect)
@@ -16,14 +16,17 @@ module Spec
16
16
  build_repo gem_repo1 do
17
17
  build_gem "rack", %w(0.9.1 1.0.0) do |s|
18
18
  s.executables = "rackup"
19
+ s.post_install_message = "Rack's post install message"
19
20
  end
20
21
 
21
22
  build_gem "thin" do |s|
22
23
  s.add_dependency "rack"
24
+ s.post_install_message = "Thin's post install message"
23
25
  end
24
26
 
25
27
  build_gem "rack-obama" do |s|
26
28
  s.add_dependency "rack"
29
+ s.post_install_message = "Rack-obama's post install message"
27
30
  end
28
31
 
29
32
  build_gem "rack_middleware", "1.0" do |s|
@@ -32,7 +35,7 @@ module Spec
32
35
 
33
36
  build_gem "rails", "2.3.2" do |s|
34
37
  s.executables = "rails"
35
- s.add_dependency "rake"
38
+ s.add_dependency "rake", "0.8.7"
36
39
  s.add_dependency "actionpack", "2.3.2"
37
40
  s.add_dependency "activerecord", "2.3.2"
38
41
  s.add_dependency "actionmailer", "2.3.2"
@@ -484,6 +487,8 @@ module Spec
484
487
  Dir.chdir(path) do
485
488
  `git init`
486
489
  `git add *`
490
+ `git config user.email "lol@wut.com"`
491
+ `git config user.name "lolwut"`
487
492
  `git commit -m 'OMG INITIAL COMMIT'`
488
493
  end
489
494
  end
@@ -35,7 +35,7 @@ module Spec
35
35
  version_const = name == 'bundler' ? 'Bundler::VERSION' : Spec::Builders.constantize(name)
36
36
  run "require '#{name}.rb'; puts #{version_const}", *groups
37
37
  actual_version, actual_platform = out.split(/\s+/)
38
- check Gem::Version.new(actual_version).should == Gem::Version.new(version)
38
+ Gem::Version.new(actual_version).should eq(Gem::Version.new(version))
39
39
  actual_platform.should == platform
40
40
  end
41
41
  end
@@ -11,10 +11,11 @@ module Spec
11
11
 
12
12
  unless File.exist?("#{Path.base_system_gems}")
13
13
  FileUtils.mkdir_p(Path.base_system_gems)
14
- puts "running `gem install rake fakeweb artifice sinatra --no-rdoc --no-ri`"
15
- `gem install rake fakeweb artifice sinatra --no-rdoc --no-ri`
14
+ puts "fetching fakeweb, artifice, sinatra, rake, and builder for the tests to use..."
15
+ `gem install fakeweb artifice sinatra --no-rdoc --no-ri`
16
+ # Rake version has to be consistent for tests to pass
17
+ `gem install rake --version 0.8.7 --no-rdoc --no-ri`
16
18
  # 3.0.0 breaks 1.9.2 specs
17
- puts "running `gem install builder --version 2.1.2 --no-rdoc --no-ri`"
18
19
  `gem install builder --version 2.1.2 --no-rdoc --no-ri`
19
20
  end
20
21
 
@@ -145,7 +145,7 @@ describe "bundle update" do
145
145
  G
146
146
 
147
147
  run "require 'submodule'"
148
- check out.should == 'GEM'
148
+ out.should eq('GEM')
149
149
 
150
150
  install_gemfile <<-G
151
151
  git "#{lib_path('has_submodule-1.0')}", :submodules => true do
@@ -166,7 +166,7 @@ describe "bundle update" do
166
166
  G
167
167
 
168
168
  run "require 'submodule'"
169
- check out.should == 'GIT'
169
+ out.should eq('GIT')
170
170
 
171
171
  install_gemfile <<-G
172
172
  git "#{lib_path('has_submodule-1.0')}" do
metadata CHANGED
@@ -1,66 +1,51 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: bundler
3
- version: !ruby/object:Gem::Version
4
- hash: 1923831881
5
- prerelease: true
6
- segments:
7
- - 1
8
- - 1
9
- - pre
10
- - 4
11
- version: 1.1.pre.4
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.pre.5
5
+ prerelease: 4
12
6
  platform: ruby
13
- authors:
14
- - "Andr\xC3\xA9 Arko"
7
+ authors:
8
+ - André Arko
15
9
  - Terence Lee
16
10
  - Carl Lerche
17
11
  - Yehuda Katz
18
12
  autorequire:
19
13
  bindir: bin
20
14
  cert_chain: []
21
-
22
- date: 2011-05-05 00:00:00 -07:00
15
+ date: 2011-06-11 00:00:00.000000000 -05:00
23
16
  default_executable:
24
- dependencies:
25
- - !ruby/object:Gem::Dependency
17
+ dependencies:
18
+ - !ruby/object:Gem::Dependency
26
19
  name: ronn
27
- prerelease: false
28
- requirement: &id001 !ruby/object:Gem::Requirement
20
+ requirement: &19160300 !ruby/object:Gem::Requirement
29
21
  none: false
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- hash: 3
34
- segments:
35
- - 0
36
- version: "0"
22
+ requirements:
23
+ - - ! '>='
24
+ - !ruby/object:Gem::Version
25
+ version: '0'
37
26
  type: :development
38
- version_requirements: *id001
39
- - !ruby/object:Gem::Dependency
40
- name: rspec
41
27
  prerelease: false
42
- requirement: &id002 !ruby/object:Gem::Requirement
28
+ version_requirements: *19160300
29
+ - !ruby/object:Gem::Dependency
30
+ name: rspec
31
+ requirement: &19192600 !ruby/object:Gem::Requirement
43
32
  none: false
44
- requirements:
33
+ requirements:
45
34
  - - ~>
46
- - !ruby/object:Gem::Version
47
- hash: 3
48
- segments:
49
- - 2
50
- - 0
51
- version: "2.0"
35
+ - !ruby/object:Gem::Version
36
+ version: '2.0'
52
37
  type: :development
53
- version_requirements: *id002
54
- description: Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably
55
- email:
38
+ prerelease: false
39
+ version_requirements: *19192600
40
+ description: Bundler manages an application's dependencies through its entire life,
41
+ across many machines, systematically and repeatably
42
+ email:
56
43
  - andre@arko.net
57
- executables:
44
+ executables:
58
45
  - bundle
59
46
  extensions: []
60
-
61
47
  extra_rdoc_files: []
62
-
63
- files:
48
+ files:
64
49
  - .gitignore
65
50
  - .travis.yml
66
51
  - CHANGELOG.md
@@ -78,9 +63,11 @@ files:
78
63
  - lib/bundler/dependency.rb
79
64
  - lib/bundler/deployment.rb
80
65
  - lib/bundler/dsl.rb
66
+ - lib/bundler/endpoint_specification.rb
81
67
  - lib/bundler/environment.rb
82
68
  - lib/bundler/fetcher.rb
83
69
  - lib/bundler/gem_helper.rb
70
+ - lib/bundler/gem_tasks.rb
84
71
  - lib/bundler/graph.rb
85
72
  - lib/bundler/index.rb
86
73
  - lib/bundler/installer.rb
@@ -133,6 +120,7 @@ files:
133
120
  - lib/bundler/vendor/thor/task.rb
134
121
  - lib/bundler/vendor/thor/util.rb
135
122
  - lib/bundler/vendor/thor/version.rb
123
+ - lib/bundler/vendored_thor.rb
136
124
  - lib/bundler/version.rb
137
125
  - lib/bundler/vlad.rb
138
126
  - man/bundle-config.ronn
@@ -157,6 +145,7 @@ files:
157
145
  - spec/install/gems/groups_spec.rb
158
146
  - spec/install/gems/packed_spec.rb
159
147
  - spec/install/gems/platform_spec.rb
148
+ - spec/install/gems/post_install_spec.rb
160
149
  - spec/install/gems/resolving_spec.rb
161
150
  - spec/install/gems/simple_case_spec.rb
162
151
  - spec/install/gems/standalone_spec.rb
@@ -194,6 +183,7 @@ files:
194
183
  - spec/runtime/with_clean_env_spec.rb
195
184
  - spec/spec_helper.rb
196
185
  - spec/support/artifice/endpoint.rb
186
+ - spec/support/artifice/endpoint_basic_authentication.rb
197
187
  - spec/support/artifice/endpoint_fallback.rb
198
188
  - spec/support/artifice/endpoint_marshal_fail.rb
199
189
  - spec/support/artifice/endpoint_redirect.rb
@@ -212,123 +202,45 @@ files:
212
202
  - spec/update/gems_spec.rb
213
203
  - spec/update/git_spec.rb
214
204
  - spec/update/source_spec.rb
215
- - lib/bundler/man/bundle
216
- - lib/bundler/man/bundle-config
217
- - lib/bundler/man/bundle-config.txt
218
205
  - lib/bundler/man/bundle-exec
219
- - lib/bundler/man/bundle-exec.txt
206
+ - lib/bundler/man/bundle
220
207
  - lib/bundler/man/bundle-install
221
- - lib/bundler/man/bundle-install.txt
208
+ - lib/bundler/man/gemfile.5
209
+ - lib/bundler/man/bundle-benchmark
222
210
  - lib/bundler/man/bundle-package
223
- - lib/bundler/man/bundle-package.txt
224
211
  - lib/bundler/man/bundle-update
212
+ - lib/bundler/man/bundle-exec.txt
213
+ - lib/bundler/man/gemfile.5.txt
225
214
  - lib/bundler/man/bundle-update.txt
215
+ - lib/bundler/man/bundle-config
216
+ - lib/bundler/man/bundle-config.txt
217
+ - lib/bundler/man/bundle-benchmark.txt
226
218
  - lib/bundler/man/bundle.txt
227
- - lib/bundler/man/gemfile.5
228
- - lib/bundler/man/gemfile.5.txt
219
+ - lib/bundler/man/bundle-package.txt
220
+ - lib/bundler/man/bundle-install.txt
229
221
  has_rdoc: true
230
222
  homepage: http://gembundler.com
231
223
  licenses: []
232
-
233
224
  post_install_message:
234
225
  rdoc_options: []
235
-
236
- require_paths:
226
+ require_paths:
237
227
  - lib
238
- required_ruby_version: !ruby/object:Gem::Requirement
228
+ required_ruby_version: !ruby/object:Gem::Requirement
239
229
  none: false
240
- requirements:
241
- - - ">="
242
- - !ruby/object:Gem::Version
243
- hash: 3
244
- segments:
245
- - 0
246
- version: "0"
247
- required_rubygems_version: !ruby/object:Gem::Requirement
230
+ requirements:
231
+ - - ! '>='
232
+ - !ruby/object:Gem::Version
233
+ version: '0'
234
+ required_rubygems_version: !ruby/object:Gem::Requirement
248
235
  none: false
249
- requirements:
250
- - - ">="
251
- - !ruby/object:Gem::Version
252
- hash: 23
253
- segments:
254
- - 1
255
- - 3
256
- - 6
236
+ requirements:
237
+ - - ! '>='
238
+ - !ruby/object:Gem::Version
257
239
  version: 1.3.6
258
240
  requirements: []
259
-
260
241
  rubyforge_project: bundler
261
- rubygems_version: 1.3.7
242
+ rubygems_version: 1.6.2
262
243
  signing_key:
263
244
  specification_version: 3
264
245
  summary: The best way to manage your application's dependencies
265
- test_files:
266
- - spec/bundler/source_spec.rb
267
- - spec/cache/gems_spec.rb
268
- - spec/cache/git_spec.rb
269
- - spec/cache/path_spec.rb
270
- - spec/cache/platform_spec.rb
271
- - spec/install/deploy_spec.rb
272
- - spec/install/deprecated_spec.rb
273
- - spec/install/gems/c_ext_spec.rb
274
- - spec/install/gems/dependency_api_spec.rb
275
- - spec/install/gems/env_spec.rb
276
- - spec/install/gems/flex_spec.rb
277
- - spec/install/gems/groups_spec.rb
278
- - spec/install/gems/packed_spec.rb
279
- - spec/install/gems/platform_spec.rb
280
- - spec/install/gems/resolving_spec.rb
281
- - spec/install/gems/simple_case_spec.rb
282
- - spec/install/gems/standalone_spec.rb
283
- - spec/install/gems/sudo_spec.rb
284
- - spec/install/gems/win32_spec.rb
285
- - spec/install/gemspec_spec.rb
286
- - spec/install/git_spec.rb
287
- - spec/install/invalid_spec.rb
288
- - spec/install/path_spec.rb
289
- - spec/install/upgrade_spec.rb
290
- - spec/lock/git_spec.rb
291
- - spec/lock/lockfile_spec.rb
292
- - spec/other/check_spec.rb
293
- - spec/other/clean_spec.rb
294
- - spec/other/config_spec.rb
295
- - spec/other/console_spec.rb
296
- - spec/other/exec_spec.rb
297
- - spec/other/ext_spec.rb
298
- - spec/other/gem_helper_spec.rb
299
- - spec/other/help_spec.rb
300
- - spec/other/init_spec.rb
301
- - spec/other/newgem_spec.rb
302
- - spec/other/open_spec.rb
303
- - spec/other/outdated_spec.rb
304
- - spec/other/show_spec.rb
305
- - spec/pack/gems_spec.rb
306
- - spec/quality_spec.rb
307
- - spec/resolver/basic_spec.rb
308
- - spec/resolver/platform_spec.rb
309
- - spec/runtime/executable_spec.rb
310
- - spec/runtime/load_spec.rb
311
- - spec/runtime/platform_spec.rb
312
- - spec/runtime/require_spec.rb
313
- - spec/runtime/setup_spec.rb
314
- - spec/runtime/with_clean_env_spec.rb
315
- - spec/spec_helper.rb
316
- - spec/support/artifice/endpoint.rb
317
- - spec/support/artifice/endpoint_fallback.rb
318
- - spec/support/artifice/endpoint_marshal_fail.rb
319
- - spec/support/artifice/endpoint_redirect.rb
320
- - spec/support/builders.rb
321
- - spec/support/fakeweb/rack-1.0.0.marshal
322
- - spec/support/fakeweb/windows.rb
323
- - spec/support/helpers.rb
324
- - spec/support/indexes.rb
325
- - spec/support/matchers.rb
326
- - spec/support/path.rb
327
- - spec/support/platforms.rb
328
- - spec/support/ruby_ext.rb
329
- - spec/support/rubygems_ext.rb
330
- - spec/support/rubygems_hax/platform.rb
331
- - spec/support/sudo.rb
332
- - spec/update/gems_spec.rb
333
- - spec/update/git_spec.rb
334
- - spec/update/source_spec.rb
246
+ test_files: []