user3847894
user3847894

Reputation: 1054

maven ${project.version.prefix}

We have a multi module java project where we have pom.xml in every modules. I see we have ${project.version} in pom.xml which basically gets the project version. Is there anything like ${project.version.prefix} which will also gets the project version minus SNAPSHOT?

Upvotes: 1

Views: 1986

Answers (2)

pejas
pejas

Reputation: 273

use build-helper-maven-plugin (via build helper plugin not parsing project version)

maven-antrun-plugin used only to show results

 <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>1.7</version>
    <executions>
      <execution>
        <phase>validate</phase>
        <id>parse-version</id>
        <goals>
          <goal>parse-version</goal>
        </goals>
        <configuration>
          <propertyPrefix>parsedVersion</propertyPrefix>
        </configuration>
      </execution>
    </executions>
  </plugin>
        <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.1</version>
    <executions>
      <execution>
        <phase>validate</phase>
        <goals>
          <goal>run</goal>
        </goals>
        <configuration>
          <tasks>
            <echo>Major: ${parsedVersion.majorVersion}</echo>
            <echo>Minor: ${parsedVersion.minorVersion}</echo>
            <echo>Incremental: ${parsedVersion.incrementalVersion}</echo>
            <echo>Qualifier: ${parsedVersion.qualifier}</echo>
            <echo>BuildNumber: ${parsedVersion.buildNumber}</echo>
            <echo>Project version: ${project.version}</echo>
            <echo>No qualifier: ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}</echo>
          </tasks>
        </configuration>
      </execution>
    </executions>
  </plugin>

Output:

 [INFO] --- maven-antrun-plugin:1.1:run (default) @ XXX ---
 [INFO] Executing tasks
 [echo] Major: 1
 [echo] Minor: 2
 [echo] Incremental: 0
 [echo] Qualifier: SNAPSHOT
 [echo] BuildNumber: 0
 [echo] Project version: 1.2.0-SNAPSHOT
 [echo] No qualifier: 1.2.0

Upvotes: 3

Brandon Heck
Brandon Heck

Reputation: 81

There isn't anything inherent in Maven that you can use for this, but you can configure the build-helper-maven-plugin to set a property where you can parse out the data.

Upvotes: 0

Related Questions