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

Reply via email to