Hi here comes a new proposition for the future descriptor.
I made it the most simpler i can think. Please comment it. Regards, Raphaël <archetype id="archetype-artifact-id" partial="true|false" > <!-- id is mandatory and partial is optional (defaults to false) --> <requiredProperties> <!-- optional element as common required properties are groupId, artifactId, version and package (aliased with packageName when calling the mojo) --> <!-- maybe in flat mode --> <requiredProperty key="propKey" default-value="string to replace" /> <!-- key is mandatory and default-value is optional --> </requiredProperties> <fileSets> <!-- maybe in flat mode --> <fileSet filtered="true|false" packaged="true|false" /> <!-- filtered is optional (defaults to true) --> <!-- packaged is optional (defaults to true) --> <directory>src/main/java</directory> <!-- directory is mandatory --> <includes> <include>**/*.java</include> </includes> <!-- includes is optional (defaults to "**/*") --> <excludes> <exclude>Main.java</exclude> </excludes> <!-- excludes is optional (defaults to "") --> </fileSet> <!-- the generated project's pom.xml file don't have to be defined in the fileSet as it is mandatory to have this file for a maven project (even partial ones) and therefore, the generation will always try to generate one using filters on it. --> </file-sets> <modules> <!-- modules is optional --> <module id="module-artifact-id"> <!-- id is mandatory --> <fileSets/> <!-- fileSets is the same as in archetype --> <modules/> <!-- modules is the same as in archetype --> </module> </modules> </archetype>