diff --git a/src/main/java/org/codehaus/mojo/versions/AbstractVersionsUpdaterMojo.java b/src/main/java/org/codehaus/mojo/versions/AbstractVersionsUpdaterMojo.java index 8babe9d49..234cf25b9 100644 --- a/src/main/java/org/codehaus/mojo/versions/AbstractVersionsUpdaterMojo.java +++ b/src/main/java/org/codehaus/mojo/versions/AbstractVersionsUpdaterMojo.java @@ -409,6 +409,10 @@ protected abstract void update( ModifiedPomXMLEventReader pom ) throws MojoExecutionException, MojoFailureException, XMLStreamException, ArtifactMetadataRetrievalException; /** + * @deprecated + * This method no longer supported. + * use shouldApplyUpdate( Artifact artifact, String currentVersion, ArtifactVersion updateVersion, Boolean forceUpdate ) + * * Returns true if the update should be applied. * * @param artifact The artifact. @@ -417,10 +421,31 @@ protected abstract void update( ModifiedPomXMLEventReader pom ) * @return true if the update should be applied. * @since 1.0-alpha-1 */ + @Deprecated protected boolean shouldApplyUpdate( Artifact artifact, String currentVersion, ArtifactVersion updateVersion ) + { + return shouldApplyUpdate(artifact,currentVersion,updateVersion,false); + } + + /** + * Returns true if the update should be applied. + * + * @param artifact The artifact. + * @param currentVersion The current version of the artifact. + * @param updateVersion The proposed new version of the artifact. + * @return true if the update should be applied to the pom. + * @since 2.9 + */ + protected boolean shouldApplyUpdate( Artifact artifact, String currentVersion, ArtifactVersion updateVersion, boolean forceUpdate ) { getLog().debug( "Proposal is to update from " + currentVersion + " to " + updateVersion ); + if ( forceUpdate ) + { + getLog().info( "Force update enabled. LATEST or RELEASE versions will be overwritten with real version" ); + return true; + } + if ( updateVersion == null ) { getLog().warn( "Not updating version: could not resolve any versions" ); diff --git a/src/main/java/org/codehaus/mojo/versions/UpdateParentMojo.java b/src/main/java/org/codehaus/mojo/versions/UpdateParentMojo.java index 840c6a034..57335e6b9 100644 --- a/src/main/java/org/codehaus/mojo/versions/UpdateParentMojo.java +++ b/src/main/java/org/codehaus/mojo/versions/UpdateParentMojo.java @@ -54,6 +54,14 @@ public class UpdateParentMojo @Parameter( property = "parentVersion", defaultValue = "null" ) protected String parentVersion = null; + /** + * to update parent version by force when it is RELEASE or LATEST + * + * @since 2.9 + */ + @Parameter( property = "forceUpdate", defaultValue = "false" ) + protected boolean forceUpdate = false; + // -------------------------- OTHER METHODS -------------------------- /** @@ -111,7 +119,7 @@ protected void update( ModifiedPomXMLEventReader pom ) throw new MojoExecutionException( e.getMessage(), e ); } - if ( !shouldApplyUpdate( artifact, currentVersion, artifactVersion ) ) + if ( !shouldApplyUpdate( artifact, currentVersion, artifactVersion, forceUpdate ) ) { return; } @@ -124,4 +132,4 @@ protected void update( ModifiedPomXMLEventReader pom ) } } -} \ No newline at end of file +}