The goal is to refactoring continuum-core to remove :
- use of PlexusAction and the context Map which is a real nigthmare to debug ( ) and/or add improvment.
- easily add news feature (the plugin feature !)
Using a lifecycle "a la" maven
- easily adding new phases (something to do in the start/middle/end of the build).
- attach plugins (a phase has a default plugin which is not possible to override)
A particular one checkout-sources ("a la" clean). possible to add plugins here ? (with a previous phase called prepare-checkout-sources ?)
- end-build ( ? )
A common interface for all phases or one for each phase
One for all
One interface for each phases
Note the default one will instantiate scmResult for the next ones
This phase will add some BuildReport bean (to define) in BuildResult as a List which will be available for next phases.
Each phase will have a default implementation which cannot be override.
Attaching plugins to project build will be done at the build definition level. (easy to build some templates).
Each plugin will have an archetype.