From http://docs.codehaus.org/display/MAVEN/Suppression%2C+Ordering%2C+and+Replacement+of+Plugins+and+Mojos+Bindings one critical advantage of Maven over Ant or other build systems is its universal, intuitive set of verbs used to build any project, it is imperative that we preserve the meaning of these verbs and not water them down with subtle variations and modifiers Allowing people to create new lifecycle phases willy-nilly will remove the whole concept of having an intuitive set of verbs that are common across all Maven projects.
I agree that the current set of verbs _may_ be missing one or two phases, but we need to remember that in some cases the pre- and post- phases are just a hack. Actually, thinking about this a bit more I think that the main lifecycle is probably complete and once good mechanisms for replacing executions and ordering executions within a phase are available, we should be able to trim back the pre- and post- phases to remove the very hacky ones. Currently, the "Main" lifecycle looks like: - validate - generate-sources - process-sources - generate-resources - process-resources - compile - process-classes - generate-test-sources - process-test-sources - generate-test-resources - process-test-resources - test-compile - process-test-classes - test - package - pre-integration-test - integration-test - post-integration-test - verify - install - deploy Now, I understand why we have a pre-integration-test and a post-integration-test phase. The idea being that we'd attach a mojo execution to the pre-test that starts up our integration test environment and another to the post-integration-test phase that stops the container for us... I was going to write that I'd want a pre-test and a post-test phase as well because sometimes I want a mock container that is started up for unit and functional tests... but then what happens when I type "mvn test" or "mvn integration-test"? My container is started and never stopped! What I really want is a way to wrap a phase with a mojo, that gets rid of the need for all the pre- and post- phases that people look for. I also think we need a separate phases for roll-out type activities, I would propose placing one phase between integration-test and verify - ... - package - integration-test (as these are tests of the package) - stage (my idea here is that we deploy the artifact to a dev- or qa- container) - verify (here is where I would bind acceptance tests) - install - ... and the other phase after deploy - ... - deploy - use (my idea here is that we deploy the artifact to the live environment!) On Feb 11, 2008 8:44 AM, Wouter Hermeling <[EMAIL PROTECTED]> wrote: > > Reading through the Deterministic Lifecycle Planning page... > > Do these changes make it possible to create new lifecycle phases??? > > Imho this would really help maven to become an extendable build/project > management tool for multiple platforms and purposes. > -- > View this message in context: > http://www.nabble.com/Please-comment%3A-2.1-Lifecycle-Features-on-MAVEN-Confluence-space-tp15170452s177p15407416.html > Sent from the Maven Developers mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
