Open jakub-bochenski opened 7 years ago
When you run the following pom with profiles direct and versionProp you will get a failure:
direct
versionProp
error: line 3: Illegal char '$' in: Version: ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}
Only profile version will work (Wrote: /home/acme/test/target/rpm/rpm-test/RPMS/noarch/rpm-test-1.0.0-1.noarch.rpm)
version
Wrote: /home/acme/test/target/rpm/rpm-test/RPMS/noarch/rpm-test-1.0.0-1.noarch.rpm
<?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>jbochenski</groupId> <artifactId>rpm-test</artifactId> <version>1.0.0-SNAPSHOT</version> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <build> <pluginManagement> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>rpm-maven-plugin</artifactId> <version>2.1.5</version> <configuration> <group>default</group> </configuration> <executions> <execution> <id>build-rpm-installer</id> <goals> <goal>attached-rpm</goal> </goals> <phase>package</phase> </execution> </executions> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>parse-version</id> <goals> <goal>parse-version</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <profiles> <profile> <id>direct</id> <properties> <rpm.version>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}</rpm.version> </properties> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>rpm-maven-plugin</artifactId> </plugin> </plugins> </build> </profile> <profile> <id>versionProp</id> <properties> <rpm.version2>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}</rpm.version2> </properties> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>rpm-maven-plugin</artifactId> <configuration> <versionProperty>rpm.version2</versionProperty> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>version</id> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>rpm-maven-plugin</artifactId> <configuration> <version>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}</version> </configuration> </plugin> </plugins> </build> </profile> </profiles> </project>
I though versionProperty setting was added specifically to address this use case.
versionProperty
Tested with:
$ mvn --version Apache Maven 3.3.9 Java version: 1.8.0_131, vendor: Oracle Corporation
What is weird is I'm using <versionProperty>rpm.version</versionProperty> successfully in another project, which has several levels of parent-inheritance
<versionProperty>rpm.version</versionProperty>
When you run the following pom with profiles
direct
andversionProp
you will get a failure:Only profile
version
will work (Wrote: /home/acme/test/target/rpm/rpm-test/RPMS/noarch/rpm-test-1.0.0-1.noarch.rpm
)I though
versionProperty
setting was added specifically to address this use case.Tested with: