I have question about maven. How can I disable buildnumber-maven-plugin through command line option. I want to run "mvn test" command on our continuous integration server, but this cmd failed because it trying to build a version and haven't access permission to our vcs (which is configured in tag). So it is possible disable it through cmd option or run only the tests without building new release version? Thanks for any help.
Asked
Active
Viewed 3,225 times
4 Answers
10
Use a profile to control which plug-ins are enabled during the build:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.me.test</groupId>
<artifactId>demo</artifactId>
<version>1.0</version>
..
..
<profiles>
<profile>
<id>with-scm</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>true</doCheck>
<doUpdate>true</doUpdate>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
The profile can be enabled by running Maven as follows:
mvn -Pwith-scm package

Mark O'Connor
- 76,015
- 10
- 139
- 185
-
But I have only option to add cmd parameter to maven build on CI. I cannot manipulate with pom.xml and settings.xml – user1289877 Mar 24 '12 at 14:02
-
If you can't change the POM, then you are stuck with a Maven build life-cycle that includes SCM operations. Using a profile is a mechanism for implementing optional life-cycle actions – Mark O'Connor Mar 24 '12 at 15:38
4
One approach would be to use a property in your pom to specify the execution phase of the build number plugin, as shown below.
<project>
..
<properties>
<buildnumber.plugin.phase>validate</buildnumber.plugin.phase>
..
</properties>
..
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<phase>${buildnumber.plugin.phase}</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
..
</configuration>
</plugin>
</plugins>
..
</project>
Then provide the property on the command line to disable the plugin, as shown in the following example.
mvn install -Dbuildnumber.plugin.phase=none

matt_smith
- 41
- 1
0
You may skip failure without change pom.xml
in project. Please look at my answer at Disable maven build number plugin

Hubbitus
- 5,161
- 3
- 41
- 47
-1
-
1This answer does not provide any explanation or any new information not contained in already existing answers. – heenenee Oct 23 '16 at 05:45