From: Robert Munteanu <[email protected]<mailto:[email protected]>>
Reply-To: "[email protected]<mailto:[email protected]>"
<[email protected]<mailto:[email protected]>>
Date: Monday, April 6, 2015 at 4:12 AM
To: "[email protected]<mailto:[email protected]>"
<[email protected]<mailto:[email protected]>>
Subject: Re: build version numbering in sling jenkins build and debian package
version number
Hi Bruce,
On Fri, 2015-03-27 at 21:28 +0000, Bruce Edge wrote:
I'd like to make the debian package that's built by jenkins have a unique
version number that reflects the jenkins build number or some other meaningful
version string.
Currently it's stuck at "8-SNAPSHOT" because this started off being tied to the
launchpad build. It's not even related to launchpad any more, so I'd like to
fix this versioning issue now.
( Side note question, should it be moved out from under
contrib/launchpad/debian to contrib/debian as it's not related to launchpad
anymore? )
What is the current mechanism used by the jenkins build to inject version
numbers into pom files to obtain meaningful versions for the output artifacts?
I've always mvn -DBUILD_NUMBER=${BUILD_NUMBER} clean versions:set to set
newVersion in the pom, but I don't see this used anywhere in the sling source
tree.
We probably don't use this since BUILD_NUMBER does not exist outside of
Jenkins.
Lastly, once the .deb package is built with an appropriate version number,
would it be possible to get this pushed to nexus as part of a release so that
it's available as a downloadable artifact?
Nexus does support exposing debian packages as artifacts via the deb plugin, so
my question is, could this be done, rather than "is it possible".
That's a question for infra I guess ( see [1] )
Robert
[1]: https://www.apache.org/dev/infra-contact
This issue has moved on to the next hurdle now.
WRT the version numbering, Tomasz figured out that we could use the maven jdeb
plugin to extract a build number from the environment regardless of context.
It's currently configured to use:
<configuration>
<snapshotExpand>true</snapshotExpand>
<snapshotEnv>BUILD_NUMBER</snapshotEnv>
this uses the jenkins BUILD_NUMBER, if present, otherwise it expands to the
SNAPSHOT equivalent, so it works for jenkins and local builds alike.
I just checked on the apache snapshots repo [1] and it's still not visible as
an artifact, so I'm guessing that nexus is not configured to recognize .deb as
a manageable artifact extension as this requires an additional nexus plugin [2].
I've emailed [email protected] requesting this. Please advise if there
is a better contact email for this request.
Although, I did just notice that the current release on nexus is from before
this change went into the codebase, so it may be that it'll just show up on the
next release.
[1]
https://repository.apache.org/content/repositories/snapshots/org/apache/sling/sling-server/8-SNAPSHOT/
[2] https://github.com/inventage/nexus-apt-plugin
-Bruce