Maven 2 & 3
  1. Maven 2 & 3
  2. MNG-2806

Provide a means of replacing one mojo binding with another, without knowing the location of the first binding in the lifecycle

    Details

    • Type: New Feature New Feature
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Incomplete
    • Affects Version/s: 2.0.4
    • Component/s: POM
    • Labels:
      None
    • Complexity:
      Intermediate
    • Number of attachments :
      0

      Description

      Lifecycle phase-bindings that are inherited from parent POMs or packaging-mappings are invisible to the user, without sometimes extensive research into the POM lineage and/or the extension artifact source that brings in the packaging-mapping.

      For end users in a large development environment, it should be possible to replace an inherited mojo binding with one specified in the local POM, without needing to know what phase that binding is attached to. It is possible to see the full mojo ID and execution ID for a replacement target in the debug output of a build, but phase transitions are not logged...which makes researching the phase-location of a mojo binding quite difficult. Replacement should be available at either the execution level, or the mojo level within a specified execution.

      If replacing a mojo in the lifecycle mapping given by the project's packaging, the executionId for the replacement should be 'default'.

      This feature should be accompanied by a new mojo in the help plugin which can print out the effective build steps in that project's lifecycle, to help with debugging replacements, etc.

        Issue Links

          Activity

          Show
          John Casey added a comment - See http://docs.codehaus.org/display/MAVEN/Suppression%2C+Ordering%2C+and+Replacement+of+Plugins+and+Mojos+Bindings for more info.
          Hide
          Aaron Digulla added a comment -

          In the AROS project, we have implemented such a system and it works pretty well. See my comment on http://docs.codehaus.org/display/MAVEN/Lifecycle+and+Plugin+Handling for more details.

          Show
          Aaron Digulla added a comment - In the AROS project, we have implemented such a system and it works pretty well. See my comment on http://docs.codehaus.org/display/MAVEN/Lifecycle+and+Plugin+Handling for more details.
          Show
          John Casey added a comment - See also: http://docs.codehaus.org/display/MAVEN/Deterministic+Lifecycle+Planning
          Show
          Jason van Zyl added a comment - Please refer to https://cwiki.apache.org/confluence/display/MAVEN/The+Great+JIRA+Cleanup+of+2014
          Hide
          Jason van Zyl added a comment -

          Please refer to https://cwiki.apache.org/confluence/display/MAVEN/The+Great+JIRA+Cleanup+of+2014 if you're wondering why this issue was closed out.

          Show
          Jason van Zyl added a comment - Please refer to https://cwiki.apache.org/confluence/display/MAVEN/The+Great+JIRA+Cleanup+of+2014 if you're wondering why this issue was closed out.

            People

            • Assignee:
              Unassigned
              Reporter:
              John Casey
            • Votes:
              3 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: