I'm trying to clarify what is the purpose of the Maven descriptor, and
what systems make use of it, and if there is any point in working on
this issue we have with the pom.xml that is added to our generated
artifacts.
Our projects are set up to have their version numbers passed in via
the build system. When a build is performed on Hudson, it passes in
the property major.minor.version and BUILD_NUMBER.
So the version element in our pom.xml looks like this:
<version>${major.minor.version}.${BUILD_NUMBER}</version>
and the build command in the Hudson config for this project is like this
mvn -Dmajor.minor.version=1.0.0 -DBUILD_NUMBER=${BUILD_NUMBER} clean package
(actually, Hudson sets BUILD_NUMBER in the environment so we can also
leave it out)
Now the problem is, when the pom.xml gets added to the generated
artifact, it's the same as the original pom.xml, so that the version
is still
<version>${major.minor.version}.${BUILD_NUMBER}</version>
and does not get the details passed in on the command line. Is this a
bug or how it's really supposed to work?
I would've thought it would pick up on the parameters that have been
set and add a pom.xml that is more like the one you get when you do
"mvn help:effective-pom"
The pom.properties has all the right values, so the "version" property
has whatever values were passed in from command line.
It's not a major issue, but it's a small annoyance when you upload it
manually via Artifactory and it thinks that the version of the
artifact is the string "${major.minor.version}.${BUILD_NUMBER}".
It would be great if other users or maven developers could clarify
what it is used for, and if the behaviour I'm seeing is intentional.
(btw, am using Maven 2.0.8)
thanks,
Ellecer
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]