You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2012/07/05 18:48:39 UTC
svn commit: r1357733 - in /maven/release/trunk/maven-release-plugin: ./
src/main/java/org/apache/maven/plugins/release/
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:evenisse@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:brett@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:evenisse@apache.org">Emmanuel Venisse</a>
* @author <a href="mailto:brett@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:jdcasey@apache.org">John Casey</a>
* @author <a href="mailto:evenisse@apache.org">Emmanuel Venisse</a>
* @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
* @author <a href="mailto:brett@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:brett@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:nicolas@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;
/**