Author: rfscholte Date: Thu Jul 5 16:48:39 2012 New Revision: 1357733 URL: http://svn.apache.org/viewvc?rev=1357733&view=rev Log: Fix MRELEASE-776: use maven-plugin-tools' java 5 annotations
Modified: maven/release/trunk/maven-release-plugin/pom.xml maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/CleanReleaseMojo.java maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareWithPomReleaseMojo.java maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/RollbackReleaseMojo.java maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/StageReleaseMojo.java maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/UpdateVersionsMojo.java Modified: maven/release/trunk/maven-release-plugin/pom.xml URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/pom.xml?rev=1357733&r1=1357732&r2=1357733&view=diff ============================================================================== --- maven/release/trunk/maven-release-plugin/pom.xml (original) +++ maven/release/trunk/maven-release-plugin/pom.xml Thu Jul 5 16:48:39 2012 @@ -49,6 +49,20 @@ <url>scp://people.apache.org/www/maven.apache.org/plugins/maven-release-plugin</url> </site> </distributionManagement> + + <properties> + <mavenPluginPluginVersion>3.1</mavenPluginPluginVersion> + </properties> + + <dependencyManagement> + <dependencies> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-artifact</artifactId> + <version>${mavenVersion}</version> + </dependency> + </dependencies> + </dependencyManagement> <dependencies> <dependency> @@ -57,6 +71,11 @@ <version>${mavenVersion}</version> </dependency> <dependency> + <groupId>org.apache.maven.plugin-tools</groupId> + <artifactId>maven-plugin-annotations</artifactId> + <version>${mavenPluginPluginVersion}</version> + </dependency> + <dependency> <groupId>org.apache.maven.release</groupId> <artifactId>maven-release-manager</artifactId> <version>${project.version}</version> @@ -121,10 +140,19 @@ <version>${mavenPluginPluginVersion}</version> <executions> <execution> + <id>mojo-descriptor</id> + <goals> + <goal>descriptor</goal> + </goals> + </execution> + <execution> <id>generated-helpmojo</id> <goals> <goal>helpmojo</goal> </goals> + <configuration> + <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound> + </configuration> </execution> </executions> </plugin> Modified: maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java?rev=1357733&r1=1357732&r2=1357733&view=diff ============================================================================== --- maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java (original) +++ maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java Thu Jul 5 16:48:39 2012 @@ -29,6 +29,8 @@ import org.apache.maven.model.Profile; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.Component; +import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.project.MavenProject; import org.apache.maven.scm.manager.ScmManager; import org.apache.maven.settings.Settings; @@ -49,23 +51,20 @@ public abstract class AbstractReleaseMoj { /** * The SCM username to use. - * - * @parameter expression="${username}" */ + @Parameter( property = "username" ) private String username; /** * The SCM password to use. - * - * @parameter expression="${password}" */ + @Parameter( property = "password" ) private String password; /** * The SCM tag to use. - * - * @parameter expression="${tag}" alias="releaseLabel" */ + @Parameter( alias = "releaseLabel", property = "tag" ) private String tag; /** @@ -78,115 +77,104 @@ public abstract class AbstractReleaseMoj * <li><code>version</code> or <code>project.version</code> - The release version of the root project. * </ul> * - * @parameter expression="${tagNameFormat}" default-value="@{project.artifactId}-@{project.version}" * @since 2.2.0 */ + @Parameter( defaultValue = "@{project.artifactId}-@{project.version}", property = "tagNameFormat" ) private String tagNameFormat; /** * The tag base directory in SVN, you must define it if you don't use the standard svn layout (trunk/tags/branches). * For example, <code>http://svn.apache.org/repos/asf/maven/plugins/tags</code>. The URL is an SVN URL and does not * include the SCM provider and protocol. - * - * @parameter expression="${tagBase}" */ + @Parameter( property = "tagBase" ) private String tagBase; /** - * @parameter default-value="${basedir}" - * @required - * @readonly */ + @Parameter( defaultValue = "${basedir}", readonly = true, required = true ) private File basedir; /** - * @parameter default-value="${settings}" - * @required - * @readonly */ + @Component private Settings settings; /** - * @parameter default-value="${project}" - * @required - * @readonly */ + @Component protected MavenProject project; /** - * @component */ + @Component protected ReleaseManager releaseManager; /** * Additional arguments to pass to the Maven executions, separated by spaces. - * - * @parameter expression="${arguments}" alias="prepareVerifyArgs" */ + @Parameter( alias = "prepareVerifyArgs", property = "arguments" ) private String arguments; /** * The file name of the POM to execute any goals against. - * - * @parameter expression="${pomFileName}" */ + @Parameter( property = "pomFileName" ) private String pomFileName; /** * The message prefix to use for all SCM changes. * - * @parameter expression="${scmCommentPrefix}" default-value="[maven-release-plugin] " * @since 2.0-beta-5 */ + @Parameter( defaultValue = "[maven-release-plugin] ", property = "scmCommentPrefix" ) private String scmCommentPrefix; /** - * @parameter default-value="${reactorProjects}" - * @required - * @readonly */ + @Parameter( defaultValue = "${reactorProjects}", readonly = true, required = true ) private List<MavenProject> reactorProjects; /** * Add a new or overwrite the default implementation per provider. * The key is the scm prefix and the value is the role hint of the {@link org.apache.maven.scm.provider.ScmProvider}. * - * @parameter * @since 2.0-beta-6 * @see ScmManager#setScmProviderImplementation(String, String) */ + @Parameter private Map<String, String> providerImplementations; /** * The {@code M2_HOME} parameter to use for forked Maven invocations. * - * @parameter default-value="${maven.home}" * @since 2.0-beta-8 */ + @Parameter( defaultValue = "${maven.home}" ) protected File mavenHome; /** * The {@code JAVA_HOME} parameter to use for forked Maven invocations. * - * @parameter default-value="${java.home}" * @since 2.0-beta-8 */ + @Parameter( defaultValue = "${java.home}" ) private File javaHome; /** * The command-line local repository directory in use for this build (if specified). * - * @parameter default-value="${maven.repo.local}" * @since 2.0-beta-8 */ + @Parameter ( defaultValue = "${maven.repo.local}" ) private File localRepoDirectory; /** * Role hint of the {@link org.apache.maven.shared.release.exec.MavenExecutor} implementation to use. * - * @parameter expression="${mavenExecutorId}" default-value="invoker" * @since 2.0-beta-8 */ + @Parameter( defaultValue = "invoker", property = "mavenExecutorId" ) private String mavenExecutorId; /** @@ -196,35 +184,31 @@ public abstract class AbstractReleaseMoj * * TODO: we should think about having the defaults for the various SCM providers provided via modello! * - * @parameter expression="${localCheckout}" default-value="false" * @since 2.0 */ + @Parameter( defaultValue = "false", property = "localCheckout" ) private boolean localCheckout; /** * Implemented with git will or not push changes to the upstream repository. * <code>true</code> by default to preserve backward compatibility. - * @parameter expression="${pushChanges}" default-value="true" * @since 2.1 */ + @Parameter( defaultValue = "true", property = "pushChanges" ) private boolean pushChanges = true; /** * The SCM manager. - * - * @component */ + @Component private ScmManager scmManager; /** - * @parameter default-value="${session}" - * @readonly - * @required * @since 2.0 */ + @Component protected MavenSession session; - /** * Gets the enviroment settings configured for this release. * Modified: maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java?rev=1357733&r1=1357732&r2=1357733&view=diff ============================================================================== --- maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java (original) +++ maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java Thu Jul 5 16:48:39 2012 @@ -23,6 +23,8 @@ import java.util.Arrays; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.shared.release.ReleaseExecutionException; import org.apache.maven.shared.release.ReleaseFailureException; import org.apache.maven.shared.release.config.ReleaseDescriptor; @@ -34,20 +36,19 @@ import org.apache.maven.shared.release.c * * @author <a href="mailto:eveni...@apache.org">Emmanuel Venisse</a> * @version $Id$ - * @aggregator - * @goal branch * @since 2.0-beta-6 */ +@Mojo( name = "branch", aggregator = true ) public class BranchReleaseMojo extends AbstractReleaseMojo { /** * The branch name to use. * - * @parameter expression="${branchName}" * @required * @since 2.0-beta-6 */ + @Parameter( property = "branchName", required = true ) private String branchName; /** @@ -55,25 +56,25 @@ public class BranchReleaseMojo * For example, <code>http://svn.apache.org/repos/asf/maven/plugins/branches</code>. The URL is an SVN URL and does not * include the SCM provider and protocol. * - * @parameter expression="${branchBase}" * @since 2.0 */ + @Parameter( property = "branchBase" ) private String branchBase; /** * Whether to update versions in the branch. * - * @parameter expression="${updateBranchVersions}" default-value="false" * @since 2.0-beta-6 */ + @Parameter( defaultValue = "false", property = "updateBranchVersions" ) private boolean updateBranchVersions; /** * Whether to update versions in the working copy. * - * @parameter expression="${updateWorkingCopyVersions}" default-value="true" * @since 2.0-beta-6 */ + @Parameter( defaultValue = "true", property = "updateWorkingCopyVersions" ) private boolean updateWorkingCopyVersions; /** @@ -86,42 +87,42 @@ public class BranchReleaseMojo * to avoid poms with released versions in all revisions of your * trunk or development branch. * - * @parameter expression="${suppressCommitBeforeBranch}" default-value="false" * @since 2.1 */ + @Parameter( defaultValue = "false", property = "suppressCommitBeforeBranch" ) private boolean suppressCommitBeforeBranch; /** * Whether to update versions to SNAPSHOT in the branch. * - * @parameter expression="${updateVersionsToSnapshot}" default-value="true" * @since 2.0-beta-6 */ + @Parameter( defaultValue = "true", property = "updateVersionsToSnapshot" ) private boolean updateVersionsToSnapshot; /** * Whether to use "edit" mode on the SCM, to lock the file for editing during SCM operations. * - * @parameter expression="${useEditMode}" default-value="false" * @since 2.0-beta-6 */ + @Parameter( defaultValue = "false", property = "useEditMode" ) private boolean useEditMode; /** * Whether to update dependencies version to the next development version. * - * @parameter expression="${updateDependencies}" default-value="true" * @since 2.0-beta-6 */ + @Parameter( defaultValue = "true", property = "updateDependencies" ) private boolean updateDependencies; /** * Whether to automatically assign submodules the parent version. If set to false, * the user will be prompted for the version of each submodules. * - * @parameter expression="${autoVersionSubmodules}" default-value="false" * @since 2.0-beta-6 */ + @Parameter( defaultValue = "false", property = "autoVersionSubmodules" ) private boolean autoVersionSubmodules; /** @@ -130,27 +131,26 @@ public class BranchReleaseMojo * poms and scm operations (only listed on the console) are working as expected. * Modified POMs are written alongside the originals without modifying them. * - * @parameter expression="${dryRun}" default-value="false" * @since 2.0-beta-6 */ + @Parameter( defaultValue = "false", property = "dryRun" ) private boolean dryRun; /** * Whether to add a schema to the POM if it was previously missing on release. * - * @parameter expression="${addSchema}" default-value="true" * @since 2.0-beta-6 */ + @Parameter( defaultValue = "true", property = "addSchema" ) private boolean addSchema; /** * currently only implemented with svn scm. Enable a workaround to prevent issue * due to svn client > 1.5.0 (http://jira.codehaus.org/browse/SCM-406) * - * - * @parameter expression="${remoteTagging}" default-value="true" * @since 2.0 */ + @Parameter( defaultValue = "true", property = "remoteTagging" ) private boolean remoteTagging; /** @@ -159,33 +159,33 @@ public class BranchReleaseMojo * * Is ignored, when checkModificationExcludes is set. * - * @parameter * @since 2.1 */ + @Parameter private String[] checkModificationExcludes; /** * Command-line version of checkModificationExcludes. * - * @parameter expression="${checkModificationExcludeList}" * @since 2.1 */ + @Parameter( property = "checkModificationExcludeList" ) private String checkModificationExcludeList; /** * Default version to use when preparing a release or a branch. * - * @parameter expression="${releaseVersion}" * @since 2.0 */ + @Parameter( property = "releaseVersion" ) private String releaseVersion; /** * Default version to use for new local working copy. * - * @parameter expression="${developmentVersion}" * @since 2.0 */ + @Parameter( property = "developmentVersion" ) private String developmentVersion; /** Modified: maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/CleanReleaseMojo.java URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/CleanReleaseMojo.java?rev=1357733&r1=1357732&r2=1357733&view=diff ============================================================================== --- maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/CleanReleaseMojo.java (original) +++ maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/CleanReleaseMojo.java Thu Jul 5 16:48:39 2012 @@ -21,6 +21,7 @@ package org.apache.maven.plugins.release import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.shared.release.config.ReleaseDescriptor; /** @@ -31,9 +32,8 @@ import org.apache.maven.shared.release.c * * @author <a href="mailto:br...@apache.org">Brett Porter</a> * @version $Id$ - * @aggregator - * @goal clean */ +@Mojo( name = "clean", aggregator = true ) public class CleanReleaseMojo extends AbstractReleaseMojo { Modified: maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java?rev=1357733&r1=1357732&r2=1357733&view=diff ============================================================================== --- maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java (original) +++ maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PerformReleaseMojo.java Thu Jul 5 16:48:39 2012 @@ -23,6 +23,8 @@ import java.io.File; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.shared.release.ReleaseExecutionException; import org.apache.maven.shared.release.ReleaseFailureException; import org.apache.maven.shared.release.ReleasePerformRequest; @@ -37,55 +39,55 @@ import org.codehaus.plexus.util.StringUt * @author <a href="mailto:eveni...@apache.org">Emmanuel Venisse</a> * @author <a href="mailto:br...@apache.org">Brett Porter</a> * @version $Id$ - * @aggregator - * @requiresProject false - * @goal perform */ +@Mojo( name = "perform", aggregator = true, requiresProject = false ) public class PerformReleaseMojo extends AbstractReleaseMojo { /** * A space separated list of goals to execute on deployment. Default value is either <code>deploy</code> or * <code>deploy site-deploy</code>, if the project has a <distributionManagement>/<site> element. - * - * @parameter expression="${goals}" */ + @Parameter( property = "goals" ) private String goals; /** * Comma separated profiles to enable on deployment, in addition to active profiles for project execution. * - * @parameter expression="${releaseProfiles}" * @since 2.0-beta-8 */ + @Parameter( property = "releaseProfiles" ) private String releaseProfiles; /** * The checkout directory. - * - * @parameter expression="${workingDirectory}" default-value="${project.build.directory}/checkout" - * @required */ + @Parameter( defaultValue = "${project.build.directory}/checkout", property = "workingDirectory", required = true ) private File workingDirectory; /** * The SCM URL to checkout from. If omitted, the one from the <code>release.properties</code> file is used, followed * by the URL from the current POM. - * - * @parameter expression="${connectionUrl}" */ + @Parameter( property = "connectionUrl" ) private String connectionUrl; /** * Whether to use the release profile that adds sources and javadocs to the released artifact, if appropriate. * If set to true, the release plugin sets the property "performRelease" to true, which activates the profile * "release-profile", which is inherited from the super pom. - * - * @parameter expression="${useReleaseProfile}" default-value="true" */ + @Parameter( defaultValue = "true", property = "useReleaseProfile" ) private boolean useReleaseProfile; /** + * Dry run: don't checkout anything from the scm repository, or modify the checkout. + * The goals (by default at least {@code deploy}) will be executed against the <strong>current</strong> project. + */ + @Parameter( defaultValue = "false", property = "dryRun" ) + private boolean dryRun; + + /** * {@inheritDoc} */ protected String getAdditionalProfiles() @@ -94,14 +96,6 @@ public class PerformReleaseMojo } /** - * Dry run: don't checkout anything from the scm repository, or modify the checkout. - * The goals (by default at least {@code deploy}) will be executed against the <strong>current</strong> project. - * - * @parameter expression="${dryRun}" default-value="false" - */ - private boolean dryRun; - - /** * {@inheritDoc} */ public void execute() Modified: maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java?rev=1357733&r1=1357732&r2=1357733&view=diff ============================================================================== --- maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java (original) +++ maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java Thu Jul 5 16:48:39 2012 @@ -19,70 +19,69 @@ package org.apache.maven.plugins.release * under the License. */ +import java.util.Arrays; + import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.shared.release.ReleaseExecutionException; import org.apache.maven.shared.release.ReleaseFailureException; import org.apache.maven.shared.release.config.ReleaseDescriptor; import org.apache.maven.shared.release.config.ReleaseUtils; -import java.util.Arrays; - /** - * Prepare for a release in SCM. Steps through several phases to ensure the POM is ready to be - * released and then prepares SCM to eventually contain a tagged version of the release and a record - * in the local copy of the parameters used. This can be followed by a call to <tt>release:perform</tt>. - * For more info see <a href="http://maven.apache.org/plugins/maven-release-plugin/examples/prepare-release.html">http://maven.apache.org/plugins/maven-release-plugin/examples/prepare-release.html</a>. - * + * Prepare for a release in SCM. Steps through several phases to ensure the POM is ready to be released and then + * prepares SCM to eventually contain a tagged version of the release and a record in the local copy of the parameters + * used. This can be followed by a call to <tt>release:perform</tt>. For more info see <a + * href="http://maven.apache.org/plugins/maven-release-plugin/examples/prepare-release.html" + * >http://maven.apache.org/plugins/maven-release-plugin/examples/prepare-release.html</a>. + * * @author <a href="mailto:jdca...@apache.org">John Casey</a> * @author <a href="mailto:eveni...@apache.org">Emmanuel Venisse</a> * @author <a href="mailto:ja...@maven.org">Jason van Zyl</a> * @author <a href="mailto:br...@apache.org">Brett Porter</a> * @version $Id$ - * @aggregator - * @goal prepare * @todo [!] check how this works with version ranges */ +@Mojo( name = "prepare", aggregator = true ) public class PrepareReleaseMojo extends AbstractReleaseMojo { /** * Resume a previous release attempt from the point where it was stopped. - * - * @parameter expression="${resume}" default-value="true" */ + @Parameter( defaultValue = "true", property = "resume" ) private boolean resume; /** * @deprecated Please use release:prepare-with-pom instead. - * - * @parameter default-value="false" expression="${generateReleasePoms}" */ + @Parameter( defaultValue = "false", property = "generateReleasePoms" ) private boolean generateReleasePoms; /** * Whether to use "edit" mode on the SCM, to lock the file for editing during SCM operations. - * - * @parameter expression="${useEditMode}" default-value="false" */ + @Parameter( defaultValue = "false", property = "useEditMode" ) private boolean useEditMode; /** * Whether to update dependencies version to the next development version. - * - * @parameter expression="${updateDependencies}" default-value="true" + * * @since 2.0-beta-5 */ + @Parameter( defaultValue = "true", property = "updateDependencies" ) private boolean updateDependencies; /** * Whether to automatically assign submodules the parent version. If set to false, the user will be prompted for the * version of each submodules. - * - * @parameter expression="${autoVersionSubmodules}" default-value="false" + * * @since 2.0-beta-5 */ + @Parameter( defaultValue = "false", property = "autoVersionSubmodules" ) private boolean autoVersionSubmodules; /** @@ -90,146 +89,132 @@ public class PrepareReleaseMojo * <code>mvn -DdryRun=true release:prepare</code> is useful in order to check that modifications to poms and scm * operations (only listed on the console) are working as expected. Modified POMs are written alongside the * originals without modifying them. - * - * @parameter expression="${dryRun}" default-value="false" */ + @Parameter( defaultValue = "false", property = "dryRun" ) private boolean dryRun; /** * Whether to add a schema to the POM if it was previously missing on release. - * - * @parameter expression="${addSchema}" default-value="true" */ + @Parameter( defaultValue = "true", property = "addSchema" ) private boolean addSchema; /** * Goals to run as part of the preparation step, after transformation but before committing. Space delimited. - * - * @parameter expression="${preparationGoals}" default-value="clean verify" */ + @Parameter( defaultValue = "clean verify", property = "preparationGoals" ) private String preparationGoals; /** - * Goals to run on completion of the preparation step, after transformation back to the next development version - * but before committing. Space delimited. - * - * @parameter expression="${completionGoals}" default-value="" + * Goals to run on completion of the preparation step, after transformation back to the next development version but + * before committing. Space delimited. + * * @since 2.2 */ + @Parameter( defaultValue = "", property = "completionGoals" ) private String completionGoals; /** * Commits to do are atomic or by project. - * - * @parameter expression="${commitByProject}" default-value="false" + * * @since 2.0-beta-5 */ + @Parameter( defaultValue = "false", property = "commitByProject" ) private boolean commitByProject; /** * Whether to allow timestamped SNAPSHOT dependencies. Default is to fail when finding any SNAPSHOT. - * - * @parameter expression="${ignoreSnapshots}" default-value="false" + * * @since 2.0-beta-7 */ + @Parameter( defaultValue = "false", property = "ignoreSnapshots" ) private boolean allowTimestampedSnapshots; /** * Whether to allow usage of a SNAPSHOT version of the Release Plugin. This in an internal property used to support * testing of the plugin itself in batch mode. - * - * @parameter expression="${allowReleasePluginSnapshot}" default-value="false" - * @readonly + * * @since 2.0-beta-9 */ + @Parameter( defaultValue = "false", property = "allowReleasePluginSnapshot", readonly = true ) private boolean allowReleasePluginSnapshot; - /** - * A list of additional exclude filters that will be skipped when checking for - * modifications on the working copy. - * - * Is ignored, when checkModificationExcludes is set. + /** + * A list of additional exclude filters that will be skipped when checking for modifications on the working copy. Is + * ignored, when checkModificationExcludes is set. * - * @parameter * @since 2.1 */ + @Parameter private String[] checkModificationExcludes; /** * Command-line version of checkModificationExcludes. - * - * @parameter expression="${checkModificationExcludeList}" + * * @since 2.1 */ + @Parameter( property = "checkModificationExcludeList" ) private String checkModificationExcludeList; /** * Default version to use when preparing a release or a branch. - * - * @parameter expression="${releaseVersion}" + * * @since 2.0-beta-8 */ + @Parameter( property = "releaseVersion" ) private String releaseVersion; /** * Default version to use for new local working copy. - * - * @parameter expression="${developmentVersion}" + * * @since 2.0-beta-8 */ + @Parameter( property = "developmentVersion" ) private String developmentVersion; /** * Currently only implemented with svn scm. - * * <ul> - * <li>Enables a workaround to prevent issue - * due to svn client > 1.5.0 (fixed in 1.6.5) + * <li>Enables a workaround to prevent issue due to svn client > 1.5.0 (fixed in 1.6.5) * (http://jira.codehaus.org/browse/SCM-406)</li> - * <li>You may not want to use this in conjunction - * with <code>suppressCommitBeforeTag</code>, such that no poms with - * released versions are committed to the working - * copy ever.</li> + * <li>You may not want to use this in conjunction with <code>suppressCommitBeforeTag</code>, such that no poms with + * released versions are committed to the working copy ever.</li> * </ul> - * - * @parameter expression="${remoteTagging}" default-value="true" + * * @since 2.0-beta-9 */ + @Parameter( defaultValue = "true", property = "remoteTagging" ) private boolean remoteTagging; /** * Whether to bump the working copy versions to <code>developmentVersion</code>. - * - * @parameter expression="${updateWorkingCopyVersions}" default-value="true" + * * @since 2.1 */ + @Parameter( defaultValue = "true", property = "updateWorkingCopyVersions" ) private boolean updateWorkingCopyVersions; /** - * Whether to suppress a commit of changes to the working copy - * before the tag is created. + * Whether to suppress a commit of changes to the working copy before the tag is created. <br/> * <br/> - * <br/>This requires <code>remoteTagging</code> to be set to false. + * This requires <code>remoteTagging</code> to be set to false. <br/> * <br/> - * <br/><code>suppressCommitBeforeTag</code> is useful when you want - * to avoid poms with released versions in all revisions of your - * trunk or development branch. - * - * @parameter expression="${suppressCommitBeforeTag}" default-value="false" + * <code>suppressCommitBeforeTag</code> is useful when you want to avoid poms with released versions in all + * revisions of your trunk or development branch. + * * @since 2.1 */ + @Parameter( defaultValue = "false", property = "suppressCommitBeforeTag" ) private boolean suppressCommitBeforeTag; /** - * Wait the specified number of second before creating the tag. - * <br/><code>waitBeforeTagging</code> is useful when your source repository - * is synced between several instances and access to it is determined by - * geographical location, like the SVN repository at the Apache Software - * Foundation. - * - * @parameter expression="${waitBeforeTagging}" default-value="0" + * Wait the specified number of second before creating the tag. <br/> + * <code>waitBeforeTagging</code> is useful when your source repository is synced between several instances and + * access to it is determined by geographical location, like the SVN repository at the Apache Software Foundation. + * * @since 2.2 */ + @Parameter( defaultValue = "0", property = "waitBeforeTagging" ) private int waitBeforeTagging; /** @@ -241,7 +226,7 @@ public class PrepareReleaseMojo if ( generateReleasePoms ) { throw new MojoFailureException( - "Generating release POMs is no longer supported in release:prepare. Please run release:prepare-with-pom instead." ); + "Generating release POMs is no longer supported in release:prepare. Please run release:prepare-with-pom instead." ); } prepareRelease( generateReleasePoms ); @@ -250,7 +235,8 @@ public class PrepareReleaseMojo protected void prepareRelease( boolean generateReleasePoms ) throws MojoExecutionException, MojoFailureException { - // this is here so the subclass can call it without getting the extra generateReleasePoms check in execute() above + // this is here so the subclass can call it without getting the extra generateReleasePoms check in execute() + // above super.execute(); ReleaseDescriptor config = createReleaseDescriptor(); @@ -282,8 +268,8 @@ public class PrepareReleaseMojo } // Create a config containing values from the session properties (ie command line properties with cli). - ReleaseDescriptor sysPropertiesConfig - = ReleaseUtils.copyPropertiesToReleaseDescriptor( session.getExecutionProperties() ); + ReleaseDescriptor sysPropertiesConfig = + ReleaseUtils.copyPropertiesToReleaseDescriptor( session.getExecutionProperties() ); mergeCommandLineConfig( config, sysPropertiesConfig ); try Modified: maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareWithPomReleaseMojo.java URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareWithPomReleaseMojo.java?rev=1357733&r1=1357732&r2=1357733&view=diff ============================================================================== --- maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareWithPomReleaseMojo.java (original) +++ maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareWithPomReleaseMojo.java Thu Jul 5 16:48:39 2012 @@ -21,24 +21,24 @@ package org.apache.maven.plugins.release import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; +import org.apache.maven.plugins.annotations.ResolutionScope; /** * Prepare for a release in SCM, fully resolving dependencies for the purpose of producing a "release POM". * * @author <a href="mailto:br...@apache.org">Brett Porter</a> - * @aggregator - * @goal prepare-with-pom - * @requiresDependencyResolution test * @since 2.0 */ +@Mojo( name="prepare-with-pom", aggregator = true, requiresDependencyResolution = ResolutionScope.TEST ) public class PrepareWithPomReleaseMojo extends PrepareReleaseMojo { /** * Whether to generate <code>release-pom.xml</code> files that contain resolved information about the project. - * - * @parameter default-value="true" expression="${generateReleasePoms}" */ + @Parameter( defaultValue = "true", property = "generateReleasePoms" ) private boolean generateReleasePoms; public void execute() Modified: maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/RollbackReleaseMojo.java URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/RollbackReleaseMojo.java?rev=1357733&r1=1357732&r2=1357733&view=diff ============================================================================== --- maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/RollbackReleaseMojo.java (original) +++ maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/RollbackReleaseMojo.java Thu Jul 5 16:48:39 2012 @@ -21,6 +21,7 @@ package org.apache.maven.plugins.release import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.shared.release.ReleaseExecutionException; import org.apache.maven.shared.release.ReleaseFailureException; import org.apache.maven.shared.release.config.ReleaseDescriptor; @@ -30,13 +31,11 @@ import org.apache.maven.shared.release.c * is still available in the local working copy. * For more info see <a href="http://maven.apache.org/plugins/maven-release-plugin/examples/rollback-release.html">http://maven.apache.org/plugins/maven-release-plugin/examples/rollback-release.html</a>. * - * @aggregator - * @goal rollback * @since 2.0-beta-5 - * * @author Edwin Punzalan * @version $Id$ */ +@Mojo( name="rollback", aggregator = true ) public class RollbackReleaseMojo extends AbstractReleaseMojo { Modified: maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/StageReleaseMojo.java URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/StageReleaseMojo.java?rev=1357733&r1=1357732&r2=1357733&view=diff ============================================================================== --- maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/StageReleaseMojo.java (original) +++ maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/StageReleaseMojo.java Thu Jul 5 16:48:39 2012 @@ -23,6 +23,8 @@ import java.io.File; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.shared.release.ReleaseExecutionException; import org.apache.maven.shared.release.ReleaseFailureException; import org.apache.maven.shared.release.config.ReleaseDescriptor; @@ -33,11 +35,9 @@ import org.codehaus.plexus.util.StringUt * * @author <a href="mailto:nico...@apache.org">Nicolas De Loof</a> * @version $Id$ - * @aggregator - * @requiresProject false - * @goal stage * @since 2.0-beta-8 */ +@Mojo( name = "stage", aggregator = true, requiresProject = false ) public class StageReleaseMojo extends AbstractReleaseMojo { @@ -45,52 +45,50 @@ public class StageReleaseMojo * A comma or space separated list of goals to execute on deployment. Default value is either <code>deploy</code> or * <code>deploy site-deploy</code>, if the project has a <distributionManagement>/<site> element. * - * @parameter expression="${goals}" * @since 2.0-beta-8 */ + @Parameter( property="goals" ) private String goals; /** * Comma separated profiles to enable on deployment, in addition to active profiles for project execution. * - * @parameter expression="${releaseProfiles}" * @since 2.0-beta-8 */ + @Parameter( property="releaseProfiles" ) private String releaseProfiles; /** * The checkout directory. * - * @parameter expression="${workingDirectory}" default-value="${project.build.directory}/checkout" - * @required * @since 2.0-beta-8 */ + @Parameter( defaultValue="${project.build.directory}/checkout", property="workingDirectory", required = true ) private File workingDirectory; /** * The SCM URL to checkout from. If omitted, the one from the <code>release.properties</code> file is used, followed * by the URL from the current POM. * - * @parameter expression="${connectionUrl}" * @since 2.0-beta-8 */ + @Parameter( property="connectionUrl" ) private String connectionUrl; /** * Whether to use the release profile that adds sources and javadocs to the released artifact, if appropriate. - * - * @parameter expression="${useReleaseProfile}" default-value="true" + * * @since 2.0-beta-8 */ + @Parameter( defaultValue="true", property="useReleaseProfile" ) private boolean useReleaseProfile; /** * URL of the staging repository to use. * - * @parameter expression="${stagingRepository}" - * @required * @since 2.0-beta-8 */ + @Parameter( property="stagingRepository", required = true ) private String stagingRepository; /** Modified: maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/UpdateVersionsMojo.java URL: http://svn.apache.org/viewvc/maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/UpdateVersionsMojo.java?rev=1357733&r1=1357732&r2=1357733&view=diff ============================================================================== --- maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/UpdateVersionsMojo.java (original) +++ maven/release/trunk/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/UpdateVersionsMojo.java Thu Jul 5 16:48:39 2012 @@ -26,6 +26,8 @@ import org.apache.maven.artifact.Artifac import org.apache.maven.model.Scm; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; +import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.shared.release.ReleaseExecutionException; import org.apache.maven.shared.release.ReleaseFailureException; import org.apache.maven.shared.release.config.ReleaseDescriptor; @@ -38,10 +40,9 @@ import org.apache.maven.shared.release.c * * @author Paul Gier * @version $Id$ - * @aggregator - * @goal update-versions * @since 2.0 */ +@Mojo( name="update-versions", aggregator = true ) public class UpdateVersionsMojo extends AbstractReleaseMojo { @@ -50,25 +51,25 @@ public class UpdateVersionsMojo * Whether to automatically assign submodules the parent version. If set to false, the user will be prompted for the * version of each submodules. * - * @parameter expression="${autoVersionSubmodules}" default-value="false" * @since 2.0 */ + @Parameter( defaultValue="false", property="autoVersionSubmodules" ) private boolean autoVersionSubmodules; /** * Whether to add a schema to the POM if it was previously missing on release. - * - * @parameter expression="${addSchema}" default-value="true" + * * @since 2.0 */ + @Parameter( defaultValue="true", property="addSchema" ) private boolean addSchema; /** * Default version to use for new local working copy. * - * @parameter expression="${developmentVersion}" * @since 2.0 */ + @Parameter( property="developmentVersion" ) private String developmentVersion; /**