Hmmm, spotted that one of my wishes got into my description of the "current" main lifecycle, i.e. process-test-classes
I'm thinking that some of those process- phases are also hacks! Once we have the ability to control the sequence of execution, those process- phases could be removed... giving us - validate - generate-sources - generate-resources - compile - generate-test-sources - generate-test-resources - test-compile - test - package - integration-test - stage - verify - install - deploy - use Now only three of these look ugly to me! the test- phases... OK, so I might have some tool that generates unit or functional tests based on annotations in my source code, or byte-code processing, so I do need a generate-test-sources phase after compile, and a separate test-compile phase after it. Also, test resources might take a while to generate, so I'm stuck with having generate-test-resources as a separate phase after compile... On a slightly different note, I'd like the clean life-cycle to have a final step, "revert". So that we can both clean our produced artifacts, and revert our changes! I'd also change "site-deploy" to "publish" as it is really just publishing the site! On Feb 11, 2008 9:33 AM, Stephen Connolly <[EMAIL PROTECTED]> wrote: > 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] > > > > >
