bundler 1.4.0.pre.1 → 1.4.0.pre.2

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 (63) hide show
  1. data/.travis.yml +18 -7
  2. data/CHANGELOG.md +15 -0
  3. data/CONTRIBUTING.md +8 -0
  4. data/DEVELOPMENT.md +27 -25
  5. data/ISSUES.md +33 -20
  6. data/README.md +6 -4
  7. data/Rakefile +1 -1
  8. data/UPGRADING.md +1 -1
  9. data/bin/bundle +1 -1
  10. data/bin/bundler +10 -0
  11. data/bundler.gemspec +2 -2
  12. data/lib/bundler/capistrano.rb +4 -0
  13. data/lib/bundler/cli.rb +7 -0
  14. data/lib/bundler/current_ruby.rb +9 -1
  15. data/lib/bundler/definition.rb +2 -0
  16. data/lib/bundler/dependency.rb +3 -1
  17. data/lib/bundler/dsl.rb +1 -1
  18. data/lib/bundler/fetcher.rb +1 -1
  19. data/lib/bundler/friendly_errors.rb +5 -0
  20. data/lib/bundler/gem_helpers.rb +7 -6
  21. data/lib/bundler/installer.rb +27 -20
  22. data/lib/bundler/parallel_workers/unix_worker.rb +2 -2
  23. data/lib/bundler/ruby_dsl.rb +1 -1
  24. data/lib/bundler/ruby_version.rb +12 -3
  25. data/lib/bundler/rubygems_ext.rb +1 -0
  26. data/lib/bundler/rubygems_integration.rb +1 -1
  27. data/lib/bundler/runtime.rb +2 -1
  28. data/lib/bundler/shared_helpers.rb +13 -0
  29. data/lib/bundler/source/git.rb +3 -3
  30. data/lib/bundler/source/git/git_proxy.rb +1 -1
  31. data/lib/bundler/source/path.rb +1 -2
  32. data/lib/bundler/source/rubygems.rb +3 -5
  33. data/lib/bundler/version.rb +1 -1
  34. data/man/bundle.ronn +1 -1
  35. data/man/gemfile.5.ronn +6 -2
  36. data/spec/bundler/dsl_spec.rb +2 -2
  37. data/spec/bundler/friendly_errors_spec.rb +13 -0
  38. data/spec/{other → commands}/binstubs_spec.rb +0 -0
  39. data/spec/{other → commands}/check_spec.rb +0 -0
  40. data/spec/{other → commands}/clean_spec.rb +0 -0
  41. data/spec/{other → commands}/config_spec.rb +0 -0
  42. data/spec/{other → commands}/console_spec.rb +0 -0
  43. data/spec/{other → commands}/exec_spec.rb +0 -0
  44. data/spec/{other → commands}/help_spec.rb +0 -0
  45. data/spec/{other → commands}/init_spec.rb +0 -0
  46. data/spec/{other → commands}/licenses_spec.rb +0 -0
  47. data/spec/{other → commands}/newgem_spec.rb +0 -0
  48. data/spec/{other → commands}/open_spec.rb +0 -0
  49. data/spec/{other → commands}/outdated_spec.rb +0 -0
  50. data/spec/{other → commands}/show_spec.rb +0 -0
  51. data/spec/install/gems/dependency_api_spec.rb +14 -0
  52. data/spec/install/git_spec.rb +42 -0
  53. data/spec/other/bundle_ruby_spec.rb +105 -75
  54. data/spec/other/cli_dispatch_spec.rb +21 -0
  55. data/spec/other/ext_spec.rb +23 -0
  56. data/spec/other/platform_spec.rb +204 -4
  57. data/spec/resolver/platform_spec.rb +7 -1
  58. data/spec/runtime/setup_spec.rb +1 -1
  59. data/spec/support/builders.rb +5 -1
  60. data/spec/support/indexes.rb +1 -1
  61. data/spec/support/platforms.rb +9 -1
  62. metadata +116 -84
  63. checksums.yaml +0 -7
@@ -1,6 +1,6 @@
1
1
  language: ruby
2
2
  script: rake spec:travis
3
- before_script: rake spec:travis:deps
3
+ before_script: travis_retry rake spec:travis:deps
4
4
  branches:
5
5
  only:
6
6
  - master
@@ -30,21 +30,32 @@ rvm:
30
30
  # Rubygems versions MUST be available as rake tasks
31
31
  # see Rakefile:66 for the list of possible RGV values
32
32
  env:
33
- # we need to know if changes to rubygems will break bundler on release
33
+ # We need to know if changes to rubygems will break bundler on release
34
34
  - RGV=master
35
- # test the latest rubygems release with all of our supported rubies
36
- - RGV=v2.0.3
35
+ # Test the latest rubygems release with all of our supported rubies
36
+ - RGV=v2.0.6
37
+ # Test the latest stable branch so we know the next minor will work
38
+ - RGV=2.0
37
39
  matrix:
38
40
  allow_failures:
39
- # we want to know how we're doing with head, but not fail the build
41
+ # We want to know how we're doing with head, but not fail the build
40
42
  - rvm: ruby-head
41
43
  - env: RGV=master
44
+ - env: RGV=2.0
42
45
  # 1.9.2 is simply too slow. it sometimes exceeds the 25m hard limit.
43
46
  - rvm: 1.9.2
47
+ # Alternate implementations are good data points but not maintained
48
+ - rvm: jruby
49
+ - rvm: rbx
44
50
  include:
45
- # riding the edge
51
+ # Riding the edge
46
52
  - rvm: ruby-head
47
53
  env: RGV=master
54
+ # Alternate implementations
55
+ - rvm: jruby
56
+ env: RGV=v2.0.6
57
+ - rvm: rbx
58
+ env: RGV=v2.0.6
48
59
  # Rubygems goes down to 1.5.3 on Ruby 1.9.3
49
60
  - rvm: 1.9.3
50
61
  env: RGV=v1.8.25
@@ -56,7 +67,7 @@ matrix:
56
67
  env: RGV=v1.5.3
57
68
  # We only want an overview of how 1.9.2 is doing
58
69
  - rvm: 1.9.2
59
- env: RGV=v1.8.25
70
+ env: RGV=v2.0.6
60
71
  # Rubygems goes down to 1.3.6 on Ruby 1.8.7
61
72
  - rvm: 1.8.7
62
73
  env: RGV=v1.8.25
