Okay, so I got the idea to start automating my testing and building process. And I got myself in trouble.
Here’s what I’m faced with:
I need to automate my process for six main targets, each comprised of smaller units (that end up being in Ant). These targets are lib, resources, client, server, common, and tools.
I’m trying to come up with a logical scheme to have Ant build each of these. For two of them, lib and resources, the build.xml script I have just copies jar files. In some cases these jar files were created by other Ant scripts that takes raw files and makes jar files for me. So this is just a straight copy.
The other four targets are code, and need to be compiled. So far, no problem, the task is doing its job.
Where I am stuck:
I have a four part numbering scheme for builds. I have the major.minor.patch stored in one file, and the build number in another. My problem is: how many build number files do I need? Are the build numbers for each of the six main jobs separate, or is a build a FULL BUILD OF ALL CODE AND RESOURCES? Could not, say, the build of the tools code hierarchy (which is its own package) change independently of the common package?
I have another separate script called release.xml that creates a release from the latest builds, based on these files. The script doesn’t yet function, as I haven’t finalized its operation, but in brief it just takes the latest .jar files from the build number directories specified in the build.number files and copies them to another directory elsewhere.
So how do I manage this mess?