Logo Brian's Enterprise Blog
Bringing the Enterprise to the Build
 

Maven is NOT going away

gotta love the FUD

A recent blog post posited "Is Maven going away?". Almost certainly the title is FUD trolling for visitors as the main issue posed is easily solved by a well known plugin. It's been a long time coming, but the stars are aligning for some serious movement in the Maven world...

Firstly, a 2.0.10 RC should be coming soon as John has been chipping away at issues. Similar to the 2.0.9 release, we are focusing 2.0.10 on killing regressions introduced in previous releases and tackling the most popular issues.

Secondly, Jason and Oleg have been working hard to complete the rewrite of the Maven Artifact module. This introduces more reliable transport layers and more correct dependency range resolution via a SAT algorithm. An Alpha of the M-A is expected soon and then an Alpha of 2.1 shortly thereafter.

The Alphas of 2.1 lay the groundwork to solving some of the largest issues with 2.0. Things like Lifecycle introspection and Pom format flexibility in the form of pluggable project builder techniques. This will allow Model upgrades as we move forward, one thing that caused us much pain in 2.0 as many proper fixes or great ideas required subtle changes in the model.

To top it all off, Maven is getting some first-class citizen support in the IDE.

So to answer the question, no, Maven is not going away. We're just getting started.

Update: Josh pointed out that my blog didn't address Warner's core complaint of Maven. It wasn't really my intent to do that here because I posted a comment on his blog to show him how to easily do what he wanted to do. Here's my longer response to the core issue:

The core issue raised by Warner seems to be that Maven doesn't support multiple languages out of the core.

The fact is that Maven doesn't really support any languages out of the box as everything is done by plugins. Yes, the model by default doesn't support multiple src folders.

However, in order to compile/generate something other than Java, you need a compiler plugin written to handle this. That same compiler plugin can add as many src folders as it sees fit. The whole idea is that the plugin should do the work and provide sensible conventions to make it easier for the user.

The goal of the core is to make this possible for the plugins. If we start throwing in tons of model changes to support every edge case, then we've really lost the Convention over Configuration, a key Maven concept.

The NMaven project is a good example of what can be done with the current Maven core. The trunk version of this code essentially adds on new plugins that define packaging and lifecycles to build .NET artifacts.

The Nar set of plugins are another good example of defining whole new processes via plugins and lifecycles. If those things are possible without modifying the model, surely most other languages can be supported also?

If no, then lets discuss it on the Maven list where a proper proposal can be put together and then implemented.



Re: Maven is NOT going away

I think it is worth clarifying that the upcoming alpha releases don't actually include any of the artifact and project builder rework, at least yet. They're still occurring in the sandbox, haven't got official community consensus, yada, yada :) Otherwise I wholeheartedly agree - I've posted some thoughts on my blog as well.

Re: Maven is NOT going away

The lifecycle introspection is already in trunk, but the other things mentioned will likely not be in the first alpha. (to be fair, i said Alphas but point taken)

Re: Maven is NOT going away

When taking about IDE Support are you miss something other than M2E ? ;)

Re: Maven is NOT going away

"Almost certainly the title is FUD trolling for visitors as the main issue posed is easily solved by a well known plugin"

Two bits about writing such entry lines: it would have been great to resume your alleged FUD point, and even better to name the maven plugin. Otherwise your post looks like, well, FUD.

Re: Maven is NOT going away

I had already posted the following comment to the blog before I wrote my entry but I should have included it in my assertation:

"To add multiple source directories, simply use the build-helper-maven-plugin, or better...the plugin implementing the compiler should define and add them itself. The intent was to provide one default to the default java compiler, but the plugin api makes it possible (and desired) for new compiler plugins to be able to define their own standard and tell Maven about it."

Re: Maven is NOT going away

I agree that Maven is not going away. It is too useful a build system.

However, calling, m2eclipse "first class IDE support" is a big load of $%^&*. True, the plugin has come a long way. And it is moving forward in amny good ways.

But, it is (and has been for a while) completely broken for multi-module web apps. In fact, it can take a perfectly working multi-project web app in Eclipse, and break it. Heck, there isn't reliable support for WTP2.0 (which has been out for quite some time now).

I love Maven. Yes it has it's warts (mostly because of buggy and poorly documented plugins). I think there is a future for m2eclipse but, let's not be hasty by calling a barely functioning plugin "first class". That type of statement can ruin credibility.

Re: Maven is NOT going away

I happen to be biased about M2e, but i meant to say "first-class citizen" as in the plugin is bringing Maven integration to Eclipse that has been missing for a long time.

I've used M2e exclusively for my development now since December and It's working great for me. There are a few issues with projects that hard code /target into their system, but we are working on making that better and there is an easy work around.

Re: Maven is NOT going away

I believe that when complete that m2eclipse will be widely used.

If it works great for you, I wish you would share how. Just looking at the activity on the mailing list (and the number of "me too" posts and the number of unanswered questions) shows there is still a ways to go. The reporting issues page has enough steps to scare off most potential bug reports.

http://markmail.org/browse/org.codehaus.m2eclipse.user
http://docs.codehaus.org/display/M2ECLIPSE/Reporting+Issues

For me, the m2eclipse plugin is completely unusable. I wish it could use code from the "maven-eclipse-plugin" which works great.
The GUI editor doesn't work at all. Right now, I point my browser at nexus, and edit poms by hand, then run "mvn eclipse:clean eclipse:eclipse", refresh and rebuild. That works great.

I really appreciate that the work is being done, just wish I could use it.

The truth is, I wish these folks who get it to work flawlessly would share some information as to how. Besides myself, there are many people on the mailing list in a similar situation.
Seems like most issues on the list end up:
- ignored
- blown off
- receive overly-complicated work-arounds that are worse than just not using the plugin

Re: Maven is NOT going away

Which part is specifically not working for you? We definately want to know.

Re: Maven is NOT going away

I use maven and m2eclipse and couldn't imagine live without either. It's good to hear that maven is moving forward in tangible terms. Sometimes a little of such news is all that's needed to reassure so thanks for that. Although I follow this blog and euxx's as well it'd be good to have an official resource (blog) on all maven movement and progress.

Re: Maven is NOT going away

We collectively tag and aggregate Maven related blog postings that we find, you can subscribe here: http://pipes.yahoo.com/sonatype/mavenblogroll

Re: Maven is NOT going away

It looks like Maven 2 has built in support in both IntelliJ and NetBeans, from the tool authors themselves.  I'd call that first class. :-)

http://www.jetbrains.com/idea/features/ant_maven.html
http://blogs.sun.com/geertjan/entry/maven_opening_new_doors_for

Cheers,
Jim

Re: Maven is NOT going away

"First-class support" implies, to me, that the IDE has support, out of the box, without requiring a separate install of a third-party plugin. Eclipse has first-class support for Ant and CVS, but not for Maven or SVN - a fact that continues to surprise me more and more as time goes on and the situation doesn't change.

We're lucky that there are third-party options at all, and pretty decent ones at that. But they still have a ways to go, most notably in the lack of smooth support for multi-module projects.

Re: Maven is NOT going away

You define first class citizen the same as I...we are very close:
http://dev.eclipse.org/newslists/news.eclipse.technology.m2e/maillist.html