Version snapshots by date ?

Ian Young ian at iay.org.uk
Wed Dec 11 11:45:22 EST 2013


On 11 Dec 2013, at 16:26, Tom Zeller <tzeller at dragonacea.biz> wrote:

> When/if you have time, maybe you could help me think through how we
> version deployed artifact snapshots.
> 
> Basically, I think I want to "tag" all artifacts with a date.
> 
> I am thinking we could deploy artifacts nightly from Jenkins with
> versions of the form SNAPSHOT-YYYYMMDD.

Deployed snapshots in Nexus are already fully-qualified. See, for example:

https://build.shibboleth.net/nexus/content/repositories/snapshots/net/shibboleth/idp/idp-attribute-api/3.0-SNAPSHOT/

> Background : I have been wondering how to tag java-idp-testbed. My
> concern is that a tag of java-idp-testbed would depend on
> idp-core:3.0-SNAPSHOT, but as the snapshot dependency APIs vary over
> time that tag of java-idp-testbed would likely break. I think I want
> to tag java-idp-testbed and specify something like SNAPSHOT-YYYYMMDD
> as the version of all our dependencies via a property.

I believe the normal approach would be to build a binary distribution of the testbed as the primary way people would access it. This would include all of the dependencies (in particular the particular upstream snapshots as JARs) so it wouldn't break later.

Either that, or cut proper interim releases, tagged and deployed as such.

> Of course, I could be wrong. I think an alternative might be to
> qualify snapshot versions somehow in the testbed POM, not sure.

I do seem to recall seeing some Maven thing that freezes the current upstream snapshot versions into a POM, but it may have been a fever dream.

> Am I making sense ?

Somewhat, but I think you're trying to stretch "snapshot" to mean something that it isn't intended to mean, and that would likely cause issues. In particular, Nexus knows that actual snapshots expire, so it's fine to have one for every day because they gradually vanish again. Pushing something other than a "-SNAPSHOT" version to Nexus would, I think, mean that we were pushing something that was not a Maven snapshot, which would imply (a) that it would have to go to the release repository (b) Jenkins would need release credentials (c) they would never go away but accumulate forever.

I think that's pretty far off the beaten track, and as you know I believe in staying firmly on the path in these matters. There are Spiders in the woods.

	-- Ian



-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5943 bytes
Desc: not available
Url : http://shibboleth.net/pipermail/dev/attachments/20131211/2b4d07d2/attachment.bin 


More information about the dev mailing list