Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Drop support for JRuby 1.6.x #305

Closed
donv opened this Issue Dec 6, 2012 · 5 comments

Comments

Projects
None yet
4 participants
Owner

donv commented Dec 6, 2012

There have been _SO_ many improvements in JRuby since JRuby 1.6.x that I think we should drop support for JRuby 1.6.x.

The big features for JRuby 1.7.x only are

  • direct subclassing of Java classes (dx.jar)
  • better method calls using runRubyMethod instead of callMethod (JRubyAdapter)

The use of runRubyMethod would greatly simplify every generated method, removing the use of isJRubyPreOneSeven and isJRubyOneSeven.

This must happen after we release a RubotoCore based on JRuby 1.7.1.

Owner

rscottm commented Dec 6, 2012

For awhile there was a problem with 1.7 + dx apps installing on older
versions of Android. Is that gone now?

On Thu, Dec 6, 2012 at 1:47 AM, Uwe Kubosch notifications@github.comwrote:

There have been SO many improvements in JRuby since JRuby 1.6.x that I
think we should drop support for JRuby 1.6.x.

The big features for JRuby 1.7.x only are

  • direct subclassing of Java classes (dx.jar)
  • better method calls using runRubyMethod instead of callMethod
    (JRubyAdapter)

The use of runRubyMethod would greatly simplify every generated method,
removing the use of isJRubyPreOneSeven and isJRubyOneSeven.

This must happen after we release a RubotoCore based on JRuby 1.7.1.


Reply to this email directly or view it on GitHubhttps://github.com/ruboto/ruboto/issues/305.

How old is "older versions"?

Owner

donv commented Dec 6, 2012

@jrgifford : There is a problem with the total interface count in a dexfile when installing on Android 2.3. I believe it is fixed in Android 4.0.3.

@rscottm : The problem (limit) itself is not gone, but we have reduced the total interface count in JRuby1.7+dx to allow installation on Android 2.3. How much under the limit for Android 2.3 we are, I don't know. Adding your own jars will probably trigger the problem at some point.

Using JRuby 1.6.x removes the need for dx, since it doesn't work anyway. This may lead to a lower total interface count. I am not sure. On the other hand, JRuby 1.6.x is no longer maintained and lacks the special Ruboto features mentioned.

I don't want to rush this, and we need to make sure we don't leave projects hanging, or limit the actual usefulness of Ruboto by excluding the use of JRuby 1.6.x. However we are planning to release RubotoCore based on JRuby 1.7.1 and I don't know of any Ruboto projects using JRuby 1.6.x embedded. If there are, we should offer to help them migrate to JRuby 1.7.1 and see if any problems arise.

Where can I read more about this limitation? This could potentially limit the use of third-party JARs or even a sufficiently large code-base.

Owner

donv commented Apr 29, 2013

@ashes999 You can find the Android issue here: http://code.google.com/p/android/issues/detail?id=22586

I am starting work on this now.

@donv donv added a commit that referenced this issue Apr 29, 2013

@donv donv * Issue #305 Remove JRuby 1.6.x from size tests. APK size reduced fro…
…m 62KB to 53KB !
36304e1

@donv donv was assigned May 5, 2013

@donv donv closed this May 5, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment