Hi all, Here is the resent of a mail i sent on [EMAIL PROTECTED]
I would like to introduce the work i have done so far concerning archetypes. I have improved the current archetype mecanism by adding - the interactive selection of the archetype to create a project from - the interactive configuration of the archetype to create a project from - the interactive configuration of the archetype created from a project To acheive this i needed to refactor the archetype descriptor and workflow. I must admit having stole some code from current implementation :). You can checkout the sources in the mojo sandbox. Just beware when checking out the sources in Windows, the source tree is quite deep and breaks. I will be happy to have some feedback about it. The plugins comes with a little pack of archetypes. The core goals are : - generate: to generate a project from an archetype - create: to create an archetype from a project This first implementation have som limitations as the archetypes are for now mono-project. I copy my current todo list for starting point to discuss about : - package mojo: to jar the created archetype - sample properties mojo: to provide a sample configuration file for an archetype (which could be filled and used in batch mode) - descriptor with attributes: refactor the current archetype descriptor to use attributes instead of xml elements - generate multi project: to generate a project and its internal modules from one archetype. - create multi project: to create one archetype from a project with modules - CRUD group mojo: mojos to change the archetype groups defined in the ~/.m2/archetypes.xml - Documentation: Document the workfow of user interaction, explain the internal plexus components - integration tests and sibling: handle directories other than src/main, src/test, src/site. a first case would be integration tests - pom.xml sibling: handle templates in the main directory. some use case would be readme files - translator: create a tool to translate current archetypes into this new way - archetype group metadata: create a new group metadata for archetypes (same way as plugins metadata) therefore we could have a archetype packaging. - velocity tools in templates: provide the official velocity tools to be used by archetype creators The plugin don't have backward compatibility yet. Regards, Raphaël