On Sun, Jun 23, 2013 at 2:03 PM, Yoko Harada <yoko...@gmail.com> wrote: > When JRuby will be mavenized, is it possible to divide into sub modules? > and, for some users, make it customizable? > For example, Ruboto cuts down unnecessary packages from JRuby and make it > small to fit in the devices. > As far as I remember, JRuby for Google App Engine needs to be cut up in two > pieces to fit in to upload-able size limit.
We do something like this for our maven artifacts already, by having jruby-core, jruby-stdlib, jruby, jruby-complete with different sets of libraries and files included. I assume it would be possible to add more profiles that break up the jar into other configurations, or we could simply have post-processing Rake tasks that do it for us (which is presumably how Ruboto does it now). I'm unsure if we want to have a bunch of published maven artifacts for every combination. Of course, if we started maintaining our own repository, those other profiles (ruboto, appengine, torquebox patched) could simply live there. > "Upgradable extensions" is somehow curious, but I don't have a clear image > about that. For example, see recent moves of openssl and readline out to their own jar files. This allows them to be loaded entirely from runtime jars rather than from boot classpath, which makes it possible to upgrade them via gems. Since we support loading jars in jars, they can also be simply bundled into a release jar. What we *don't* have is a way to take extension jars and flatten them into a single jar file and still have them load nicely (i.e. take jruby-openssl.jar *contents* and put them in jruby-complete.jar, instead of putting the jar file in jruby-complete.jar). > For example, pure Java Nokogiri will have some good effects from this? Can you elaborate? Are you referring to the problem of bundling Nokogiri with a "complete" style jar, as on Ruboto? - Charlie --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email