@@ -1,3 +1,18 @@
1
+ ## 1.4.0.pre.2
2
+
3
+ Features:
4
+
5
+ - add support for the x64-mingw32 platform (#2356, #2590, @larskanis)
6
+ - add :patchlevel option to ruby DSL
7
+ - add `bundler` bin (#2598, @kirs)
8
+ - friendly ambiguous error messages (#2581, #2550, @jlsuttles, @jendiamond, @joyicecloud)
9
+
10
+ Bugfixes:
11
+
12
+ - allow passwordless Basic Auth (#2606, @rykov)
13
+ - don't suggest `gem install foo` when `foo` is a git gem that fails (@kirs)
14
+ - revert #2569, going back to git instead of https for :github gems
15
+
1
16
  ## 1.4.0.pre.1 (2013-08-04)
2
17
 
3
18
  Features:
@@ -2,6 +2,14 @@
2
2
 
3
3
  If you're having a problem, please see [ISSUES](https://github.com/bundler/bundler/blob/master/ISSUES.md) for troubleshooting steps and a guide for how to submit a ticket that will help us solve the problem you are having as quickly as possible.
4
4
 
5
+ # Requesting Features
6
+
7
+ Head on over to the [Bundler
8
+ features](https://github.com/bundler/bundler-features) project, or any of the
9
+ lists or channels listed below. Feature-wise we consider Bundler stable, so the
10
+ core team does not tend to work on feature suggestions. Pull requests welcome
11
+ though!
12
+
5
13
  # Discussing Bundler
6
14
 
7
15
  If you'd like to discuss features, ask questions, or just engage in general Bundler-focused discussion, please see the [#bundler](irc://irc.freenode.net/#bundler) IRC channel on Freenode, and the [Bundler mailing list](http://groups.google.com/group/ruby-bundler) on Google Groups.
@@ -2,11 +2,19 @@ Great to have you here! Here are a few ways you can help out with [Bundler](http
2
2
 
3
3
  # Where should I start?
4
4
 
5
- You can start learning about Bundler by reading [the documentation](http://gembundler.com). If you want, you can also read a (lengthy) explanation of [why Bundler exists and what it does](http://gembundler.com/v1.2/rationale.html). You can also check out discussions about Bundler on the [Bundler mailing list](https://groups.google.com/group/ruby-bundler) and in the [Bundler IRC channel](irc://irc.freenode.net/#bundler), which is #bundler on Freenode.
5
+ You can start learning about Bundler by reading [the documentation](http://bundler.io). If you want, you can also read a (lengthy) explanation of [why Bundler exists and what it does](http://bundler.io/v1.2/rationale.html). You can also check out discussions about Bundler on the [Bundler mailing list](https://groups.google.com/group/ruby-bundler) and in the [Bundler IRC channel](irc://irc.freenode.net/#bundler), which is #bundler on Freenode.
6
6
 
7
- ## Core Team
7
+ ## Your first commits
8
+
9
+ If you’re interested in contributing to Bundler, that’s awesome! We’d love your help.
10
+
11
+ If you have any questions after reading this page, please feel free to contact either [@indirect](http://github.com/indirect) or [@hone](http://github.com/hone). They are both happy to provide help working through your first bugfix or thinking through the problem you’re trying to resolve.
12
+
13
+ ## Tackle some small problems
14
+
15
+ We track [small
16
+ bugs](https://github.com/bundler/bundler/issues?labels=small&state=open) and [small features](https://github.com/bundler/bundler-features/issues?labels=small&state=open) so that anyone who wants to help can start with something that's not too overwhelming. If nothing on those lists looks good, though, just talk to us.
8
17
 
9
- The Bundler core team consists of André Arko ([@indirect](http://github.com/indirect)), Terence Lee ([@hone](http://github.com/hone)), and Jessica Lynn Suttles ([@jlsuttles](http://github.com/jlsuttles)), with support and advice from original Bundler author Yehuda Katz ([@wycats](http://github.com/wycats)).
10
18
 
11
19
  # Development setup
12
20
 
@@ -27,18 +35,6 @@ Bundler doesn't use a Gemfile to list development dependencies, because when we
27
35
  With that set up, you can test changes you've made to Bundler by running `dbundle`, without interfering with the regular `bundle` command.
28
36
 
29
37
 
30
- # Adding new features
31
-
32
- If you would like to add a new feature to Bundler, please follow these steps:
33
-
34
- 1. [Create an issue](https://github.com/bundler/bundler/issues/new) to discuss your feature.
35
- 2. Base your commits on the master branch, since we follow [SemVer](http://semver.org) and don't add new features to old releases.
36
- 3. Commit the code and at least one test covering your changes to a feature branch in your fork.
37
- 4. Put a line in the [CHANGELOG](https://github.com/bundler/bundler/blob/master/CHANGELOG.md) summarizing your changes under the next release under the "Features" heading.
38
- 5. Send us a [pull request](https://help.github.com/articles/using-pull-requests) from your feature branch.
39
-
40
- If you don't hear back immediately, don’t get discouraged! We all have day jobs, but we respond to most tickets within a day or two.
41
-
42
38
  # Bug triage
43
39
 
44
40
  Triage is the work of processing tickets that have been opened into actionable issues, feature requests, or bug reports. That includes verifying bugs, categorizing the ticket, and ensuring there's enough information to reproduce the bug for anyone who wants to try to fix it.
@@ -70,6 +66,19 @@ If you can reproduce an issue, you're well on your way to fixing it. :) Fixing i
70
66
  Finally, the ticket may be a duplicate of another older ticket. If you notice a ticket is a duplicate, simply comment on the ticket noting the original ticket’s number. For example, you could say “This is a duplicate of issue #42, and can be closed”.
71
67
 
72
68
 
69
+ # Adding new features
70
+
71
+ If you would like to add a new feature to Bundler, please follow these steps:
72
+
73
+ 1. [Create an issue](https://github.com/bundler/bundler-features/issues/new) to discuss your feature.
74
+ 2. Base your commits on the master branch, since we follow [SemVer](http://semver.org) and don't add new features to old releases.
75
+ 3. Commit the code and at least one test covering your changes to a feature branch in your fork.
76
+ 4. Put a line in the [CHANGELOG](https://github.com/bundler/bundler/blob/master/CHANGELOG.md) summarizing your changes under the next release under the "Features" heading.
77
+ 5. Send us a [pull request](https://help.github.com/articles/using-pull-requests) from your feature branch.
78
+
79
+ If you don't hear back immediately, don’t get discouraged! We all have day jobs, but we respond to most tickets within a day or two.
80
+
81
+
73
82
  # Beta testing
74
83
 
75
84
  Early releases require heavy testing, especially across various system setups. We :heart: testers, and are big fans of anyone who can run `gem install bundler --pre` and try out upcoming releases in their development and staging environments.
@@ -86,11 +95,11 @@ We don't currently have any translations, but please reach out to us if you woul
86
95
 
87
96
  Code needs explanation, and sometimes those who know the code well have trouble explaining it to someone just getting into it. Because of that, we welcome documentation suggestions and patches from everyone, especially if they are brand new to using Bundler.
88
97
 
89
- Bundler has two main sources of documentation: the built-in help (including usage information and man pages) and the [Bundler documentation site](http://gembundler.com).
98
+ Bundler has two main sources of documentation: the built-in help (including usage information and man pages) and the [Bundler documentation site](http://bundler.io).
90
99
 
91
100
  If you’d like to submit a patch to the man pages, follow the steps for adding a feature above. All of the man pages are located in the `man` directory. Just use the “Documentation” heading when you describe what you did in the changelog.
92
101
 
93
- If you have a suggestion or proposed change for [gembundler.com](http://gembundler.com), please open an issue or send a pull request to the [bundler-site](https://github.com/bundler/bundler-site) repository.
102
+ If you have a suggestion or proposed change for [bundler.io](http://bundler.io), please open an issue or send a pull request to the [bundler-site](https://github.com/bundler/bundler-site) repository.
94
103
 
95
104
 
96
105
  # Community
@@ -99,17 +108,10 @@ Community is an important part of all we do. If you’d like to be part of the B
99
108
 
100
109
  It would be tremendously helpful to have more people answering questions about Bundler (and often simply about Rubygems or Ruby itself) in our [issue tracker](https://github.com/bundler/bundler/issues) or on [Stack Overflow](http://stackoverflow.com/questions/tagged/bundler).
101
110
 
102
- Additional documentation and explanation is always helpful, too. If you have any suggestions for the Bundler website [gembundler.com](http://www.gembundler.com), we would absolutely love it if you opened an issue or pull request on the [bundler-site](https://github.com/bundler/bundler-site) repository.
111
+ Additional documentation and explanation is always helpful, too. If you have any suggestions for the Bundler website [bundler.io](http://bundler.io), we would absolutely love it if you opened an issue or pull request on the [bundler-site](https://github.com/bundler/bundler-site) repository.
103
112
 
104
113
  Finally, sharing your experiences and discoveries by writing them up is a valuable way to help others who have similar problems or experiences in the future. You can write a blog post, create an example and commit it to Github, take screenshots, or make videos.
105
114
 
106
115
  Examples of how Bundler is used help everyone, and we’ve discovered that people already use it in ways that we never imagined when we were writing it. If you’re still not sure what to write about, there are also several projects doing interesting things based on Bundler. They could probably use publicity too.
107
116
 
108
117
  If you let someone on the core team know you wrote about Bundler, we will add your post to the list of Bundler resources on the Github project wiki.
109
-
110
-
111
- # Your first commits
112
-
113
- If you’re interested in contributing to Bundler, that’s awesome! We’d love your help.
114
-
115
- If you have any questions after reading this page, please feel free to contact either [@indirect](http://github.com/indirect) or [@hone](http://github.com/hone). They are both happy to provide help working through your first bugfix or thinking through the problem you’re trying to resolve.
data/ISSUES.md CHANGED
@@ -2,11 +2,15 @@
2
2
 
3
3
  So! You're having problems with Bundler. This file is here to help. If you're running into an error, try reading the rest of this file for help. If you can't figure out how to solve your problem, there are also instructions on how to report a bug.
4
4
 
5
+ **Please use the [Bundler
6
+ Features](https://github.com/bundler/bundler-features) repo to suggest and
7
+ discuss features. The bundler issue tracker is only for bugs.**
8
+
5
9
  ## Documentation
6
10
 
7
- Instructions for common Bundler uses can be found on the [Bundler documentation site](http://gembundler.com/).
11
+ Instructions for common Bundler uses can be found on the [Bundler documentation site](http://bundler.io/).
8
12
 
9
- Detailed information about each Bundler command, including help with common problems, can be found in the [Bundler man pages](http://gembundler.com/v1.3/man/bundle.1.html).
13
+ Detailed information about each Bundler command, including help with common problems, can be found in the [Bundler man pages](http://bundler.io/v1.3/man/bundle.1.html).
10
14
 
11
15
  ## Troubleshooting
12
16
 
@@ -16,10 +20,10 @@ Please open a ticket with Heroku if you're having trouble deploying. They have a
16
20
 
17
21
  ### Other problems
18
22
 
19
- First, figure out exactly what it is that you're trying to do. Then, go to the [Bundler documentation website](http://gembundler.com) and see if we have instructions on how to do that.
23
+ First, figure out exactly what it is that you're trying to do. Then, go to the [Bundler documentation website](http://bundler.io) and see if we have instructions on how to do that.
20
24
 
21
25
  Second, check [the compatibility
22
- list](http://gembundler.com/compatibility.html), and make sure that the version of Bundler that you are
26
+ list](http://bundler.io/compatibility.html), and make sure that the version of Bundler that you are
23
27
  using works with the versions of Ruby and Rubygems that you are using.
24
28
 
25
29
  If the instructions don't work, or you can't find any instructions, you can try these troubleshooting steps:
@@ -48,26 +52,35 @@ If the instructions don't work, or you can't find any instructions, you can try
48
52
 
49
53
  ## Reporting unresolved problems
50
54
 
51
- Hopefully the troubleshooting steps above resolved your problem. If things still aren't working the way you expect them to, please let us know so that we can diagnose and hopefully fix the problem you're having. When you report a problem, please include the following information:
55
+ Hopefully the troubleshooting steps above resolved your problem. If things still aren't working the way you expect them to, please let us know so that we can diagnose and hopefully fix the problem you're having.
56
+
57
+ **The best way to report a bug is by providing a reproduction script.** See these examples:
58
+
59
+ * [Git environment variables causing install to fail.](https://gist.github.com/xaviershay/6207550)
60
+ * [Multiple gems in a repository cannot be updated independently.](https://gist.github.com/xaviershay/6295889)
61
+
62
+ A half working script with comments for the parts you were unable to automate is still appreciated.
63
+
64
+ If you are unable to do that, please include the following information in your report:
52
65
 
53
- - What you're trying to accomplish
54
- - The command you ran
55
- - What you expected to happen
56
- - What actually happened
57
- - The exception backtrace(s), if any
58
- - Everything output by running `bundle env`
66
+ - What you're trying to accomplish
67
+ - The command you ran
68
+ - What you expected to happen
69
+ - What actually happened
70
+ - The exception backtrace(s), if any
71
+ - Everything output by running `bundle env`
59
72
 
60
73
  If your version of Bundler does not have the `bundle env` command, then please include:
61
74
 
62
- - Your Gemfile
63
- - Your Gemfile.lock
64
- - Your Bundler configuration settings (run `bundle config`)
65
- - What version of bundler you are using (run `bundle -v`)
66
- - What version of Ruby you are using (run `ruby -v`)
67
- - What version of Rubygems you are using (run `gem -v`)
68
- - Whether you are using RVM, and if so what version (run `rvm -v`)
69
- - Whether you have the `rubygems-bundler` gem, which can break gem executables (run `gem list rubygems-bundler`)
70
- - Whether you have the `open_gem` gem, which can cause rake activation conflicts (run `gem list open_gem`)
75
+ - Your Gemfile
76
+ - Your Gemfile.lock
77
+ - Your Bundler configuration settings (run `bundle config`)
78
+ - What version of bundler you are using (run `bundle -v`)
79
+ - What version of Ruby you are using (run `ruby -v`)
80
+ - What version of Rubygems you are using (run `gem -v`)
81
+ - Whether you are using RVM, and if so what version (run `rvm -v`)
82
+ - Whether you have the `rubygems-bundler` gem, which can break gem executables (run `gem list rubygems-bundler`)
83
+ - Whether you have the `open_gem` gem, which can cause rake activation conflicts (run `gem list open_gem`)
71
84
 
72
85
  If you are using Rails 2.3, please also include:
73
86
 
data/README.md CHANGED
@@ -16,7 +16,7 @@ bundle install
16
16
  bundle exec rails new myapp
17
17
  ```
18
18
 
19
- See [gembundler.com](http://gembundler.com) for the full documentation.
19
+ See [bundler.io](http://bundler.io) for the full documentation.
20
20
 
21
21
  ### Troubleshooting
22
22
 
@@ -26,12 +26,14 @@ For help with common problems, see [ISSUES](https://github.com/bundler/bundler/b
26
26
 
27
27
  If you'd like to contribute to Bundler, that's awesome, and we <3 you. There's a guide to contributing to Bundler (both code and general help) over in [DEVELOPMENT](https://github.com/bundler/bundler/blob/master/DEVELOPMENT.md)
28
28
 
29
- ### Development
29
+ The `master` branch contains our current progress towards version 1.4. Versions 1.0-1.3 each have their own stable branches. Please submit bugfixes as pull requests to the stable branch for the version you would like to fix.
30
30
 
31
- To see what has changed in recent versions of Bundler, see the [CHANGELOG](https://github.com/bundler/bundler/blob/master/CHANGELOG.md).
31
+ ### Core Team
32
32
 
33
- The `master` branch contains our current progress towards version 1.3. Versions 1.0 to 1.2 each have their own stable branches. Please submit bugfixes as pull requests to the stable branch for the version you would like to fix.
33
+ The Bundler core team consists of André Arko ([@indirect](http://github.com/indirect)), Terence Lee ([@hone](http://github.com/hone)), and Jessica Lynn Suttles ([@jlsuttles](http://github.com/jlsuttles)), with support and advice from original Bundler author Yehuda Katz ([@wycats](http://github.com/wycats)).
34
34
 
35
35
  ### Other questions
36
36
 
37
+ To see what has changed in recent versions of Bundler, see the [CHANGELOG](https://github.com/bundler/bundler/blob/master/CHANGELOG.md).
38
+
37
39
  Feel free to chat with the Bundler core team (and many other users) on IRC in the [#bundler](irc://irc.freenode.net/bundler) channel on Freenode, or via email on the [Bundler mailing list](http://groups.google.com/group/ruby-bundler).
data/Rakefile CHANGED
@@ -89,7 +89,7 @@ begin
89
89
  namespace :rubygems do
90
90
  rubyopt = ENV["RUBYOPT"]
91
91
  # When editing this list, also edit .travis.yml!
92
- %w(master v1.3.6 v1.3.7 v1.4.2 v1.5.3 v1.6.2 v1.7.2 v1.8.25 v2.0.3).each do |rg|
92
+ %w(master 2.0 v1.3.6 v1.3.7 v1.4.2 v1.5.3 v1.6.2 v1.7.2 v1.8.25 v2.0.6).each do |rg|
93
93
  desc "Run specs with Rubygems #{rg}"
94
94
  RSpec::Core::RakeTask.new(rg) do |t|
95
95
  t.rspec_opts = %w(-fs --color)
@@ -33,7 +33,7 @@ your deploy.rb file to run Bundler automatically as part of deploying:
33
33
  require 'bundler/capistrano'
34
34
 
35
35
  For more details on deploying using bundler, see the documentation
36
- for the bundler cap task, and the [documentation on deploying](http://gembundler.com/deploying.html).
36
+ for the bundler cap task, and the [documentation on deploying](http://bundler.io/deploying.html).
37
37
 
38
38
 
39
39
  ## Bundler 0.8 to 0.9 and above
data/bin/bundle CHANGED
@@ -5,7 +5,7 @@ Signal.trap("INT") { exit 1 }
5
5
 
6
6
  require 'bundler'
7
7
  # Check if an older version of bundler is installed
8
- $:.each do |path|
8
+ $LOAD_PATH.each do |path|
9
9
  if path =~ %r'/bundler-0.(\d+)' && $1.to_i < 9
10
10
  err = "Looks like you have a version of bundler that's older than 0.9.\n"
11
11
  err << "Please remove your old versions.\n"
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'bundler'
4
+ require 'bundler/cli'
5
+
6
+ ui = Bundler::UI::Shell.new
7
+ ui.error "It's recommended to use Bundler through 'bundle' binary instead of 'bundler'"
8
+
9
+ bin = "#{File.dirname(__FILE__)}/bundle #{ARGV.join(" ")}"
10
+ exec bin
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
9
9
  spec.licenses = ['MIT']
10
10
  spec.authors = ["André Arko", "Terence Lee", "Carl Lerche", "Yehuda Katz"]
11
11
  spec.email = ["andre@arko.net"]
12
- spec.homepage = "http://gembundler.com"
12
+ spec.homepage = "http://bundler.io"
13
13
  spec.summary = %q{The best way to manage your application's dependencies}
14
14
  spec.description = %q{Bundler manages an application's dependencies through its entire life, across many machines, systematically and repeatably}
15
15
 
@@ -23,6 +23,6 @@ Gem::Specification.new do |spec|
23
23
  spec.files += Dir.glob('lib/bundler/man/**/*') # man/ is ignored by git
24
24
  spec.test_files = spec.files.grep(%r{^spec/})
25
25
 
26
- spec.executables = %w(bundle)
26
+ spec.executables = %w(bundle bundler)
27
27
  spec.require_paths = ["lib"]
28
28
  end
@@ -4,6 +4,10 @@
4
4
  # Bundler will be activated after each new deployment.
5
5
  require 'bundler/deployment'
6
6
 
7
+ if Gem::Version.new(Capistrano::Version).release >= Gem::Version.new("3.0")
8
+ raise "For Capistrano 3.x integration, please use http://github.com/capistrano/bundler"
9
+ end
10
+
7
11
  Capistrano::Configuration.instance(:must_exist).load do
8
12
  before "deploy:finalize_update", "bundle:install"
9
13
  Bundler::Deployment.define_task(self, :task, :except => { :no_release => true })
@@ -6,6 +6,13 @@ module Bundler
6
6
  class CLI < Thor
7
7
  include Thor::Actions
8
8
 
9
+ def self.start(*)
10
+ super
11
+ rescue Exception => e
12
+ Bundler.ui = UI::Shell.new
13
+ raise e
14
+ end
15
+
9
16
  def initialize(*)
10
17
  super
11
18
  Bundler.rubygems.ui = UI::RGProxy.new(Bundler.ui)
@@ -69,7 +69,7 @@ module Bundler
69
69
  end
70
70
 
71
71
  def mingw?
72
- Bundler::WINDOWS && Gem::Platform.local.os == "mingw32"
72
+ Bundler::WINDOWS && Gem::Platform.local.os == "mingw32" && Gem::Platform.local.cpu != 'x64'
73
73
  end
74
74
 
75
75
  def mingw_18?
@@ -84,5 +84,13 @@ module Bundler
84
84
  mingw? && on_20?
85
85
  end
86
86
 
87
+ def x64_mingw?
88
+ Bundler::WINDOWS && Gem::Platform.local.os == "mingw32" && Gem::Platform.local.cpu == 'x64'
89
+ end
90
+
91
+ def x64_mingw_20?
92
+ x64_mingw? && on_20?
93
+ end
94
+
87
95
  end
88
96
  end
@@ -380,6 +380,8 @@ module Bundler
380
380
  "Your Ruby version is #{actual}, but your Gemfile specified #{expected}"
381
381
  when :engine_version
382
382
  "Your #{system_ruby_version.engine} version is #{actual}, but your Gemfile specified #{ruby_version.engine} #{expected}"
383
+ when :patchlevel
384
+ "Your Ruby patchlevel is #{actual}, but your Gemfile specified #{expected}"
383
385
  end
384
386
 
385
387
  raise RubyVersionMismatch, msg
@@ -23,7 +23,9 @@ module Bundler
23
23
  :mingw => Gem::Platform::MINGW,
24
24
  :mingw_18 => Gem::Platform::MINGW,
25
25
  :mingw_19 => Gem::Platform::MINGW,
26
- :mingw_20 => Gem::Platform::MINGW
26
+ :mingw_20 => Gem::Platform::MINGW,
27
+ :x64_mingw => Gem::Platform::X64_MINGW,
28
+ :x64_mingw_20 => Gem::Platform::X64_MINGW
27
29
  }.freeze
28
30
 
29
31
  def initialize(name, version, options = {}, &blk)
@@ -230,7 +230,7 @@ module Bundler
230
230
 
231
231
  if github = opts.delete("github")
232
232
  github = "#{github}/#{github}" unless github.include?("/")
233
- opts["git"] = "https://github.com/#{github}.git"
233
+ opts["git"] = "git://github.com/#{github}.git"
234
234
  end
235
235
 
236
236
  if gist = opts.delete("gist")
@@ -217,7 +217,7 @@ module Bundler
217
217
  begin
218
218
  Bundler.ui.debug "Fetching from: #{uri}"
219
219
  req = Net::HTTP::Get.new uri.request_uri
220
- req.basic_auth(uri.user, uri.password) if uri.user && uri.password
220
+ req.basic_auth(uri.user, uri.password) if uri.user
221
221
  if defined?(Net::HTTP::Persistent)
222
222
  response = @connection.request(uri, req)
223
223
  else
@@ -1,3 +1,5 @@
1
+ require "bundler/vendored_thor"
2
+
1
3
  module Bundler
2
4
  def self.with_friendly_errors
3
5
  yield
@@ -5,6 +7,9 @@ module Bundler
5
7
  Bundler.ui.error e.message, :wrap => true
6
8
  Bundler.ui.trace e
7
9
  exit e.status_code
10
+ rescue Thor::AmbiguousTaskError => e
11
+ Bundler.ui.error e.message
12
+ exit 15
8
13
  rescue Thor::UndefinedTaskError => e
9
14
  Bundler.ui.error e.message
10
15
  exit 15