[Rubygems-developers] Questions on 1.0.0 on JRuby

Charles Oliver Nutter charles.nutter at sun.com
Mon Apr 7 20:25:38 EDT 2008

Susan Potter wrote:
> Actually that is for the Rails and RSpec projects to decide
> themselves.  We are all separate projects remember:)  We cannot
> dictate what separate projects do.  RubyGems is a little more than
> just Rails or RSpec.  It is used in virtually every Rubyforge project
> to some extent (and if you are using RubyGems you will agree that it's
> importance supersedes that of Rails or Rspec which is not used in
> virtually every project).

Sure, most of them use RubyGems...but that doesn't change at all in 
JRuby because they still require 'rubygems', call "gem 'whatever'" in 
code. In fact just about all use of RubyGems in JRuby is identical to 
the use of RubyGems in standard Ruby...so the 'jgem' thing is the 
anomaly here.

> You are trivializing the problem as explained in the ticket and on the
> mailing list.  However, I will admit I am not on Windows (thankfully)
> so I do not see the larger issues that others have reported.  However
> I agree with the following statement from Stephen Bannasch.....

The ticket only talked about avoiding conflicts between JRuby and 
regular Ruby, which is largely a red herring since *every* other app 
people install with RubyGems will conflict too and be called a lot more 
often (you don't install gems nearly as often as you run the scripts 
they install).

>> Changing the name to jgem will just delay the mess Daniel was getting into for a little while.
> Yes, but it might buy RubyGems time to sort the mess out.  It is a
> large problem and cannot be treated as something that only requires a
> minor fix like others have trivialized it above.

JRuby is just another Ruby implementation, and users of JRuby should be 
able to just run the same commands they would with the C implementation. 
If they want to install RubyGems as "jgem" or rename any of the other 
scripts that get installed, so be it. But JRuby is Ruby...and the naming 
of the 'gem' script should not be different when RubyGems in JRuby is 
otherwise almost identical to that installed in standard Ruby.

And since we've been shipping with RubyGems in JRuby for well over a 
year with the script named 'gem', the change *after* that time to 
install as 'jgem' is a real problem.

> If JRuby people are so hung up on keeping it as gem instead of
> renaming it to jgem, then let us address this appropriately instead of
> suggesting quick fix solutions that keep it named 'gem', BUT still
> postpone the same mess for later anyway AND give some people grief in
> the near-term.  Thankfully I am not affected by this anymore and my
> solution was to stop using JRuby (yay!) at work, but I know people on
> my old team are bitten by these issues all the time in the Java/JRuby
> world.

Note that the change to jgem was made intentionally (for unknown 
reasons?) without ever talking to the JRuby team in the first place. And 
we would have said "no, please don't do it." Your comment about "stop 
using JRuby (yay!)" seems to show that you don't really care about 
making things easier for JRuby users.

Besides, there would still be a flag to install as 'jgem' and numerous 
other ways to isolate JRuby from standard Ruby. This is a minor point, 
I'm really not sure why it's a big deal to just make it 'gem' everywhere.

- Charlie

More information about the Rubygems-developers mailing list