Design Principles for the Ant Script Library

I've uploaded an updated version of the Ant Script Library. It contains support for executable jars, wars, and Apache Ivy. It can be downloaded here: I'm getting around to writing more complete documentation for how to use these, but for the moment I wanted to explain the considerations behind design of these scripts (referred … Continue reading Design Principles for the Ant Script Library

IvyDE Rocks

If you don't want to read through the rest of this posting, here's the conclusion: if you're developing Java applications in Eclipse, you need to give Ivy DE a go. It very elegantly integrates any dependencies declared in a pom.xml or ivy.xml into the Eclipse classpath. (Yes, that's right: it handles Maven pom.xml files just … Continue reading IvyDE Rocks

A Continuous Integration Tool is not a Build Platform

I was studying the code for a CruiseControl build schedule plugin today. Something was bothering me, and it finally occurred to me that the plugin was trying to do the wrong job: it was doing the entire job of running the build logic directly. A quick refresher: CruiseControl first checks for any modifications. If it … Continue reading A Continuous Integration Tool is not a Build Platform

Project Dependencies Using Ant

I've written a new article on managing Project Dependencies using Ant. From the overview: This article discusses a technique for managing the build order of separate sub-projects in a large software system purely using task dependencies within Ant scripts. Unlike other solutions, this technique for managing dependencies does not need any external tasks to those … Continue reading Project Dependencies Using Ant