Charles Oliver Nutter
headius at headius.com
Tue Jun 29 11:57:42 EDT 2010
On Tue, May 18, 2010 at 4:52 PM, Jimmy Schementi
<Jimmy.Schementi at microsoft.com> wrote:
>> 2) have a checkbox for if we want to install with the i prefix or not on pre-
>> installed gems (I know I for one wouldn't).
> We don't preinstall any gems with IronRuby. So what you're asking is an option so we remove the "i" from "iri.bat", "irdoc.bat", and "igem.bat" ? Keep in mind the actual ruby files are still "ri", "rdoc", and "gem". For the problem with "ir script/console", rails should fix this (as in, JRuby has the same problem as they ship with jirb).
Other than for the "ruby" command (i.e. "jruby"), JRuby does not
prefix bin scripts or set up RubyGems to prefix anything, so we still
have the same-named rdoc, ri, irb commands provided in JRuby releases,
and gem binaries install with their non-prefixed name. This was a
pragmatic decision; too many Ruby scripts/libs/apps launch those
scripts by their non-prefixed name and all the tutorials and books in
the world use the non-prefixed names. Plus we wanted JRuby to be a
drop-in replacement as much as possible; all those "j"s would make
that much harder.
We've recently debated turning the RubyGems prefixing on, to aid folks
using JRuby plus some other impl...but it would cause a lot of support
stress at this point.
I filed that last year in February, and after bouncing around a bit it
was bumped off Rails 2.x series. Now it's apparently back in for 3.0.
Vote with comments :)
JRuby has gotten around this since 2006 by doing two things:
* We ship "irb" executables
* Our exec logic scans the command being run for "*ruby" or "*irb" and
intercepts that by simply spinning up another JRuby instance in the
same JVM. This was partially to allow rails/console and similar
re-launchers to work, but also to reduce (somewhat) the
double-launching startup hit.
More information about the Ironruby-core