Thought's about software, Grails, Java, web development and anything else that comes to mind.

Tuesday, December 23, 2008

Grails & Maven Kiss and Make-up with Grails 1.1 Beta 2

So Grails 1.1 Beta 2 is out. Rejoice! There are many new features that are detailed in the release notes. However, one of the main ones in this beta is the new support for Maven.

Regular readers of my blog will probably be aware of my longhistory as one who, ahem, is not particularily fond of Maven. Granted I am still not particularily fond of Maven, but it is the Christmas period and in the spirit of "why can't we all just get a long" I am proud to say that Grails integrates nicely with Maven now :-)

Peter Ledbrook, core Grails committers, has been tirelessly working away at making the Grails + Maven experience a seamless one. I personally even went as far as installing Maven 2 onto my machine, which was a huge jump for me I can tell you, and I can tell you Peter's done a great job!

As ever we encourage Maven users to give the Maven integration a go and report any issues that you may have with it in JIRA. Enjoy!

Concerning Grails 1.1, I was under the impression that the 1.1 version would bring an independant GORM library. Is this still on the table? I would like to have to possibility to use Groovy and GORM in non-web application.

I don't understand why you do not push for Gradle instead of the Maven dinosaur. Gradle is the next generation build system as Grails is the next generation web framework. Gradle is everything Maven should have been and it have excellent Groovy support. Gradle seems more inline with Grails and Groovy then Maven ever will be. But it seems Springsource is in full support of Maven...

The answer to why I'm glad to see support for the "Dinosaur" Maven instead of :pick random build system that became popular this week in the bleeding edge crowd: is all about adoption curve.

Maven 2 is widely used, thus spring source's support for it. As some other build tool becomes popular, I'm sure they will support it. Actually I got the vague impression with Spring 3, they had Ant, Ivy and Maven support which seemed to all be generated by some custom Spring system. These are probably the most widely deployed by a huge margin.

Lets face it. There are still huge code bases still stuck on struts, that have not evolved to struts 2 or spring mvc, much less grails. So just because you're in a community that's 2 generations beyond most code and 1 generation beyond most new code, doesn't mean it's the norm!

I can belabor the point, but having grails more compatible with existing build systems is a huge bonus. I personally like Maven a lot and it solves many of the issues with our previous Ant build system. However great some build system is, it will be at LEAST a year before I would consider investigating another build system.

Maven support makes it easier to integrate a grails project into our existing infrastructure AND processes.

Although I don't agree with a lot of the Maven2 hate, I can understand it to some extent. But if people aren't using Maven, how are grails users supposed to deal with their dependencies. Are most people using Ivy, or just growing their own version of dependency management?

I consider Maven far from perfect (when looking at some failing code, a bucket would indeed have been desirable). But still, it both implements Best Practices (i.e. its lifecyle metaphor) and supplies a framework that promotes reliable code reuse - once you succeeded in wading through the details of its pom.xml.

In my opinion, both are required to successfully manufacture software.Right now, within my team, I'm trying to move an ever growing arsenal of separate applications (that surely inherit by copy-and-paste) to an in-house component library. As I had the opportunity to look into start-ups that went bankrupt just after one year, I consider code reuse a mandatory asset in order to limit development and maintenance expenses. I'd rather not give up one objective for the other.

If someone would augment Maven's usability in a way similar to what Grails has done to Spring and Hibernate (and many other carefully selected components), Grails and Maven would team-up to be a perfect match. Why not - on top of the Maven plugin - design a Grails application that brings structure by convention to Maven in general?

I think if I want to play the Rappelz, I need to had some rappelz rupees, because I do not know how to play, only had more rappelz rupees then in the game can had the high levels. So I often buy rappelz rupees, but I do not know which website can bought the cheapest rappelz gold. so I always spend much money to buy.

It was not long cheap wow goldbefore some one knocked atwow gold cheap wow gold for salethe house-door and called, open the door, dear children, your mother is here, and has brought something back with her for each of you. But the little wow goldkids knew that it was the wolf, by the rough voice. We will wow power leveling not open the door, cried they, you are not our mother. She has a soft, pleasant voice, but your voice is rough, you are the wolf.

Weekends to peopleig2tmean that they can have a two-day wowgold4europe good rest. For example， people gameusdcan go out to enjoy themselves or get meinwowgoldtogether with relatives and friends to talk with each storeingameother or watch interesting video tapes with the speebiewhole family.Everyone spends agamegoldweekends in his ownmmoflyway. Within two days,some people can relax themselves by listening to music， reading novels，or watchingogeworld films. Others perhaps are more active by playing basketball，wimming ormmorpgvipdancing. Different people have different gamesavorrelaxations.I often spend weekends withoggsalemy family or my friends. Sometimes my parents take me on a visit to their old friends. Sometimesgamersell I go to the library to study or borrow some books tommovirtexgain much knowledge. I also go to see various exhibition to broadenrpg tradermy vision. An excursion to seashore or mountain resorts is my favorite way of spending weekends. Weekends are always enjoyable for me.

If there is one part of the Ruby on Rails 'eco' system that was done very well. That would be Rake. When you throw-in the support provided by Netbeans to run/debug your tasks it makes it very difficult to want to use ANT or Maven. Do you know of anyone that is working on make a Rake like project using Groovy for the Java community?