Hello; I am on a team that is for better or for worse developing tons of
Maven artifacts at the speed of light in parallel.  Whee!

This is early green field development so all the versions so far are
SNAPSHOTs.  More whee!

We have a Nexus repository set up and a Hudson build that does a mvn -fae
clean deploy over the whole project.  So the Nexus repository gets stuffed
full of snapshot versions several times a day.

Some developers on the team are reporting (incorrectly, I'm sure) that
various artifacts are "disappearing" or are in other ways not what they'd
expect.  I have to assume that massive snapshot dependencies like this are
part of the root cause: if I have tinyModuleX checked out, and I resolve all
of its SNAPSHOT dependencies through Nexus, then obviously I'm going to get
particular snapshots at particular times of day.

My question here is: what are people's best practices here?  Assume for the
sake of argument that SNAPSHOT dependencies at this stage of the game are
required.  Are there ways I can mitigate the chaos?  If so, what are they?

A related question: when a SNAPSHOT gets deployed, does it depend on ITS
dependencies by timestamp?  That is, if I deploy tinyModuleX and it depends
on tinyModuleY version 1.0-SNAPSHOT, is the fact that it depends on a
PARTICULAR snapshot of Y at a PARTICULAR moment in time captured?

Thanks,
Laird

Reply via email to