Skip to content

Commit

Permalink
#543 add back support for multiple property names separates by ","
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanseifert committed Jan 25, 2022
1 parent 650d882 commit ee5bb0e
Show file tree
Hide file tree
Showing 6 changed files with 93 additions and 6 deletions.
4 changes: 2 additions & 2 deletions src/it/it-set-property-001/verify.bsh
Expand Up @@ -8,12 +8,12 @@ try

if ( buf.indexOf( "<versionModule>1.2.3-SNAPSHOT</versionModule>" ) < 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( "<versionModuleTest>9.5.0-20170604.123223-2</versionModuleTest>" ) < 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;
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/it/it-set-property-002/verify.bsh
Expand Up @@ -8,7 +8,7 @@ try

if ( buf.indexOf( "<versionModule>9.5.0-20170604.123456-2</versionModule>" ) < 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( "<versionModuleTest>1.2.3-SNAPSHOT</versionModuleTest>" ) < 0 )
Expand Down
@@ -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
53 changes: 53 additions & 0 deletions src/it/it-set-property-003-multiple-properties/pom.xml
@@ -0,0 +1,53 @@
<?xml version="1.0"?>
<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/xsd/maven-4.0.0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>localhost</groupId>
<artifactId>it-set-property-003-multiple-properties</artifactId>
<version>1.0</version>
<packaging>pom</packaging>

<name>set-property based on issue-543</name>
<description>set-property goal to be able to set a multiple properties separated by ","</description>
<properties>
<versionModuleTest>1.2.3-SNAPSHOT</versionModuleTest>
<versionModule>1.2.3-SNAPSHOT</versionModule>
</properties>

<dependencies>
<dependency>
<groupId>test.package</groupId>
<artifactId>module</artifactId>
<version>${versionModule}</version>
</dependency>
<dependency>
<groupId>test.package</groupId>
<artifactId>moduleTest</artifactId>
<version>${versionModuleTest}</version>
</dependency>
</dependencies>

<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.3</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>2.0</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
26 changes: 26 additions & 0 deletions 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( "<versionModule>9.5.0-20170604.123456-2</versionModule>" ) < 0 )
{
System.err.println( "versionModule has not been changed which should not happen." );
return false;
}
if ( buf.indexOf( "<versionModuleTest>9.5.0-20170604.123456-2</versionModuleTest>" ) < 0 )
{
System.err.println( "versionModuleTest has not been changed which should not happen." );
return false;
}
}
catch( Throwable t )
{
t.printStackTrace();
return false;
}

return true;
12 changes: 9 additions & 3 deletions src/main/java/org/codehaus/mojo/versions/SetPropertyMojo.java
Expand Up @@ -31,6 +31,7 @@

import javax.xml.stream.XMLStreamException;
import java.io.IOException;
import java.util.Arrays;
import java.util.Map;

/**
Expand All @@ -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;
Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit ee5bb0e

Please sign in to comment.