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 2020/01/07 21:56:48 UTC
[maven-release] 02/02: parent
ce04d7f8b3c2ffb77821b17d8507371892dd01da author Stephen Connolly
1511735859 +0000 committer Thorsten Heit
1578433024 +0100
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MRELEASE-835
in repository https://gitbox.apache.org/repos/asf/maven-release.git
commit 5bf0e8b526390cce89b9c07a3936e34332c46fdb
Author: Stephen Connolly <st...@gmail.com>
AuthorDate: Sun Nov 26 22:37:39 2017 +0000
parent ce04d7f8b3c2ffb77821b17d8507371892dd01da author Stephen Connolly <st...@gmail.com> 1511735859 +0000 committer Thorsten Heit <th...@gmx.de> 1578433024 +0100
parent ce04d7f8b3c2ffb77821b17d8507371892dd01da
author Stephen Connolly <st...@gmail.com> 1511735859 +0000
committer Thorsten Heit <th...@gmx.de> 1578433018 +0100
parent ce04d7f8b3c2ffb77821b17d8507371892dd01da
author Stephen Connolly <st...@gmail.com> 1511735859 +0000
committer Thorsten Heit <th...@gmx.de> 1578433016 +0100
parent ce04d7f8b3c2ffb77821b17d8507371892dd01da
author Stephen Connolly <st...@gmail.com> 1511735859 +0000
committer Thorsten Heit <th...@gmx.de> 1578433015 +0100
parent ce04d7f8b3c2ffb77821b17d8507371892dd01da
author Stephen Connolly <st...@gmail.com> 1511735859 +0000
committer Thorsten Heit <th...@gmx.de> 1578433011 +0100
parent ce04d7f8b3c2ffb77821b17d8507371892dd01da
author Stephen Connolly <st...@gmail.com> 1511735859 +0000
committer Thorsten Heit <th...@gmx.de> 1578433009 +0100
parent ce04d7f8b3c2ffb77821b17d8507371892dd01da
author Stephen Connolly <st...@gmail.com> 1511735859 +0000
committer Thorsten Heit <th...@gmx.de> 1578432997 +0100
parent ce04d7f8b3c2ffb77821b17d8507371892dd01da
author Stephen Connolly <st...@gmail.com> 1511735859 +0000
committer Thorsten Heit <th...@gmx.de> 1578432995 +0100
parent ce04d7f8b3c2ffb77821b17d8507371892dd01da
author Stephen Connolly <st...@gmail.com> 1511735859 +0000
committer Thorsten Heit <th...@gmx.de> 1578432994 +0100
parent ce04d7f8b3c2ffb77821b17d8507371892dd01da
author Stephen Connolly <st...@gmail.com> 1511735859 +0000
committer Thorsten Heit <th...@gmx.de> 1578432986 +0100
parent ce04d7f8b3c2ffb77821b17d8507371892dd01da
author Stephen Connolly <st...@gmail.com> 1511735859 +0000
committer Thorsten Heit <th...@gmx.de> 1578432982 +0100
Add Jenkinsfile
Add Jenkinsfile and .repository ignores to rat
Add Apache license header (a tad ridiculous)
[MRELEASE-993] Use shallow checkout per default (git scm)
Signed-off-by: olivier lamy <ol...@apache.org>
Manage dependencies
Upgrade to XMLUnit 2.x
Remove AbstractRunGoalsPhase#setMavenExecutor; only used for tests and won't work after M3.0 migration because componentsMap will become immutable.
Fix invalid project, flatten module should adjust relativePath
Verify update-versions and rollback without ReflectionUtils
Move unittests to proper unit
replace whitebox usage
Remove all reflection calls in tests
Use latest surefire
Remove unwanted writes to stderr during unittests
Make project Java 9-proof
Clean up failsafe IT
Clean up file copy with Path power
Directories should not start with a slash, in some cases there can be resolved as absolute paths
Proper usage of createReactorProjects( String sourcePath, String targetPath, String executionRoot )
Separate test project preparation from execution
Fix relativePath
With Maven3+ distributionManagement.status not allowed in effective pom
Prepare pathTranslator replacement with SuperPomProvider
Make org.eclipse.aether:aether-util optional, so maven-artifact-transfer can work with Maven 3.0 too.
Unittests expect expression for finalName, ITs expect explicit value. Let's make it explicit for both
Add missing remote extension artifact
Clone incorrectly set project.reporting.excludeDefaults from null to Boolean.FALSE
[MRELEASE-994] Drop Maven2 support
Upgrade mavenVersion dependencies to 3.0 (cleanup maven dependencies)
GenerateReleasePomsPhase, replace deprecated PathTranslator with SuperPomProvider and ModelInterpolator
JDomReporting, delete removed overridden methods
PlexusJUnit4TestCase, use code from org.sonatype.sisu:sisu-inject-plexus
AbstractReleaseTestCase, replace deprecated MavenProjectBuilder with ProjectBuilder
AbstractRewritingReleasePhaseTestCase, ignore internal extension based tests, not supported anymore
DefaultVersionInfoTest, adjust tests due to new comparison results
Add dummy org.codehaus.plexus:plexus-utils:1.1, required due to auto injection by org.apache.maven.plugin.internal.PlexusUtilsInjector
Code cleanup, no implementation changes
Use try-with-resources
Remove unnecessary @SuppressWarnings( "unchecked" )
Clean up code, no implementation changes
Clean up code, no implementation changes
Ensure all Maps in ReleaseDescriptor have proper generics
OddEvenVersionPolicy should not depend on maven-release-manager
Remove all overloaded methods from ReleaseManager, only use Release<Goal>Request
simplify code, replace iterators with foreach loops
[MRELEASE-956] Release Strategy Interface
[MRELEASE-992] Deprecated maven flag --no-plugin-updates shows warnings in the console output
Replace ROLE name with class
Apply multi-catch
Remove more deprecated/overloaded methods
Don't reask resolve questions in case of multimodule projects
No need for reflection anymore
Fix mocking/stubbing tests
[MRELEASE-601] The Maven 2 release plugin modifies CDATA elements in pom.xml files.
[MRELEASE-998] Add ability to create custom phases
Copy javadoc
Add unittest for DefaultVersionPolicy
Reorganize if/then/else -statements to reduce nesting
[MRELEASE-694] -SNAPSHOT is unexpectedly appended to version in branched pom.xml
Pull up commonBasedir
Move AbstractReleasePhase to maven-release-api
releaseDescriptor.getOriginalScmInfo( projectId ) is checked twice, so 1 can be removed.
Switch to Paths, which are more reliable and powerful compared to Files
More Path replacements
Revert "More Path replacements"
This reverts commit 45cd37f5ef610f5f39c73d153c4ed481798e8ee8.
Revert "Switch to Paths, which are more reliable and powerful compared to Files"
This reverts commit 52bfff25ffcccca1061000dc60395090e233d371.
[MRELEASE-1005] Extract ResourceGenerator from ReleasePhase
updated Modello xsd url
Make use of Path instead of File
[MRELEASE-1007] Rework usage workingDirectory and commonBasedir
[MNGSITE-328] use sha1 checksum instead of md5
parent 657d4931b23cb2c3caeecfc4cdb376d94c676507
author Thorsten Heit <th...@gmx.de> 1530186251 +0200
committer Thorsten Heit <th...@gmx.de> 1576873523 +0100
parent 657d4931b23cb2c3caeecfc4cdb376d94c676507
author Thorsten Heit <th...@gmx.de> 1530186251 +0200
committer Thorsten Heit <th...@gmx.de> 1576873428 +0100
parent 657d4931b23cb2c3caeecfc4cdb376d94c676507
author Thorsten Heit <th...@gmx.de> 1530186251 +0200
committer Thorsten Heit <th...@gmx.de> 1576873366 +0100
parent 657d4931b23cb2c3caeecfc4cdb376d94c676507
author Thorsten Heit <th...@gmx.de> 1530186251 +0200
committer Thorsten Heit <th...@gmx.de> 1576873234 +0100
parent 657d4931b23cb2c3caeecfc4cdb376d94c676507
author Thorsten Heit <th...@gmx.de> 1530186251 +0200
committer Thorsten Heit <th...@gmx.de> 1576873185 +0100
Fixes for MRELEASE-1009:
- clean up ambigous reference in JUnit test
- upgrade Surefire to 2.22.0 to avoid a NullPointerException under Java 10 when executing "mvn package"
Fix for MRELEASE-835: Automatically resolve snapshot dependencies in release:prepare
[MRELEASE-956] Release Strategy Interface
[MRELEASE-998] Add ability to create custom phases
Fix for MRELEASE-835: Automatically resolve snapshot dependencies in release:prepare
[MRELEASE-998] Add ability to create custom phases
Fix for MRELEASE-835: Automatically resolve snapshot dependencies in release:prepare
[MRELEASE-998] Add ability to create custom phases
Fix for MRELEASE-835: Automatically resolve snapshot dependencies in release:prepare
Fix for MRELEASE-835: Automatically resolve snapshot dependencies in release:prepare
[MRELEASE-998] Add ability to create custom phases
Fixed improper merge with upstream
[MRELEASE-998] Add ability to create custom phases
Fix for MRELEASE-835: Automatically resolve snapshot dependencies in release:prepare
[MRELEASE-998] Add ability to create custom phases
Fix for MRELEASE-835: Automatically resolve snapshot dependencies in release:prepare
[MRELEASE-998] Add ability to create custom phases
Fix for MRELEASE-835: Automatically resolve snapshot dependencies in release:prepare
Fix for MRELEASE-835: Automatically resolve snapshot dependencies in release:prepare
[MRELEASE-998] Add ability to create custom phases
Fixed improper merge with upstream
Fixed improper merge with upstream
Fixed Checkstyle error
Javadoc comment improved
[MRELEASE-1010] - Update parent to 32
o Fixed checkstyle reported errors based on upgrade.
o Switch to asfMavenTlpPlgnBuild
o Support https.protocols for JDK 7
o Removed hard coded version for maven-invoker-plugin now using
3.0.1 instead of inherited 3.1.0
o Changed scm version to release 1.10.0 instead of old snapshot version.
[INFRA-16467] move components documentation out of CMS space
[MPOM-205] use sha512 checksums instead of sha1
removed version already inherited from parent
Updated to correct URL.
[MRELEASE-1024] Upgrade to SCM 1.11.2
MRELEASE-985 Override snapshot dependencies from command line
- Copy properties to the correct release descriptor in DefaultReleaseManager.
- Do not fail the build if the property is resolved from the comand-line (in CheckDependencySnapshotsPhase).
See https://issues.apache.org/jira/browse/MRELEASE-985
[MRELEASE-1023] Minor code cleanups
This closes #22
Expose dependency.dev and dependency.rel properties
As part of this: https://github.com/apache/maven-release/pull/18 and this: https://issues.apache.org/jira/browse/MRELEASE-985
we need to check if the command line property starts with dependency.dev or dependency.rel to be able to override the value of the
property.
[MRELEASE-985] Add integration test
improve documentation site
Verify that schemaLocation keeps its original value
Codehaus Jira moved to ASF Jira
switch to https
[MRELEASE-1031] log info on release goals/phases progress
improve landing page
[MRELEASE-1032] add https://m.a.o/xsd/maven-4.0.0.xsd
[MRELEASE-229] implementation of RemoveScmTagPhase, with unit test
this closes #29
remove extraneous commas
@hboutemy
changed error to warn if tag is not present at rollback; fixed typos
Remove unused import
MRELEASE-980 Allow commit comments to be controlled
[maven-release-plugin] prepare release maven-release-3.0.0-M1
[maven-release-plugin] prepare for next development iteration
MRELEASE-1035 upgraded maven-plugin-tools and plexus-component-metadata to reproducible versions
Merge with master
Fix invalid project, flatten module should adjust relativePath
Remove unwanted writes to stderr during unittests
Fix relativePath
With Maven3+ distributionManagement.status not allowed in effective pom
Make org.eclipse.aether:aether-util optional, so maven-artifact-transfer can work with Maven 3.0 too.
Add missing remote extension artifact
Clone incorrectly set project.reporting.excludeDefaults from null to Boolean.FALSE
[MRELEASE-992] Deprecated maven flag --no-plugin-updates shows warnings in the console output
Apply multi-catch
[MRELEASE-601] The Maven 2 release plugin modifies CDATA elements in pom.xml files.
Add unittest for DefaultVersionPolicy
Reorganize if/then/else -statements to reduce nesting
[MRELEASE-694] -SNAPSHOT is unexpectedly appended to version in branched pom.xml
releaseDescriptor.getOriginalScmInfo( projectId ) is checked twice, so 1 can be removed.
[MRELEASE-1005] Extract ResourceGenerator from ReleasePhase
updated Modello xsd url
parent 657d4931b23cb2c3caeecfc4cdb376d94c676507
author Thorsten Heit <th...@gmx.de> 1530186251 +0200
committer Thorsten Heit <th...@gmx.de> 1576873523 +0100
parent 657d4931b23cb2c3caeecfc4cdb376d94c676507
author Thorsten Heit <th...@gmx.de> 1530186251 +0200
committer Thorsten Heit <th...@gmx.de> 1576873428 +0100
parent 657d4931b23cb2c3caeecfc4cdb376d94c676507
author Thorsten Heit <th...@gmx.de> 1530186251 +0200
committer Thorsten Heit <th...@gmx.de> 1576873366 +0100
parent 657d4931b23cb2c3caeecfc4cdb376d94c676507
author Thorsten Heit <th...@gmx.de> 1530186251 +0200
committer Thorsten Heit <th...@gmx.de> 1576873234 +0100
parent 657d4931b23cb2c3caeecfc4cdb376d94c676507
author Thorsten Heit <th...@gmx.de> 1530186251 +0200
committer Thorsten Heit <th...@gmx.de> 1576873185 +0100
Fixes for MRELEASE-1009:
- clean up ambigous reference in JUnit test
- upgrade Surefire to 2.22.0 to avoid a NullPointerException under Java 10 when executing "mvn package"
Fix for MRELEASE-835: Automatically resolve snapshot dependencies in release:prepare
[MRELEASE-956] Release Strategy Interface
[MRELEASE-998] Add ability to create custom phases
Fix for MRELEASE-835: Automatically resolve snapshot dependencies in release:prepare
[MRELEASE-998] Add ability to create custom phases
Fix for MRELEASE-835: Automatically resolve snapshot dependencies in release:prepare
[MRELEASE-998] Add ability to create custom phases
Fix for MRELEASE-835: Automatically resolve snapshot dependencies in release:prepare
Fix for MRELEASE-835: Automatically resolve snapshot dependencies in release:prepare
[MRELEASE-998] Add ability to create custom phases
Fixed improper merge with upstream
[MRELEASE-998] Add ability to create custom phases
Fix for MRELEASE-835: Automatically resolve snapshot dependencies in release:prepare
[MRELEASE-998] Add ability to create custom phases
Fix for MRELEASE-835: Automatically resolve snapshot dependencies in release:prepare
[MRELEASE-998] Add ability to create custom phases
Fix for MRELEASE-835: Automatically resolve snapshot dependencies in release:prepare
Fix for MRELEASE-835: Automatically resolve snapshot dependencies in release:prepare
[MRELEASE-998] Add ability to create custom phases
Fixed improper merge with upstream
Fixed improper merge with upstream
Fixed Checkstyle error
Javadoc comment improved
[MRELEASE-1010] - Update parent to 32
o Fixed checkstyle reported errors based on upgrade.
o Switch to asfMavenTlpPlgnBuild
o Support https.protocols for JDK 7
o Removed hard coded version for maven-invoker-plugin now using
3.0.1 instead of inherited 3.1.0
o Changed scm version to release 1.10.0 instead of old snapshot version.
[INFRA-16467] move components documentation out of CMS space
[MPOM-205] use sha512 checksums instead of sha1
removed version already inherited from parent
Updated to correct URL.
[MRELEASE-1024] Upgrade to SCM 1.11.2
MRELEASE-985 Override snapshot dependencies from command line
- Copy properties to the correct release descriptor in DefaultReleaseManager.
- Do not fail the build if the property is resolved from the comand-line (in CheckDependencySnapshotsPhase).
See https://issues.apache.org/jira/browse/MRELEASE-985
[MRELEASE-1023] Minor code cleanups
This closes #22
Expose dependency.dev and dependency.rel properties
As part of this: https://github.com/apache/maven-release/pull/18 and this: https://issues.apache.org/jira/browse/MRELEASE-985
we need to check if the command line property starts with dependency.dev or dependency.rel to be able to override the value of the
property.
[MRELEASE-985] Add integration test
improve documentation site
Verify that schemaLocation keeps its original value
Codehaus Jira moved to ASF Jira
switch to https
[MRELEASE-1031] log info on release goals/phases progress
improve landing page
[MRELEASE-1032] add https://m.a.o/xsd/maven-4.0.0.xsd
[MRELEASE-229] implementation of RemoveScmTagPhase, with unit test
this closes #29
remove extraneous commas
@hboutemy
changed error to warn if tag is not present at rollback; fixed typos
Remove unused import
MRELEASE-980 Allow commit comments to be controlled
[maven-release-plugin] prepare release maven-release-3.0.0-M1
[maven-release-plugin] prepare for next development iteration
MRELEASE-1035 upgraded maven-plugin-tools and plexus-component-metadata to reproducible versions
Merge with master
Removed changes from MRELEASE-549
---
.../shared/release/config/ReleaseDescriptor.java | 17 +++-
.../config/PropertiesReleaseDescriptorStore.java | 7 +-
.../release/config/ReleaseDescriptorBuilder.java | 4 +-
.../maven/shared/release/config/ReleaseUtils.java | 10 +-
.../phase/CheckDependencySnapshotsPhase.java | 103 +++++++++++++++++----
.../maven/shared/release/phase/ScmBranchPhase.java | 5 -
.../maven/shared/release/phase/ScmTagPhase.java | 7 --
.../src/main/mdo/release-descriptor.mdo | 26 ++++--
.../phase/GenerateReleasePomsPhaseTest.java | 2 -
.../release/phase/IsScmBranchParametersEquals.java | 4 +-
.../release/phase/IsScmTagParametersEquals.java | 3 +-
.../phase/ScmCommitDevelopmentPhaseTest.java | 1 -
.../phase/ScmCommitPreparationPhaseTest.java | 1 -
.../src/it/projects/prepare/MRELEASE-835/pom.xml | 71 ++++++++++++++
.../it/projects/prepare/MRELEASE-835/verify.groovy | 28 ++++++
.../maven/plugins/release/BranchReleaseMojo.java | 10 --
.../maven/plugins/release/PrepareReleaseMojo.java | 24 +++--
17 files changed, 249 insertions(+), 74 deletions(-)
diff --git a/maven-release-api/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptor.java b/maven-release-api/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptor.java
index a45fd13..8044004 100644
--- a/maven-release-api/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptor.java
+++ b/maven-release-api/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptor.java
@@ -466,10 +466,19 @@ public interface ReleaseDescriptor
void setScmSourceUrl( String scmUrl );
/**
- * Get whether the "--pin-externals" option in svn copy commands is enabled
- * which is new in Subversion 1.9.
+ * Returns whether unresolved SNAPSHOT dependencies should automatically be resolved.
+ * If this is set, then this specifies the default answer to be used when unresolved SNAPSHOT
+ * dependencies should automatically be resolved ( 0:All 1:Project Dependencies 2:Plugins
+ * 3:Reports 4:Extensions ). Possible values are:
+ * <ul>
+ * <li>"all" or "0": resolve all kinds of snapshots, ie. project, plugin, report and extension dependencies </li>
+ * <li>"dependencies" or "1": resolve project dependencies</li>
+ * <li>"plugins" or "2": resolve plugin dependencis</li>
+ * <li>"reports" or "3": resolve report dependencies</li>
+ * <li>"extensions" or "4": resolve extension dependencies</li>
+ * </ul>
*
- * @return boolean
+ * @return String
*/
- boolean isPinExternals();
+ String getAutoResolveSnapshots();
}
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java
index 9fd335c..f1272de 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/PropertiesReleaseDescriptorStore.java
@@ -249,8 +249,6 @@ public class PropertiesReleaseDescriptorStore
properties.setProperty( "remoteTagging", Boolean.toString( config.isRemoteTagging() ) );
- properties.setProperty( "pinExternals", Boolean.toString( config.isPinExternals() ) );
-
properties.setProperty( "pushChanges", Boolean.toString( config.isPushChanges() ) );
if ( config.getWorkItem() != null )
@@ -258,6 +256,11 @@ public class PropertiesReleaseDescriptorStore
properties.setProperty( "workItem", config.getWorkItem() );
}
+ if ( config.getAutoResolveSnapshots() != null )
+ {
+ properties.setProperty( "autoResolveSnapshots", config.getAutoResolveSnapshots() );
+ }
+
// others boolean properties are not written to the properties file because the value from the caller is always
// used
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorBuilder.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorBuilder.java
index 8e71be9..629a897 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorBuilder.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseDescriptorBuilder.java
@@ -440,9 +440,9 @@ public class ReleaseDescriptorBuilder
return this;
}
- public ReleaseDescriptorBuilder setPinExternals( boolean pinExternals )
+ public ReleaseDescriptorBuilder setAutoResolveSnapshots( String autoResolveSnapshots )
{
- releaseDescriptor.setPinExternals( pinExternals );
+ releaseDescriptor.setAutoResolveSnapshots( autoResolveSnapshots );
return this;
}
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java
index 0da9629..bcaf758 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/config/ReleaseUtils.java
@@ -161,11 +161,6 @@ public class ReleaseUtils
String remoteTaggingStr = properties.getProperty( "remoteTagging" );
builder.setRemoteTagging( Boolean.valueOf( remoteTaggingStr ) );
}
- if ( properties.containsKey( "pinExternals" ) )
- {
- String pinExternals = properties.getProperty( "pinExternals" );
- builder.setPinExternals( Boolean.valueOf( pinExternals ) );
- }
if ( properties.containsKey( "pushChanges" ) )
{
String pushChanges = properties.getProperty( "pushChanges" );
@@ -175,6 +170,11 @@ public class ReleaseUtils
{
builder.setWorkItem( properties.getProperty( "workItem" ) );
}
+ if ( properties.containsKey( "autoResolveSnapshots" ) )
+ {
+ String resolve = properties.getProperty( "autoResolveSnapshots" );
+ builder.setAutoResolveSnapshots( resolve );
+ }
loadResolvedDependencies( properties, builder );
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhase.java
index b19b446..55821c0 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhase.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/CheckDependencySnapshotsPhase.java
@@ -144,7 +144,7 @@ public class CheckDependencySnapshotsPhase
if ( !usedSnapshotDependencies.isEmpty() || !usedSnapshotReports.isEmpty()
|| !usedSnapshotExtensions.isEmpty() || !usedSnapshotPlugins.isEmpty() )
{
- if ( releaseDescriptor.isInteractive() )
+ if ( releaseDescriptor.isInteractive() || null != releaseDescriptor.getAutoResolveSnapshots() )
{
resolveSnapshots( usedSnapshotDependencies, usedSnapshotReports, usedSnapshotExtensions,
usedSnapshotPlugins, releaseDescriptor );
@@ -365,10 +365,19 @@ public class CheckDependencySnapshotsPhase
{
try
{
+ String autoResolveSnapshots = releaseDescriptor.getAutoResolveSnapshots();
if ( resolveSnapshot == null )
{
prompter.showMessage( RESOLVE_SNAPSHOT_MESSAGE );
- resolveSnapshot = prompter.prompt( RESOLVE_SNAPSHOT_PROMPT, Arrays.asList( "yes", "no" ), "no" );
+ if ( autoResolveSnapshots != null )
+ {
+ resolveSnapshot = "yes";
+ prompter.showMessage( RESOLVE_SNAPSHOT_PROMPT + " " + resolveSnapshot );
+ }
+ else
+ {
+ resolveSnapshot = prompter.prompt( RESOLVE_SNAPSHOT_PROMPT, Arrays.asList( "yes", "no" ), "no" );
+ }
}
if ( resolveSnapshot.toLowerCase( Locale.ENGLISH ).startsWith( "y" ) )
@@ -376,38 +385,81 @@ public class CheckDependencySnapshotsPhase
if ( resolveSnapshotType == null )
{
prompter.showMessage( RESOLVE_SNAPSHOT_TYPE_MESSAGE );
- resolveSnapshotType =
- prompter.prompt( RESOLVE_SNAPSHOT_TYPE_PROMPT, Arrays.asList( "0", "1", "2", "3" ), "1" );
+ int defaultAnswer = -1;
+ if ( autoResolveSnapshots != null )
+ {
+ if ( "all".equalsIgnoreCase( autoResolveSnapshots ) )
+ {
+ defaultAnswer = 0;
+ }
+ else if ( "dependencies".equalsIgnoreCase( autoResolveSnapshots ) )
+ {
+ defaultAnswer = 1;
+ }
+ else if ( "plugins".equalsIgnoreCase( autoResolveSnapshots ) )
+ {
+ defaultAnswer = 2;
+ }
+ else if ( "reports".equalsIgnoreCase( autoResolveSnapshots ) )
+ {
+ defaultAnswer = 3;
+ }
+ else if ( "extensions".equalsIgnoreCase( autoResolveSnapshots ) )
+ {
+ defaultAnswer = 4;
+ }
+ else
+ {
+ try
+ {
+ defaultAnswer = Integer.parseInt( autoResolveSnapshots );
+ }
+ catch ( NumberFormatException e )
+ {
+ throw new ReleaseExecutionException( e.getMessage(), e );
+ }
+ }
+ }
+ if ( defaultAnswer >= 0 && defaultAnswer <= 4 )
+ {
+ prompter.showMessage( RESOLVE_SNAPSHOT_TYPE_PROMPT + " " + autoResolveSnapshots );
+ resolveSnapshotType = Integer.toString( defaultAnswer );
+ }
+ else
+ {
+ resolveSnapshotType =
+ prompter.prompt( RESOLVE_SNAPSHOT_TYPE_PROMPT, Arrays.asList( "0", "1", "2", "3" ), "1" );
+ }
}
switch ( Integer.parseInt( resolveSnapshotType.toLowerCase( Locale.ENGLISH ) ) )
{
// all
case 0:
- processSnapshot( projectDependencies, releaseDescriptor );
- processSnapshot( pluginDependencies, releaseDescriptor );
- processSnapshot( reportDependencies, releaseDescriptor );
- processSnapshot( extensionDependencies, releaseDescriptor );
+ processSnapshot( projectDependencies, releaseDescriptor, autoResolveSnapshots );
+ processSnapshot( pluginDependencies, releaseDescriptor, autoResolveSnapshots );
+ processSnapshot( reportDependencies, releaseDescriptor, autoResolveSnapshots );
+ processSnapshot( extensionDependencies, releaseDescriptor, autoResolveSnapshots );
break;
// project dependencies
case 1:
- processSnapshot( projectDependencies, releaseDescriptor );
+ processSnapshot( projectDependencies, releaseDescriptor, autoResolveSnapshots );
break;
// plugins
case 2:
- processSnapshot( pluginDependencies, releaseDescriptor );
+ processSnapshot( pluginDependencies, releaseDescriptor, autoResolveSnapshots );
break;
// reports
case 3:
- processSnapshot( reportDependencies, releaseDescriptor );
+ processSnapshot( reportDependencies, releaseDescriptor, autoResolveSnapshots );
break;
// extensions
case 4:
- processSnapshot( extensionDependencies, releaseDescriptor );
+ processSnapshot( extensionDependencies, releaseDescriptor, autoResolveSnapshots );
break;
default:
@@ -420,7 +472,8 @@ public class CheckDependencySnapshotsPhase
}
}
- private void processSnapshot( Set<Artifact> snapshotSet, ReleaseDescriptor releaseDescriptor )
+ private void processSnapshot( Set<Artifact> snapshotSet, ReleaseDescriptor releaseDescriptor,
+ String autoResolveSnapshots )
throws PrompterException, VersionParseException
{
Iterator<Artifact> iterator = snapshotSet.iterator();
@@ -435,8 +488,17 @@ public class CheckDependencySnapshotsPhase
prompter.showMessage(
"Dependency '" + versionlessKey + "' is a snapshot (" + currentArtifact.getVersion() + ")\n" );
- String result = prompter.prompt( "Which release version should it be set to?",
- versionInfo.getReleaseVersionString() );
+ String message = "Which release version should it be set to?";
+ String result;
+ if ( null != autoResolveSnapshots )
+ {
+ result = versionInfo.getReleaseVersionString();
+ prompter.showMessage( message + " " + result );
+ }
+ else
+ {
+ result = prompter.prompt( message, versionInfo.getReleaseVersionString() );
+ }
releaseDescriptor.addDependencyReleaseVersion( versionlessKey, result );
@@ -456,7 +518,16 @@ public class CheckDependencySnapshotsPhase
nextVersion = versionInfo.toString();
}
- result = prompter.prompt( "What version should the dependency be reset to for development?", nextVersion );
+ message = "What version should the dependency be reset to for development?";
+ if ( null != autoResolveSnapshots )
+ {
+ result = nextVersion;
+ prompter.showMessage( message + " " + result );
+ }
+ else
+ {
+ result = prompter.prompt( message, nextVersion );
+ }
releaseDescriptor.addDependencyDevelopmentVersion( versionlessKey, result );
}
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmBranchPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmBranchPhase.java
index 8bbde41..d1d85b6 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmBranchPhase.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmBranchPhase.java
@@ -108,7 +108,6 @@ public class ScmBranchPhase
scmBranchParameters.setMessage( releaseDescriptor.getScmCommentPrefix() + "copy for branch " + branchName );
scmBranchParameters.setRemoteBranching( releaseDescriptor.isRemoteTagging() );
scmBranchParameters.setScmRevision( releaseDescriptor.getScmReleasedPomRevision() );
- scmBranchParameters.setPinExternals( releaseDescriptor.isPinExternals() );
result = provider.branch( repository, fileSet, branchName, scmBranchParameters );
}
@@ -144,10 +143,6 @@ public class ScmBranchPhase
logInfo( result, " To SCM URL: " + releaseDescriptor.getScmBranchBase() );
}
logInfo( result, " with label: '" + releaseDescriptor.getScmReleaseLabel() + "'" );
- if ( releaseDescriptor.isPinExternals() )
- {
- logInfo( result, " with pinned externals" );
- }
result.setResultCode( ReleaseResult.SUCCESS );
diff --git a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmTagPhase.java b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmTagPhase.java
index 6f4f67d..5f52d39 100644
--- a/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmTagPhase.java
+++ b/maven-release-manager/src/main/java/org/apache/maven/shared/release/phase/ScmTagPhase.java
@@ -120,7 +120,6 @@ public class ScmTagPhase
new ScmTagParameters( releaseDescriptor.getScmCommentPrefix() + "copy for tag " + tagName );
scmTagParameters.setRemoteTagging( releaseDescriptor.isRemoteTagging() );
scmTagParameters.setScmRevision( releaseDescriptor.getScmReleasedPomRevision() );
- scmTagParameters.setPinExternals( releaseDescriptor.isPinExternals() );
if ( getLogger().isDebugEnabled() )
{
getLogger().debug(
@@ -128,8 +127,6 @@ public class ScmTagPhase
getLogger().debug(
"ScmTagPhase :: scmTagParameters scmRevision " + releaseDescriptor.getScmReleasedPomRevision() );
getLogger().debug( "ScmTagPhase :: fileSet " + fileSet );
- getLogger().debug(
- "ScmTagPhase :: scmTagParameters pinExternals " + releaseDescriptor.isPinExternals() );
}
result = provider.tag( repository, fileSet, tagName, scmTagParameters );
}
@@ -171,10 +168,6 @@ public class ScmTagPhase
logInfo( result, "Full run would be tagging remotely " + basedirAlignedReleaseDescriptor.getScmSourceUrl()
+ " with label: '" + releaseDescriptor.getScmReleaseLabel() + "'" );
}
- if ( releaseDescriptor.isPinExternals() )
- {
- logInfo( result, "Full run would pin externals" );
- }
result.setResultCode( ReleaseResult.SUCCESS );
diff --git a/maven-release-manager/src/main/mdo/release-descriptor.mdo b/maven-release-manager/src/main/mdo/release-descriptor.mdo
index d1d4996..6bf44f2 100644
--- a/maven-release-manager/src/main/mdo/release-descriptor.mdo
+++ b/maven-release-manager/src/main/mdo/release-descriptor.mdo
@@ -564,14 +564,22 @@
</field>
<field>
- <name>pinExternals</name>
+ <name>autoResolveSnapshots</name>
<version>3.0.0+</version>
- <type>boolean</type>
- <defaultValue>false</defaultValue>
+ <type>String</type>
<description>
- Enable the "--pin-externals" option in svn copy commands which is new in Subversion 1.9.
- NOTE : Currently only implemented with Subversion.
- (https://issues.apache.org/jira/browse/SCM-805)
+ <![CDATA[Specifies whether unresolved SNAPSHOT dependencies are automatically resolved.
+ If set, it is used as the answer to use when being asked how unresolved SNAPSHOT
+ dependencies should be resolved:
+ <ul>
+ <li>"all" or "0": resolve all kinds of snapshots, ie. project, plugin, report and extension dependencies</li>
+ <li>"dependencies" or "1": resolve project dependencies</li>
+ <li>"plugins" or "2": resolve plugin dependencies</li>
+ <li>"reports" or "3": resolve report dependencies</li>
+ <li>"extensions" or "4": resolve extension dependencies</li>
+ </ul>
+ Additionally this implies that the default values for the dependency's release and next
+ development version are used.]]>
</description>
</field>
@@ -797,7 +805,6 @@
updateVersionsToSnapshot != that.isUpdateVersionsToSnapshot() ||
allowTimestampedSnapshots != that.isAllowTimestampedSnapshots() ||
remoteTagging != that.isRemoteTagging() ||
- pinExternals != that.isPinExternals() ||
localCheckout != that.isLocalCheckout() ||
pushChanges != that.isPushChanges()
)
@@ -811,7 +818,8 @@
!java.util.Objects.equals( performGoals, that.getPerformGoals() ) ||
!java.util.Objects.equals( defaultReleaseVersion, that.getDefaultReleaseVersion() ) ||
!java.util.Objects.equals( workItem, that.getWorkItem() ) ||
- !java.util.Objects.equals( scmReleasedPomRevision, that.getScmReleasedPomRevision() )
+ !java.util.Objects.equals( scmReleasedPomRevision, that.getScmReleasedPomRevision() ) ||
+ !java.util.Objects.equals( autoResolveSnapshots, that.getAutoResolveSnapshots() )
)
{
return false;
@@ -1067,7 +1075,7 @@
result = 29 * result + java.util.Objects.hashCode( defaultReleaseVersion );
result = 29 * result + java.util.Objects.hashCode( scmReleasedPomRevision );
result = 29 * result + java.util.Objects.hashCode( workItem );
- result = 29 * result + java.util.Objects.hashCode( pinExternals );
+ result = 29 * result + java.util.Objects.hashCode( autoResolveSnapshots );
return result;
}
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/GenerateReleasePomsPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/GenerateReleasePomsPhaseTest.java
index ad381ee..c150589 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/GenerateReleasePomsPhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/GenerateReleasePomsPhaseTest.java
@@ -117,7 +117,6 @@ public class GenerateReleasePomsPhaseTest
builder.setGenerateReleasePoms( true );
builder.setSuppressCommitBeforeTagOrBranch( true );
builder.setRemoteTagging( false );
- builder.setPinExternals( false );
mapNextVersion( builder, "groupId:artifactId" );
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
@@ -136,7 +135,6 @@ public class GenerateReleasePomsPhaseTest
builder.setGenerateReleasePoms( true );
builder.setSuppressCommitBeforeTagOrBranch( true );
builder.setRemoteTagging( true );
- builder.setPinExternals( false );
mapNextVersion( builder, "groupId:artifactId" );
phase.execute( ReleaseUtils.buildReleaseDescriptor( builder ), new DefaultReleaseEnvironment(), reactorProjects );
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/IsScmBranchParametersEquals.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/IsScmBranchParametersEquals.java
index 8431b85..9fb572f 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/IsScmBranchParametersEquals.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/IsScmBranchParametersEquals.java
@@ -40,7 +40,7 @@ public class IsScmBranchParametersEquals extends ArgumentMatcher<ScmBranchParame
{
ScmBranchParameters sbp = (ScmBranchParameters) argument;
return sbp.getMessage().equals( this.scmBranchParameters.getMessage() )
- && sbp.isRemoteBranching() == this.scmBranchParameters.isRemoteBranching()
- && sbp.isPinExternals() == this.scmBranchParameters.isPinExternals();
+ //&& stp.isRemoteTagging() == this.scmBranchParameters.isRemoteTagging()
+ ;
}
}
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/IsScmTagParametersEquals.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/IsScmTagParametersEquals.java
index 6196256..0c3dc75 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/IsScmTagParametersEquals.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/IsScmTagParametersEquals.java
@@ -39,7 +39,6 @@ public class IsScmTagParametersEquals extends ArgumentMatcher<ScmTagParameters>
{
ScmTagParameters stp = (ScmTagParameters) argument;
return stp.getMessage().equals( this.scmTagParameters.getMessage() )
- && stp.isRemoteTagging() == this.scmTagParameters.isRemoteTagging()
- && stp.isPinExternals() == this.scmTagParameters.isPinExternals();
+ && stp.isRemoteTagging() == this.scmTagParameters.isRemoteTagging();
}
}
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitDevelopmentPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitDevelopmentPhaseTest.java
index 8378869..50ba849 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitDevelopmentPhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitDevelopmentPhaseTest.java
@@ -96,7 +96,6 @@ public class ScmCommitDevelopmentPhaseTest
List<MavenProject> reactorProjects = createReactorProjects();
builder.setRemoteTagging( false );
- builder.setPinExternals( false );
builder.setSuppressCommitBeforeTagOrBranch( true );
builder.setUpdateWorkingCopyVersions( false );
diff --git a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitPreparationPhaseTest.java b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitPreparationPhaseTest.java
index 954086c..863cdbd 100644
--- a/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitPreparationPhaseTest.java
+++ b/maven-release-manager/src/test/java/org/apache/maven/shared/release/phase/ScmCommitPreparationPhaseTest.java
@@ -488,7 +488,6 @@ public class ScmCommitPreparationPhaseTest
List<MavenProject> reactorProjects = createReactorProjects();
builder.setRemoteTagging( true );
- builder.setPinExternals( false );
builder.setSuppressCommitBeforeTagOrBranch( true );
ScmProvider scmProviderMock = mock( ScmProvider.class );
diff --git a/maven-release-plugin/src/it/projects/prepare/MRELEASE-835/pom.xml b/maven-release-plugin/src/it/projects/prepare/MRELEASE-835/pom.xml
new file mode 100644
index 0000000..38bd07e
--- /dev/null
+++ b/maven-release-plugin/src/it/projects/prepare/MRELEASE-835/pom.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.plugins.release.its</groupId>
+ <artifactId>mrelease-835</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <packaging>pom</packaging>
+
+ <scm>
+ <connection>scm:dummy|nul</connection>
+ <developerConnection>scm:dummy|nul</developerConnection>
+ </scm>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>@project.version@</version>
+ <configuration>
+ <autoResolveSnapshots>dependencies</autoResolveSnapshots>
+ <arguments>-Dflag -Dfoo=bar</arguments>
+ <mavenExecutorId>invoker</mavenExecutorId>
+ <goals>validate</goals>
+ <preparationGoals>validate</preparationGoals>
+ <completionGoals>verify</completionGoals>
+ </configuration>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven.its.release</groupId>
+ <artifactId>maven-scm-provider-dummy</artifactId>
+ <version>1.0</version>
+ </dependency>
+ </dependencies>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>test</groupId>
+ <artifactId>dependency</artifactId>
+ <version>1.2.3-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>test</groupId>
+ <artifactId>dependency.test</artifactId>
+ <version>2.3.4-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/maven-release-plugin/src/it/projects/prepare/MRELEASE-835/verify.groovy b/maven-release-plugin/src/it/projects/prepare/MRELEASE-835/verify.groovy
new file mode 100644
index 0000000..027cc50
--- /dev/null
+++ b/maven-release-plugin/src/it/projects/prepare/MRELEASE-835/verify.groovy
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+File buildLog = new File( basedir, 'build.log' )
+assert buildLog.exists()
+
+assert 1 == buildLog.getText().count("[DEBUG] (f) autoResolveSnapshots = dependencies")
+
+File pomXmlNext = new File( basedir, 'pom.xml.next' )
+assert pomXmlNext.exists()
+assert 1 == pomXmlNext.getText().count("<version>1.2.3</version>")
+assert 1 == pomXmlNext.getText().count("<version>2.3.4</version>")
diff --git a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java
index 05030f0..1cbd467 100644
--- a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java
+++ b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/BranchReleaseMojo.java
@@ -230,15 +230,6 @@ public class BranchReleaseMojo
@Parameter( defaultValue = "@{prefix} prepare branch @{releaseLabel}", property = "scmBranchCommitComment" )
private String scmBranchCommitComment = "@{prefix} prepare branch @{releaseLabel}";
- /**
- * Currently only implemented with svn scm. Enable the "--pin-externals" option in svn
- * copy commands which is new in Subversion 1.9.
- *
- * @since 3.0.0
- */
- @Parameter( defaultValue = "false", property = "pinExternals" )
- private boolean pinExternals;
-
@Override
public void execute()
throws MojoExecutionException, MojoFailureException
@@ -263,7 +254,6 @@ public class BranchReleaseMojo
config.setProjectVersionPolicyId( projectVersionPolicyId );
config.setProjectNamingPolicyId( projectBranchNamingPolicyId );
config.setScmBranchCommitComment( scmBranchCommitComment );
- config.setPinExternals( pinExternals );
if ( checkModificationExcludeList != null )
{
diff --git a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java
index f09a24d..9e601c0 100644
--- a/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java
+++ b/maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java
@@ -281,14 +281,26 @@ public class PrepareReleaseMojo
private String scmDevelopmentCommitComment = "@{prefix} prepare for next development iteration";
/**
- * Currently only implemented with svn scm. Enable the "--pin-externals" option in svn
- * copy commands which is new in Subversion 1.9.
- *
+ * Specifies whether unresolved SNAPSHOT dependencies should automatically be resolved.
+ * If this is set, then this specifies the default answer to be used when unresolved SNAPSHOT
+ * dependencies should automatically be resolved ( 0:All 1:Project Dependencies 2:Plugins
+ * 3:Reports 4:Extensions ). Possible values are:
+ * <ul>
+ * <li>"all" or "0": resolve all kinds of snapshots, ie. project, plugin, report and extension dependencies </li>
+ * <li>"dependencies" or "1": resolve project dependencies</li>
+ * <li>"plugins" or "2": resolve plugin dependencis</li>
+ * <li>"reports" or "3": resolve report dependencies</li>
+ * <li>"extensions" or "4": resolve extension dependencies</li>
+ * </ul>
+ *
* @since 3.0.0
*/
- @Parameter( defaultValue = "false", property = "pinExternals" )
- private boolean pinExternals;
+ @Parameter( property = "autoResolveSnapshots" )
+ private String autoResolveSnapshots;
+ /**
+ * {@inheritDoc}
+ */
@Override
public void execute()
throws MojoExecutionException, MojoFailureException
@@ -330,7 +342,7 @@ public class PrepareReleaseMojo
config.setProjectNamingPolicyId( projectTagNamingPolicyId );
config.setScmDevelopmentCommitComment( scmDevelopmentCommitComment );
config.setScmReleaseCommitComment( scmReleaseCommitComment );
- config.setPinExternals( pinExternals );
+ config.setAutoResolveSnapshots( autoResolveSnapshots );
if ( checkModificationExcludeList != null )
{