On Nov 7, 2010, at 11:14 AM, jhumble wrote:

> Ideally what I'd like is for Maven to explicitly support the continuous
> delivery model and provide snapshots that are reproducible.

Snapshots can be reproducible if developers set dependencies on the timestamped 
name of the deployed version.  I remember there being reasons that these 
strategies are discouraged (should be in the list archives), but those reasons 
may not apply here.

If I understand the paradigm, it's not that developers would want to reject the 
latest version of any dependencies, just that the snapshot builds should be 
reproducible.  Since the POM is the source of dependency resolution for any 
Maven build, it seems like the release plugin in use would have to update the 
project POMs to the currently resolved name of the actual dependency and check 
them in before the tag.  

But if the release checks in a POM and this is happening over and over for 
every checkin (a one line change in a heavily connected project could easily 
cause several POMs to be updated), suddenly dependent versions need to have 
their POMs changed, checked in, and new version propagated iteratively.  On 
developer desktops, all these new POMs would need to be kept up to date 
constantly to avoid text conflicts.  Maybe a VFS SCM could get around this, 
but.... ick!  The tooling is suddenly very heavyweight.

Does your book discuss ways to get around these issues?
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to