I'm currently looking at "streamlining and segmenting" a project I'm working on. The original build file was a set of build scripts, one for Unix and one for Windows. This (kinda) moved over to ANT at some point, but a lot of good features ( like using properties to hide platform dependent paths, failing the build when a target fails, etc. ) weren't really used. Plus, the output produced by the build is one big, monolithic JAR file. I'm thinking about splitting up the output into one JAR file for each "module" in our project, and one for the interfaces and common files all the modules use.
As I see it I have two choices for doing this. I can make one big ANT build file with a target for each of these modules, or I can make an ANT build file for each module and have a master ANT file call all of them. I'm leaning toward the last approach because the project also has separate "platforms" they can be based on, which may change the code in one or more of the modules. I'd like to also save all the paths and other properties in one master properties file that can be switched out based on the platform, OS, etc. so that the actual files don't have to be edited all the time by people doing the builds.
Is the one master ANT file, one ANT file for each module, one properties file a good choice in this case? Any things to look out for?
Write once, run anywhere, because there's nowhere to hide! - /. A.C.