Skip to content

Commit

Permalink
Resolves mojohaus#916: Partially reverted mojohaus#799.
Browse files Browse the repository at this point in the history
- Reviewed the code and the semantics of processAllModules, groupId, artifactId, oldVersion params
- Dropped support for partially interpolating the properties to be matched with groupId:artifactId:oldVersion
- Matching occurs always unless *processAllModules* is set
- If *processAllModules* is not set, *oldVersion* will be respected
- Included an additional test case from mojohaus#916 testing child version
  • Loading branch information
jarmoniuk committed May 10, 2023
1 parent 35a2879 commit e0949a9
Show file tree
Hide file tree
Showing 13 changed files with 275 additions and 176 deletions.
@@ -0,0 +1,2 @@
invoker.goals = ${project.groupId}:${project.artifactId}:${project.version}:set
invoker.mavenOpts = -DnewVersion=1.2.1-SNAPSHOT -Drevision=1.2.0
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<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">
<parent>
<groupId>localdomain.localhost</groupId>
<artifactId>project-a</artifactId>
<version>${revision}</version>
</parent>

<modelVersion>4.0.0</modelVersion>
<groupId>localdomain.localhost</groupId>
<artifactId>module-a1</artifactId>
<packaging>pom</packaging>
<version>2.0.7-SNAPSHOT</version>

</project>
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<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">
<parent>
<groupId>localdomain.localhost</groupId>
<artifactId>project-a</artifactId>
<version>${revision}</version>
</parent>

<modelVersion>4.0.0</modelVersion>
<groupId>localdomain.localhost</groupId>
<artifactId>module-a2</artifactId>
<packaging>pom</packaging>
<version>${revision}</version>

</project>
104 changes: 104 additions & 0 deletions versions-maven-plugin/src/it/it-set-005-properties/pom.xml
@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8"?>
<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>localdomain.localhost</groupId>
<artifactId>project-a</artifactId>
<packaging>pom</packaging>
<version>${revision}</version>
<name>mversions-71</name>

<description>
invoking versions:set on root module should not update child module versions
unless they are the same as the parent old version
</description>

<modules>
<module>module-a1</module>
<module>module-a2</module>
</modules>

<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.1</version>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-2</version>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.0</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.3</version>
</plugin>
<plugin>
<artifactId>maven-ear-plugin</artifactId>
<version>2.3.1</version>
</plugin>
<plugin>
<artifactId>maven-ejb-plugin</artifactId>
<version>2.1</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.4</version>
</plugin>
<plugin>
<artifactId>maven-plugin-plugin</artifactId>
<version>2.4.1</version>
</plugin>
<plugin>
<artifactId>maven-rar-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.0-beta-7</version>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.2</version>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>2.0</version>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>2.0.4</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.2</version>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1-alpha-1</version>
</plugin>
</plugins>
</pluginManagement>
</build>

</project>
12 changes: 12 additions & 0 deletions versions-maven-plugin/src/it/it-set-005-properties/verify.groovy
@@ -0,0 +1,12 @@
import groovy.xml.XmlSlurper

def parentPom = new XmlSlurper().parse( new File( basedir, 'pom.xml' ) )
assert parentPom.version == '1.2.1-SNAPSHOT'

def moduleA1 = new XmlSlurper().parse( new File( basedir, 'module-a1/pom.xml' ) )
assert moduleA1.parent.version == '1.2.1-SNAPSHOT'

def moduleA2 = new XmlSlurper().parse( new File( basedir, 'module-a2/pom.xml' ) )
assert moduleA2.parent.version == '1.2.1-SNAPSHOT'
assert moduleA2.version == '1.2.1-SNAPSHOT'

88 changes: 0 additions & 88 deletions versions-maven-plugin/src/it/it-set-005/verify.bsh

This file was deleted.

11 changes: 11 additions & 0 deletions versions-maven-plugin/src/it/it-set-005/verify.groovy
@@ -0,0 +1,11 @@
import groovy.xml.XmlSlurper

def parentPom = new XmlSlurper().parse( new File( basedir, 'pom.xml' ) )
assert parentPom.version == '1.2.1-SNAPSHOT'

def moduleA1 = new XmlSlurper().parse( new File( basedir, 'module-a1/pom.xml' ) )
assert moduleA1.parent.version == '1.2.1-SNAPSHOT'

def moduleA2 = new XmlSlurper().parse( new File( basedir, 'module-a2/pom.xml' ) )
assert moduleA2.parent.version == '1.2.1-SNAPSHOT'

@@ -0,0 +1,2 @@
invoker.goals = ${project.groupId}:${project.artifactId}:${project.version}:set
invoker.mavenOpts = -Drevision=1.0 -DnewVersion=TEST
10 changes: 10 additions & 0 deletions versions-maven-plugin/src/it/it-set-issue-916-properties/pom.xml
@@ -0,0 +1,10 @@
<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>default-group</groupId>
<artifactId>default-artifact</artifactId>
<version>${revision}-SNAPSHOT</version>
<packaging>pom</packaging>

</project>
@@ -0,0 +1,4 @@
import groovy.xml.XmlSlurper

def project = new XmlSlurper().parse( new File( basedir, 'pom.xml' ) )
assert project.version == 'TEST'

0 comments on commit e0949a9

Please sign in to comment.