The development environment I use at work has a number of tools that all interoperate with each other in various ways. One of the tools central to our work is TargetProcess. This integrates with Subversion to pull through all associated code changes, and provides a nice view of where we are in our projects.
Another critical part of our environment is our continuous integration system – Hudson. This is configured in a fairly standard way; checking for changes in Subversion, updating the local workspace, building, testing, deploying, etc. This automation takes away the tedious, repetitive tasks that a developer would otherwise have to do themselves. It also means that these tasks can be done in a controlled environment on the build server.
One particular piece of the puzzle is still missing, though. That’s the creation of a Build entity in TargetProcess upon successful deployment to our shared development server. Having this task automated will ensure that for every version of the product that is deployed to our shared environment, there is also a corresponding Build in Target Process – allowing any bugs to be logged against the correct build. This has the knock-on effect of adding a lot more value to the quality reports that are delivered with TargetProcess… effectively allowing me to monitor the bug trend across a number of builds.
To solve this problem, I’ve created a Maven plugin for this exact purpose. This has been hosted on Google Code so anyone can suggest changes or participate in the project. I’m busy working on the first release, and will make this available on the central Maven repository as soon as it’s ready. In the meantime, if you have any interest in this, it would be great to hear your ideas. At the moment, my primary goal is to get the Build creation mojo complete – but I’ll then add other functionality if it seems suitable and there is interest.
You can have a look at the project here if you’re interested: https://code.google.com/p/maven-targetprocess-plugin/