howdy,

I have an issue  regarding the stability of JRuby in minor releases.
Case in point: I just ran the tests of JParseTree with the new JRuby 1.0.1.
Result: 100 % tests failed.
Theses tests work perfectly with JRuby 1.0.

The reason:
The JRuby.parse  went from two required args to three required args in
1.0.1.

I fixed it by exchanging
JRuby.parse(source, filename)
with:
JRuby.parse(source, filename, nil)

A solution would be to simply overload the parse method in the
org.jruby.Ruby class to  call the three argument one with null as last
arg (since this does seem to work).

My question:
Was this backwards compatibility breaking API change _really_ necessary
in a minor release? After all, it's a 0.0.1 release number change.
I wouldn't mind too much if it was a change in some obscure, backwater
AST class, but JRuby.parse  it's right out there on the org.jruby.Ruby
class.

I suggest reading:
http://wiki.eclipse.org/index.php/Evolving_Java-based_APIs
for a starting point for a discussion about this.

Since JRuby is targeted at bringing Ruby to the Enterprise, I'd think
that breaking software with every tiny bugfix release is not a good
idea, but maybe there are some arguments about this.

murphee

PS: an updated JParseTree will be released later today.

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

Reply via email to