Yoko, There are two goals I would like to see for 9k with these platforms in mind. I would like looser coupling so that conditionally only part of our codebase can be compiled. So if you are on a limited platform with no socket support you should be able to omit it and our codebase will still compile.
Secondly, I would like to see our build system capable of conditionally packaging a subset of all the files we have. Hopefully in 9k we will only have a single stdlib, but if we ever had that situation again, I would like it to be easy to exclude one of the copies. One thing I don't want is for us to package and release these hybrid distributions. Putting out additional releases takes effort and also confuses people trying to figure out which jar they need. So in that respect, I would like to make changes to our source/packaging to empower others to do this. This also makes sense if you consider that Ruboto would never want to release on our schedule. Speaking against myself earlier ( :) ) making hundreds of maven artifacts is actually a solution to this (definitely on packaging so long as they are two-way hard dependencies) but I half feel the cure is worse than the disease. -Tom On Sun, Jun 23, 2013 at 2:03 PM, Yoko Harada <yoko...@gmail.com> wrote: > Hi Charlie, > > Mavenizing is a good idea. It is IDE friendly. (Probably Gradlizing as > well) > > 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. > > "Upgradable extensions" is somehow curious, but I don't have a clear image > about that. > For example, pure Java Nokogiri will have some good effects from this? > > Best, > -Yoko > > > On Sun, Jun 23, 2013 at 1:09 PM, Charles Oliver Nutter < > head...@headius.com> wrote: > >> Ok folks...the branching off of 1.7 is coming very soon, and I think >> one of the biggest ticket items we need to do before then is reorg the >> codebase like we want to see it in the future. Failing to do this >> before branching will massively complicated merging changes back. >> >> I have a few proposals. >> >> * Mavenizing. >> >> I know this will elicit groans from many people, but it has become >> more and more of a hassle to keep versions in sync and manage the >> repository with all our external dependencies. If we were 100% >> maven-based for build, all dependencies would live outside the repo >> (not as repo-bloating binaries) and we'd always be able to generate a >> current snapshot. I think we need to do this. >> >> Making this change should eliminate build_lib and much of our ant build >> scripts. >> >> * Reorg upgradable extensions into their own src trees or repositories. >> >> I'm thinking of pieces like openssl, psych, readline. Some extensions >> are already in their own repositories and we just copy them in, like >> json. We could proceed with this one of two ways: >> >> Via maven layout: src/main, src/openssl, src/psych, etc. >> >> Via separate repositories: jruby/openssl, jruby/psych (or just in >> psych proper), etc. >> >> I'd like to get as many exts and stdlib separated out as possible. >> >> Making this change could move most of org.jruby.ext.* out of the main >> repository and would make managing and upgrading ext and stdlib >> easier. >> >> * Remove C ext support to an external repository and gem >> >> I'm playing with this locally, and there aren't many dependencies from >> JRuby proper back into C ext code. It stands alone pretty well. >> >> Who knows...spinning it off might make it more likely third-party >> folks will continue to update and improve it. >> >> Removing it will eliminate the org.jruby.cext package and the cext >> dir, plus any build and test artifacts related to cext. >> >> ... >> >> Anything else? >> >> - Charlie >> >> --------------------------------------------------------------------- >> To unsubscribe from this list, please visit: >> >> http://xircles.codehaus.org/manage_email >> >> >> > -- blog: http://blog.enebo.com twitter: tom_enebo mail: tom.en...@gmail.com