From: Tanner Burson Date: 2006-12-09T05:03:56+09:00 Subject: Re: replacing maven with rake + rjb + ant ------=_Part_80124_21322144.1165608231627 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline On 12/8/06, thebox wrote: > > Hi! > > We do 99.999% of our development in java. Our system is a complex J2EE > distributed application currently (poorly) managed with maven. Now, I > don't want to get into the reasons for doing this, but we have > struggled enough to seriously consider replacing maven with some decent > build tool. > > Of course, rake is attractive because it has real file-dependant tasks, > it supports both declarative and imperative programming styles and > today I think we may stick with it, waiting for eventually more > maturity from rant. > > The point of this post though is that we would like to find a way to > coordinate common java task (like compiling, jaring, waring, deploying > in containers, etc.) without reinventing the wheel. An obvious choice > would be to piggy back on maven through system calls, but my ambitions > are bigger than that, because I want to break the addiction with maven > repository dependency management structure. > > A better idea would be to rely on ant and of course you want to do it > in an efficient manner. As Martin Fowler mentioned in his article [1], > best way would be to run ant as a server, so that you don't have to pay > jvm initialization startup time for any call. Apparently, Jon Tirsen > has never released his code (or I wasn't able to find it). I've only > found an old "proof of concept" in codehaus [2]. I'm looking for > something more solid than that. > > Ant can be effectively driven like a server, by simply using an > extension like Ant-Contrib [3]. The only problem is that if you use > Ant-Contrib as it is, the protocol between a client and an ant server > relies on java object serialization, making it practically useless from > the ruby world (you don't really want to reproduce the java object > serialization protocol in ruby, do you?!?). > > Hence, I'm currently thinking about using rjb to instantiate > client-side Ant-Contrib java classes from rake and then understand if I > can let the jvm dealing with socket communication, or I serialize java > objects on a bytestream and let ruby handle the communication over the > socket. This is in theory, of course, because I've never used rjb > before and I don't know how easy, manageable and fast it is. > > What do you guys think about it? Anybody has any experience around > stuff like this? Alternatives? I don't know the full status of it, but there is a Ruby implementation targetting the JVM. I'm unsure of whether Rake has been made to work on it yet, but it could be a great tool in the very least at calling into Ant without adding the overhead of another JVM initialization. [1] http://jruby.codehaus.org/ Thanks > Giuliano > > [1] ==> http://www.martinfowler.com/articles/rake.html > [2] ==> > > http://jira.codehaus.org/browse/HAUS-211;jsessionid=asvbK6wlqWt7H6hWmN?actionOrder=desc > [3] ==> http://ant-contrib.sourceforge.net/ > > > -- ===Tanner Burson=== tanner.burson@gmail.com http://www.tannerburson.com ------=_Part_80124_21322144.1165608231627--