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 long history 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!

15 comments:

Anonymous said...

Argh, bring me a bucket, I feel ill.

Great news on 1.1 beta 2 though.

Anonymous said...

So, you have this uneasiness with Maven, but you haven't even tried Maven 2 until now?

I bet you, if you would list the things you dislike about Maven, you would find most of them fixed in Maven 2.

Don't let any previous bad Maven 1 experience hold you back from using Maven 2. They're very different.

Graeme Rocher said...

@Jaeger

I have tried Maven 2 many times, I just don't like keep junk on my machine ;-)

Seriously though, I am pleased we are able to support Maven users

Anonymous said...

Good news. Maven 2 has given a non-Grails project at our organization a huge boost in productivity due to best-practice usage.

I dont understand the Maven2-hate.

Unknown said...

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.

Thanks!

Tim O'Brien said...

GMaven is a great piece of work BTW. Thanks to you and Guillame for all of your good work on the integration between Maven and Groovy.

Paul Sundling said...

Great, thanks for adding maven 2 support.

Anonymous said...

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...

Paul Sundling said...

@Anonymous

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.

Paul Sundling
http://www.gamerleague.com

Anonymous said...

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?

Anonymous said...

Graeme, that should be "thoughts" (not "thought's) about software development.

Anonymous said...

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.

Grails and Maven each serve almost opposite purposes: Ultra-agile (but somewhat monolithic) development and stable (but somewhat dull and complicated) code reuse.

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?

jsanca said...

Great news, Today Maven is used in any open source as source distribution and repository dependency as well.

Jsanca
http://jsanca.ticoblogger.com/

Anonymous said...

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.

Then the wolf went World Of Warcraft Goldaway to a shopkeeper and bought himself a great cheapest wow goldlump of chalk, ate this and made gold4power.com his voice soft with it. The he came back, knocked at the door of the house, and world of warcraft gold salecalled, open the door, dear children, your mother is here and Cheapest Wow Goldhas brought something back with her for each of you.

Chad said...

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?