I think that most of our JRuby 1.5 incompatibilities are superficial.  I've
seen a couple JIRA issues reported, but nothing too serious.  If that were
the only thing holding us up, I would vote that we move forward.

Unfortunately, as you pointed out, Windows 7 doesn't seem to like us very
much.  I'm sure RJB has something to do with it, but it's certainly not the
whole story.  We're a build system.  That means we have to deal with file
permissions, locking, etc.  All of that nasty stuff that drives people away
from Ant; they come to us because we're supposed to deal with it for them!
I don't think we're ever going to be able to get away from that.  We could
probably do more to separate out some of the platform-specific bits though,
and that would certainly help.  It's never going to be a write once, run
anywhere situation though.

As for RJB in general, I don't see a way to get away from it without
completely dropping support for MRI, and there's still a lot of resistance
to that idea (quite a bit of it from myself).  I love JRuby as much as the
next guy (probably more), but its startup time is just too high for the
quick, one-off invocations required by a build tool.  With that said, if we
went JRuby-only, I think most users (myself included) would get used to it.
After all, Buildr under JRuby is still a whole lot faster than Maven 2.
:-)  It's also worth pointing out that there are certain features (e.g.
Growl support on OS X) which only work under MRI and are unlikely to ever
function under JRuby (though I do have some ideas on that front).

Another option might be to roll our own RJB, something which gives us more
flexibility and greater control over that pesky C backend.  This is actually
something that I've done in the past (though my project wasn't as featureful
as RJB), and I can positively say that it's not a trivial undertaking.  I'm
quite certain that we could do better than RJB, but it would take time and
effort, two things which might be better spent on Buildr itself.  And given
the innate limitations of a bridge-based solution, we may *never* be able to
catch up to what JRuby can do right now.

I hate RJB too, but I don't see a lot of options.  One thing which might be
worth pursuing post-1.4 is a streamlined all-in-one JRuby based distribution
which doesn't load RubyGems by default (as Charlie suggested).  If we could
get JRuby-based *perceived* startup time to within 200-300% of what MRI is *
now*, I would personally be willing to cut ties with MRI, but that's a
really big "if".

I do agree with your point about 1.4.  Unfortunately, it seems that we have
some work to do before we can actually cut a release.  Given the problems
with 1.3.5 and RubyGems, I think we should push as hard as we can to get
that work done sooner rather than later.

Daniel

On Wed, May 19, 2010 at 8:31 PM, Antoine Toulme <anto...@lunar-ocean.com>wrote:

> We still have no 1.4 release. The two RCs look good on most OSes, but
> Windows is not willing to cooperate.
>
> I installed a Windows 7 VM and tried to run the specs. They mostly failed
> on
> a Rake exception. I can investigate some more.
>
> I am still not convinced depending on RJB is the future. I would rather
> sever the links with it. My experience with Windows 7 showed me how hard it
> was to install Buildr on it.
> As a side note, I'm working on having rubinius support RJB, and Buildr, for
> fun and eventually profit. See my fork on github.
>
> We also JRuby 1.5 now officially out. We should try to support it
> correctly,
> which means more work on our end.
>
> All in all I think releasing 1.4 is now compromised, and we need to address
> stability issues related to RJB, as well as support JRuby 1.5 and in
> general
> become more OS independent to survive on the long run.
>
> Thanks,
>
> Antoine
>

Reply via email to