Apache Maven 1.0 Released
darthcamaro writes "internetnews.com is running a story on the release of Apache Maven 1.0 this week. Maven is a very robust project-management and project comprehension tool that is unparalleled in either open source or proprietary software. 'Maven has a long history of pushing out beta after beta, so this is definitely an important release,' Jason Van Zyl, Maven architect release manager, told internetnews.com. 'For users it means that they will have something reliable now for their production builds.' From some of the comments that Van Zyl makes in the story though, it look like the upcoming 2.0 version will be the real killer app, though 1.0 is certainly nothing to sneeze at either..."
http://maven.apache.org/
We have started using Maven for in-house development and it really simplifies things. Being able to declare dependencies on libraries, etc, and have Maven go and grab the correct versions during build is cool enough, but all of the reporting and site building tools are really incredible. The PHBs were very impressed with the code analysis reports that it generates, and the CVS annotation of code is very nice for our internal sites. It takes a little getting used to, but if you've used Ant, you're halfway there.
Derek
Don't Panic...
The Bileblog has an alternative view on Maven.
Sadly, the headline also left out the rather key information that this tool is for Java projects only.
... alas, this one is yet another myopic product of the "Java is the whole universe" generation.
... but there is a larger world out there you know.
I was quite looking forward to a revolutionary project management tool
Java is great
I still don't know what it is :(
Imagine a superset of `ant build` that not only compiles your binaries, but also generates your documentation and install and test everything you need to run your application out-of-the-box in a single step.
What I got from JAM that is useful to me:
It's technically possible but part of the point of the thing is that you don't have to spend forever writing build scripts to get going. So once there's a set of users writing plugins with better support for (e.g.) C# and C++, sure it'll be agnostic.
Right now it's effectively a Java tool since most of the plugins are for Java (jar, javac, javadoc, junit, etc).
Unfortunately most people seem to hate it.
;-)).
Maven mailing list(s) is one of the most active ones, with +50 messages a day. Most articles and comments at ServerSide, IBM DeveloperWorks and elsewhere are quite favorable toward it. Many major projects (e.g. Geronimo) are using it.
I dont like supposed development aides thats want to tell me how I should organise everything to suit its quirks rather than my preferences.
Maven follows well established practices (e.g. directory structure) from the Apache Jakarta projects. Accustomed to Ant's freedom, I also was unhappy with some defaults/behaviors initially, but gradually all of them made sense.
Its really irritating when this demands vast amounts of configuration to achieve
I interpret this to mean that attempting to implement your quirks in Maven took vast amount of configuration to achieve, and have no objection to that.
Another massive configuration effort is required when an existing complex and rather quirky Ant build of a large application is migrated to Maven (as it was in my case, I should mention that I wrote also the Ant build
But starting with Maven on a common medium-sized app is relatively easy when using the GenApp plugin.
requires a scripting language who creator has apologised for creating an abomination
I agree here. I also do not like the idea of executable XML, of using XML as a programming language. Please note, however, that Jelly is an interface for tags in Maven used to implement plugins. In principle, any mechanism for embedding tags will do (and there is significant work in this direction for v2 AFAIK).
So, apart from personal taste, Maven is quite a solid production-ready project build and comprehension tool.
--
Svetlin