Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-5665 Advanced Lifecycle Handling
  3. MNG-5666

Divide lifecycle in prePhases, phases and postPhases




      Original proposal

      PROPOSAL 1: PerProject and PerPhase Executions

      I've recently introduced the installAtEnd/deployAtEnd as an experimental feature which should improve the behavior of Maven without having to wait for the implementation in Maven Core, which would have a huge impact.
      The reason is that you only want to install and/or deploy only after all modules have been build and verified successfully.
      This feature works for most projects, however there are cases which cannot be solved by the plugin solution and require a change in the handling of lifecycles in Maven Core.
      Up unto the verify-phase you want to execute all phases per project, whereas the install and deploy should be executed per phase.
      Consider a root project with 2 modules, these should be executed like this

      root : validate ... verify
      module1: validate ... verify
      module2: validate ... verify
      root : install
      module1: install
      module2: install
      root : deploy
      module1: deploy
      module2: deploy

      After one of the google hangout session we came up with the following idea: divide the build in pre-build, build and post-build
      First the pre-build would do a validate of the whole project.
      The build runs from initialize up to verify
      The post-build would handle the distribution, being install/deploy


        Issue Links



              Unassigned Unassigned
              rfscholte Robert Scholte
              16 Vote for this issue
              25 Start watching this issue