Tagyu4J v0.3 and BlogMap4J v0.2 have been released. Included in this release:
The use of Maven2. Spent some time on figuring out the equivalent of Maven1 goals in Maven2, e.g. distribution plugin in Maven1 is now assembly plugin in Maven2.
Lots of code refactoring, lots of ‘Why did I do it that way?’ moments.
More unit tests with the aim of high test coverage and low code complexity. The effort of adding unit tests leads to code refactoring, should’ve done it much earlier.
My plan is to Maven2ised the rest of my projects (Wish and the Blojsom plugins). With the recent effort on Blojsom 3 where David changed (for the better) the names of classes, methods, etc, my Blojsom plugins should now support Blojsom 2 and Blojsom 3 compatible builds. I’m thinking to use sub modules in each plugin project by pulling the plugin logic to a *-core module, which will be the dependency of *-blojsom3 and *-blojsom2 modules within the same pom.
My overall thoughts on using Maven as a build tool: I don’t see any reason of using plain Ant anymore while most of the things needed are readily available in Maven. At times you might need to do something very fancy where you need to create an Ant script or write your own Maven plugin.
I’ve heard the argument against using Maven because Maven is seen as another learning curve for the developers. My response to it is that I believe Maven is something worth learning and getting used to, really, it will simplify your life and it will help your projects (and fellow developers) in the long run.
Moreover, Maven is more than a build tool.