rubygems-bundler integration gem reaches 1.0.0
No more “bundle exec …”
I want to present the testing release of my gem rubygems-bundler 1.0.0 – integration for rubygems and bundler. Recently I was motivated to get back to it, actually I got back to it twice.
The first time thanks to Joshua Hull and his great effort on noexec gem, this gem was merged in to rubygems-bundler
in version 0.9.0
– this was a great improvement, providing automatic detection if the gem should be loaded using Bundler.setup
or not.
The second time was thanks to discussions with Evan Phoenix and Yehuda Katz. Evan motivated me to remove the installation of the wrapper via extensions, which was a hack. Yehuda gave me good ideas on handling the wrapper and automating things, so modification of ~/.gemrc
is not needed anymore.
So, rubygems-bundler is now at version 1.0.0.beta5
, and should be available, officially, as 1.0.0
very shortly.
Features
- Automatically uses
custom_shebang
when not specified by user in~/.gemrc
. - Automatically installs wrapper when not available during
gem install ...
orgem regenerate_binstubs
- Backports
custom_shebang
from rubygems 2.0(master) to any rubygems down to 1.3.7. - Adds the command
gem regenerate_binstubs
which allows regeneration of binstubs for existing gems. It does not, however, regenerate extensions. - Adds an uninstaller
rubygems-bundler-uninstaller
which will restore binstubs for gems to use the safer#!/usr/bin/env ruby
, and remove the existing wrapper.
Installation / Testing
gem install rubygems-bundler --pre
You might get warnings to uninstall, this is needed to prevent collisions with the rubygems plugin in older versions.
What’s the future of this gem?
Yehuda and I discussed it, and we have agreed to merge it into bundler, as it’s the most user friendly solution that could be done. We will be working hard to integrate it into bundler 1.3 (1.2 is in testing now).
Some parts of this gem will be made obsolete with the release of rubygems 2.0: custom_shebang
– already implemented and gem regenerate_binstubs
– will be part of gem pristine
(#326).
Unfortunately it is to late to merge custom shebang
back to rubygems 1.8 (#325).
My dream is that we will no longer have to create third-party tools (like my gem) and the integration will be fully done between rubygems 2.0 and bundler 1.3.
But, even then, you can still use my gem if you require lower versions of rubygems or bundler.
Thank you so much for killing
bundle exec
!