diff --git a/src/it/it-set-property-001/verify.bsh b/src/it/it-set-property-001/verify.bsh
index e655d3a87..2ff1f7090 100644
--- a/src/it/it-set-property-001/verify.bsh
+++ b/src/it/it-set-property-001/verify.bsh
@@ -8,12 +8,12 @@ try
if ( buf.indexOf( "1.2.3-SNAPSHOT" ) < 0 )
{
- System.err.println( "versionModule has been changed which should not happened." );
+ System.err.println( "versionModule has been changed which should not happen." );
return false;
}
if ( buf.indexOf( "9.5.0-20170604.123223-2" ) < 0 )
{
- System.err.println( "versionModuleTest has been changed which should not happen." );
+ System.err.println( "versionModuleTest has not been changed which should not happen." );
return false;
}
}
diff --git a/src/it/it-set-property-002/verify.bsh b/src/it/it-set-property-002/verify.bsh
index 05511930c..51f180ed6 100644
--- a/src/it/it-set-property-002/verify.bsh
+++ b/src/it/it-set-property-002/verify.bsh
@@ -8,7 +8,7 @@ try
if ( buf.indexOf( "9.5.0-20170604.123456-2" ) < 0 )
{
- System.err.println( "versionModule has not been changed which should not happened." );
+ System.err.println( "versionModule has not been changed which should not happen." );
return false;
}
if ( buf.indexOf( "1.2.3-SNAPSHOT" ) < 0 )
diff --git a/src/it/it-set-property-003-multiple-properties/invoker.properties b/src/it/it-set-property-003-multiple-properties/invoker.properties
new file mode 100644
index 000000000..094e5f742
--- /dev/null
+++ b/src/it/it-set-property-003-multiple-properties/invoker.properties
@@ -0,0 +1,2 @@
+invoker.goals=${project.groupId}:${project.artifactId}:${project.version}:set-property
+invoker.mavenOpts=-Dproperty=versionModule,versionModuleTest -DnewVersion=9.5.0-20170604.123456-2
\ No newline at end of file
diff --git a/src/it/it-set-property-003-multiple-properties/pom.xml b/src/it/it-set-property-003-multiple-properties/pom.xml
new file mode 100644
index 000000000..c64c22718
--- /dev/null
+++ b/src/it/it-set-property-003-multiple-properties/pom.xml
@@ -0,0 +1,53 @@
+
+
+
+ 4.0.0
+
+ localhost
+ it-set-property-003-multiple-properties
+ 1.0
+ pom
+
+ set-property based on issue-543
+ set-property goal to be able to set a multiple properties separated by ","
+
+ 1.2.3-SNAPSHOT
+ 1.2.3-SNAPSHOT
+
+
+
+
+ test.package
+ module
+ ${versionModule}
+
+
+ test.package
+ moduleTest
+ ${versionModuleTest}
+
+
+
+
+
+
+
+ maven-clean-plugin
+ 2.2
+
+
+ maven-deploy-plugin
+ 2.3
+
+
+ maven-install-plugin
+ 2.2
+
+
+ maven-site-plugin
+ 2.0
+
+
+
+
+
diff --git a/src/it/it-set-property-003-multiple-properties/verify.bsh b/src/it/it-set-property-003-multiple-properties/verify.bsh
new file mode 100644
index 000000000..945436515
--- /dev/null
+++ b/src/it/it-set-property-003-multiple-properties/verify.bsh
@@ -0,0 +1,26 @@
+import java.io.*;
+import org.codehaus.plexus.util.FileUtils;
+
+try
+{
+ File file = new File( basedir, "pom.xml" );
+ String buf = FileUtils.fileRead( file, "UTF-8" );
+
+ if ( buf.indexOf( "9.5.0-20170604.123456-2" ) < 0 )
+ {
+ System.err.println( "versionModule has not been changed which should not happen." );
+ return false;
+ }
+ if ( buf.indexOf( "9.5.0-20170604.123456-2" ) < 0 )
+ {
+ System.err.println( "versionModuleTest has not been changed which should not happen." );
+ return false;
+ }
+}
+catch( Throwable t )
+{
+ t.printStackTrace();
+ return false;
+}
+
+return true;
diff --git a/src/main/java/org/codehaus/mojo/versions/SetPropertyMojo.java b/src/main/java/org/codehaus/mojo/versions/SetPropertyMojo.java
index 49646141e..0461e6074 100644
--- a/src/main/java/org/codehaus/mojo/versions/SetPropertyMojo.java
+++ b/src/main/java/org/codehaus/mojo/versions/SetPropertyMojo.java
@@ -31,6 +31,7 @@
import javax.xml.stream.XMLStreamException;
import java.io.IOException;
+import java.util.Arrays;
import java.util.Map;
/**
@@ -50,6 +51,7 @@ public class SetPropertyMojo
/**
* A property to update.
+ * You can also specify multiple property names separated by "," which are all set to the same new version.
*/
@Parameter( property = "property" )
private String property = null;
@@ -103,9 +105,13 @@ protected void update( ModifiedPomXMLEventReader pom )
properties = reader.getProperties();
} else {
getLog().debug( "Reading properties and versions to update from property and newVersion " );
- Property propertyConfig = new Property(property);
- propertyConfig.setVersion(newVersion);
- propertiesConfig = new Property[] { propertyConfig };
+ propertiesConfig = Arrays.stream(StringUtils.split(property, ","))
+ .map(prp -> {
+ Property propertyConfig = new Property(prp);
+ propertyConfig.setVersion(newVersion);
+ return propertyConfig;
+ })
+ .toArray(size -> new Property[size]);
properties = property;
}
update(pom, propertiesConfig, properties);