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]
> >
> >
>

Reply via email to