CruiseControl & Modularity
Friday, August 26th, 2005I’ve just setup, here at NewBay, CruiseControl 2.2.1. There was nothing to it except…
1. On Linux the p4 plugin in cruise is a bit foo. Had to hack P4.java to get this to work.
2. I also hacked cruises Schedule.java in an attempt to fix what looked like a date parsing issue. In the end taking out the multiple property in the config.xml sorted this out.
So then I had finally a stable cruise up and running polling our perforce server. Next I decided to indulge myself and get a ‘modular’ build up and running. ‘Modularity Build’ is a tool by Malcolm Sparks that essentially replaces the need for maintaining your ant build script when introducing dependencies, extracting source trees, removing dependencies etc… Basically it has been my experience that with a little upfront effort (not much mind you; creating some templates) that using modularity-build reduces or completely removes the need to maintain your build script. It also allows you to extract modules of code with hierarchal dependencis that lead to a much cleaner seperation and ultimately complete reuse among other projects. How does modularity-build know what your projects dependencies are? Simply point it at your IDE of choice’s project file!
Once cruise was building our project; I put modularity to the test… There were a few obvious modules lingering in our code base. In IntelliJ -> Create new modules, move a bunch of source files over, setup a dependency and commit!
Next thing ya know cruise is reporting a successful build. Modular Bliss.







