Charles Oliver Nutter wrote:
Charles Oliver Nutter wrote:
Attached is a simple patch that adds enough basic method annotation support to JRuby to eliminate manually binding zero, one, two, and three-parameter non-static "fast" methods.

Attached is the latest update. This version does all of the following:

- adds optional arg count, alias, singleton (metaclass) details to JRubyMethod annotation - adds logic to RubyModule to handle optional args, aliases, singleton methods, and static target methods
- replaces all Fixnum initialization with annotation logic
- upgrades to ASM 3.0 (needed for Retroweaver)
- adds a "jar-1.4" target that uses Retroweaver to replace jruby.jar with a 1.4-compatible version
- modifies the build to produce Java 1.5 output

The updated JARs aren't included in this patch, but you get the idea. This passes all tests under Java 5 and Java 6, and the jar-1.4 jruby.jar passes all tests I've tried under Java 1.4 (can't test Java 1.4 during the build at the moment).

What do you say, folks?

Hopefully you say "OK" because I've just committed it after a discussion with other core devs on #jruby. All the above changes are now on trunk.

Those of you running on 1.4 and using trunk will need to get a 1.5 Java implementation to build with. Your ant target will be "jar-1.4" instead of "jar".

Remaining to do (volunteers requested):

- make a build target that can run tests against retrofied JRuby under Java 1.4 - make the retro ant stuff friendlier and work it into the release process appropriately
- update maven poms to handle 1.5/1.4, asm 3.0, and retro stuff correctly

It is done. JRuby trunk depends on Java 5 (but provides retrofitting to 1.4).

- Charlie

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

   http://xircles.codehaus.org/manage_email

Reply via email to