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

                 Key: MRELEASE-235
                 URL: http://jira.codehaus.org/browse/MRELEASE-235
             Project: Maven 2.x Release Plugin
          Issue Type: New Feature
          Components: scm
    Affects Versions: 2.0-beta-6
            Reporter: William Ferguson


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 release.properties 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 ?

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to