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]