[ http://jira.codehaus.org/browse/MRELEASE-235?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
William Ferguson updated MRELEASE-235: -------------------------------------- Attachment: MRELEASE-235-patch.txt This patch adds another preparation phase (run-post-preparation-goals) that runs like so: <phase>scm-commit-development</phase> <phase>run-post-preparation-goals</phase> <phase>end-release</phase> It allows execution of user-defined goals during the release:prepare but after the project has been released. Eg updating of SCM properties to refer to new tag - subclipse:tags property. I have added test case for it which is essentially a copy of the RunPreparationGoalsPhaseTest. Any chance it can be included with 2.0-beta-6 since another build is going to be required anyway (due to http://jira.codehaus.org/browse/MRELEASE-236) ? > 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 > Attachments: MRELEASE-235-patch.txt > > > 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