On 8 Mar 07, at 10:54 AM 8 Mar 07, Raphaël Piéroni wrote:

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

As long as this is not bound to the archetype mechanism. There should be no interactivity interfaces touching archetype. A simple Map/ Properties should all should be fed in. I will look at the code but no coupling to input mechanisms.

- the interactive configuration of the archetype to create a project from - the interactive configuration of the archetype created from a project


Same goes for these two things. Do not bind the interaction to the core. You can do it in the Mojo but not in archetype itself.

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


Cool.

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

I would put this list in JIRA under a new component in ARCHETYPE if you have not already.



The plugin don't have backward compatibility yet.

I have some thoughts on this and should be easy to support.

Jason.


Regards,

Raphaël


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to