I think that Maven is a great tool for development. But it can be used for more. For instance, I've just prepared things so that starting from a clean room you can try out my lightweight CMS, NorthernWind, by just invoking a couple of commands. They will install and run NorthernWind, an embedded server and an example site. More information at the NorthernWind blog.
There are many things, mostly implementation-related, that can be blamed on Maven, but I think most people agree on the fact that the POM concept (a declarative model of your project) is a good thing. Among other things, it allows to run a new plugin often with a minimum of configuration, or no configuration at all. For instance, a few days ago I was pointed to the Clirr plugin, a tool that...
Given that Maven is much more complex than Ant, and it dinamically resolves dependencies, people are right to be concerned with having deterministic builds. But the vast majority of problems are solved by just three good practices:
version everything, including all Maven plugins
run once in a while mvn dependency:go-offline, that will download all the required stuff
routinely use mvn -o (offline...
In the past weekend I've been able to improve the settings for
automated Maven releases that I've
blogged about about ten days ago. Peter Mount complemented
the information with some practical examples on how to use
that stuff invoking Maven with the proper parameters. I've been able to
significantly clean up and improve the Maven configuration, so now a
staged release can be performed...
After the latest upgrade of my Hudson instance, I noticed that a new option in the security matrix appeared: it allows anonymous visitors to have a (read only) look at a job configuration, if the administrator allows it. I think it's a great feature (that I was asking for some months ago), as it allows to share our knowledge about our favourite CI tool.
So I've opened most of my jobs and you can...
Today I've made some improvements with my Mercurial + Maven + Hudson
setup - and reached a new level of karma, being able to do automated
Let's go in order. First let me recap what happens with the Maven
release plugin (mvn release:prepare release:perform) and Mercurial:
A check is performed that there are no uncommitted changes
and a build is performed as a validity proof.
During my last years before getting the master degree, I have been working at a free flight simulator. It run under DOS and was named FGFLY. It was written in C++, initially Borland C++ and later Watcom C++, in order to use a memory extender to bypass the infamous 640k limit. At the time I just was a student able to earn a few money with programming, and couldn't allow to spend a lot in hardware...
When I started the mavenization of my projects, in July, I really didn't
figure out that it would have been such a painful and long process. It
is literally consuming me - also because I'm longing to see the end of
the conversion, so I can resume the development.
The first mavenized projects, BetterBeansBinding,
were reasonably easy, also considering that I had to...