Hi, I was wondering, how do people feel about developing "common", "universal", "generic" build.xml scripts for common needs?
I have hordes of mini-projects on the go, the end result of each is: - a jar file - some javadocs - some config files - the above all packaged as a .tar.gz and .zip My very first build.xml was copied from an Apache project, and hacked to meet my needs. Subsequent projects were all cut-and-paste affairs. Over time, as I noticed that most projects are pretty similar, I formalized this by creating a "generic" build.xml, and an associated template project structure. This system has been working nicely for many months. Project-specific customizations are all kept to an external build.properties file, which allows the build.xml to evolve independently. I'm sure other people have evolved similar solutions. Sooo.. how about evolving some _shared_ solutions? Of course, what constitutes a "good" build.xml is extremely subjective, and even if the scope is strictly regulated I doubt we could reach "consensus". Multiple solutions are fine with me. But *whatever* we can achieve together is better than what we can achieve independently. The big winner should be newcomers, who just want to get their code building. They can now download a "turnkey" solution; plug your code in and go :) Ant gains new users, and today's newbies are tomorrow's contributors. So what I'd like to know from y'all: 1) Does this sound workable? (and for what definition of "this"?) 2) Do you have a generic build system to contribute? If there's critical mass, let's wander off and form a sourceforge project to discuss it; come up with categories, associated solutions, document pros and cons; then come back here and twist arms until they let us form a jakarta-ant-template subproject :) To get the ball rolling, I've put up my attempt at: http://opensource.socialchange.net.au/build/ I've attached -projecthelp output at the end, to give you a brief idea of what it does. But let's discuss the general concept on this thread, rather than my implementation. Looking forward to everyone's comments :) --Jeff jeff@expresso:~/sco/share/doctype$ ant -projecthelp Buildfile: build.xml Default target: main Main (default) target Main targets: clean Cleans the build result. compile Compiles the source code compile-tests Compile the unit tests dist Create a distribution with documentation dist.lite Create a minimal distribution with no documentation dist.tgz Creates a .tar.gz distribution dist.zip Creates a zipped distribution docs Build the non-javadoc docs jar Creates a jar of the code javadocs Creates the API documentation main Main (default) target prepare Prepare the directories prepare-tests Create minimal unit test directories test Run the unit tests test-report Run the unit tests and generate HTML reports Subtargets: clean-test copy-bin copy-conf copy-docs copy-licenses copy-resources ctags define-tokens docs_check docs_delegate init javadoc_check BUILD SUCCESSFUL Total time: 1 second -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>