I want to append the Jenkins build number in my pom.xml
file. I can do this via the Maven Version plugin, but first I need the original version from the pom.xml
file.
In order to do this, I am using the command xmllint --xpath '/project/version/text()' pom.xml
command. However, I keep getting XPath set is empty
Here's the sample pom.xml
file:
<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>
<artifactId>das-artifact</artifactId>
<name>das-name</name>
<version>4.2</version>
</project>
And here's my output:
$ xmllint --nsclean --xpath '/project/version/text()' pom.xml
XPath set is empty
$
However, if I change the xmlns
element to fooxmlns
, it works:
Here's the sample pom.xml
file:
<project fooxmlns="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>
<artifactId>das-artifact</artifactId>
<name>das-name</name>
<version>4.2</version>
</project>
And here's my output:
$ xmllint --nsclean --xpath '/project/version/text()' pom.xml
4.2$
I'm not too familiar with all the stuff xmllint
can do. Can I get it to ignore the xmlns
namespace attribute?
version. It is the sub element of project. It specifies the version of the artifact under given group. File: pom.xml.
model version is the version of project descriptor your POM conforms to. It needs to be included and is set. The value 4.0. 0 just indicated that it is compatible Maven 3.
There in general two solutions either you go the path which @A_Di-Matteo has suggested (but there I would suggest to use at least Maven 3.3.9 or 3.4.0 if released) or you can go via a build-helper-maven-plugin like the following:
mvn build-helper:parse-version versions:set \
-DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}.\${parsedVersion.incrementalVersion}-WhatEverYouLikeToAdd \
versions:commit
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With