I'm looking for a way of packaging different products out of a common base. This could be, for example, for packaging a light version of a product or a specially customized edition.
The differences between my different products are mainly the following:
Producing different configuration files (text files) out of a single one (could be slight differences or larger blocks removed, added, etc.)
Filtering (removing), adding or overriding groups of files (help files, entire modules, etc.)
I'm exploring different solutions related to either Maven or Ant (or whatever else). For example: using a velocity plugin to generate the different config files at build time.
I'm wondering though if there are better tools to adress that kind of problem. There are lots of commercial products out there that are distributed in different "flavours" so I'm thinking there must be existing tools or best practices for creating different packaging like that.
Any insight would be appreciated!