Maven Release Plugin
  1. Maven Release Plugin
  2. MRELEASE-235

Need ability to execute goals during prepare after scm-tag but before scm-commit-development phase


    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Duplicate
    • Affects Version/s: 2.0-beta-6
    • Fix Version/s: None
    • Component/s: scm
    • Labels:
    • Flags:


      During release:prepare I have a plugin that needs to be called after the scm-tag phase but before the scm-commit-development phase.

      My plugin updates the subclipse-tags property trunk folder so that Subclipse (Eclipse plugin for SVN) can provide good visual clues on the history tab showing which revisions were released and a what.

      My plugin needs to be able to
      1) read to get the scm.tag
      2) use SVN to retrieve the SVN Revision for the scm.tag (hence need to execute after scm-tag phase)
      3) use SVN to retrieve the subclipse-tags property from the trunk
      4) Append the appropriate tag lines to the retrieve property.
      5) use SVN to update the subclipse-tags property on the trunk
      6) Either use SVN to commit or be comfortable that an SVN commit will occur by other means (hence need to execute before scm-commit-development-phase)

      I'm not sure of the best approach to take. A new phase needs to available in which to execute. Either
      a) after scm-tag but before scm-commit-development in which case I leave the commit to the scm-commit-development phase. Perhaps a little too coupled and hides a little too much meaning, but only generates 2 commits for a release instead of 3.
      b) after scm-commit-development (eg run-post-preparation-goals) which is self contained as it needs to commit. It will generate an extra commit each release, but the commit message can at least clearly relate to update of the subclipse-tags property. I think I'll attempt this.

      I thought I could take the easy approach and run the goal during release:perform, but the basedir during run-perform-goals is project.basedir/target/checkout and points to the Tag not the trunk. So my plugin would become highly coupled to being executed during release:perform as well as having intimate knowledge of expecting execution folders.

      Unless someone interjects I intend on having a go at this and providing it as a patch.
      So if I'm way off base please provide feedback to guide me.

      What's the expected release date for 2.0-beta-6 ?

        Issue Links


          William Ferguson created issue -
          william ferguson made changes -
          Field Original Value New Value
          Attachment MRELEASE-235-patch.txt [ 27553 ]
          Arnaud HERITIER made changes -
          Patch Submitted [Yes]
          Robert Scholte made changes -
          Status Open [ 1 ] Closed [ 6 ]
          Resolution Duplicate [ 3 ]
          Assignee Robert Scholte [ rfscholte ]
          Robert Scholte made changes -
          Link This issue duplicates MRELEASE-621 [ MRELEASE-621 ]
          Mark Thomas made changes -
          Project Import Sun Apr 05 12:15:05 UTC 2015 [ 1428236105845 ]
          Mark Thomas made changes -
          Workflow jira [ 12724058 ] Default workflow, editable Closed status [ 12763309 ]
          Mark Thomas made changes -
          Flags Patch [ 10430 ]
          Patch Submitted Yes [ 10763 ]
          Mark Thomas made changes -
          Project Import Mon Apr 06 00:52:26 UTC 2015 [ 1428281546237 ]
          Mark Thomas made changes -
          Workflow jira [ 12962370 ] Default workflow, editable Closed status [ 13000376 ]


            • Assignee:
              Robert Scholte
              William Ferguson
            • Votes:
              9 Vote for this issue
              5 Start watching this issue


              • Created: