> -----Original Message----- > From: Dominique Devienne [mailto:[EMAIL PROTECTED] > Sent: Tuesday, 6 December 2005 1:47 AM > To: Ant Users List > Subject: Re: Inheriting patternset refid > > > > I refactored a 12,000 line build down to just over 1,200 > using these > > > techniques. > > > > Wow - even 1,200 is massive! > > Just for reference my largest build file is 170 lines (including > > license > > header) and the more frequent scenario is just 4 lines. > > Steve, my own builds, even after heavy factorization, almost > always weighted more. I'm getting really interested in how > you achieve what you talk about.
Ant is a brilliant tool for generic building but Ant is not aimed at build management. The solution that works for me is a small application that reads information in from a central XML repository of project definitions. http://www.dpml.net/depot/cli/index.html The application locates information about the project to be built including base directory and optionally a template file. It then launches a plugin builder of choice to do the actual build. http://www.dpml.net/depot/library/index.html The plugin I use is basically a very small class then creates an embedded Ant project, parameterizes it with a base directory and template, and adds a build listeners depending on the types of resources that the project produces (jar file, meta-data, etc.). The listeners do most of the work based on build event fired by template. http://www.dpml.net/depot/tools/index.html > Are there any example free available for perusing? I'd love to learn more about the > techniques you're using, and probably the Ant extensions you use ;-) There are examples and they are freely available but you'll need to do an SVN checkout and build (no binary download at the moment) - and you'll need to be running on windows because there are some simple but necessary nix scripts outstanding. http://www.dpml.net/about/resources/build.html Cheers, Steve. -------------------------- Stephen McConnell mailto:[EMAIL PROTECTED] http://www.dpml.net --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]