At my day job, we went through a traumatic process of learning *not* to type 'mvn deploy'. Reading the user list, it seems to me that our experience is common.
We hit the 'multiple developers versus deployed snapshot' trap. The process, familiar, I guess, to everyone here, is: 1) check out a multi-module project. 2) make one change of a coordinated series of changes in one project. Don't check it in. 3) go to work on some other module that depends on the change from (1). 4) someone else makes an unrelated change to the same module as I did in (1), and checks it in. 5) ci build deploys a snapshot. 6) my next build sees that snapshot as newer than my local build, and grabs it. 7) comedy ensues until I realize the need for 'mvn clean install' in that project. Now, I can avoid this by turning off snapshot updates. However, at this point, the snapshots aren't doing anyone any use, so we might as well not deploy them. If some complex test process needs snapshots, we use a separate repo that ordinary devs don't search. I discovered yesterday that one team had taken this idea to its local extreme, and were just using release versions, no -SNAPSHOTS at all. They reason that their builds are faster (no looking over the network) and, since they never run 'deploy' on the versions used in development, why use SNAPSHOTs at all? The net of this is that SNAPSHOTs are useful when there's a directed graph of usage: one entity is publishing, and some other entities are consuming, and they never switch places. If I turned all this thinking into apt, would anyone object to checking it into the doc tree? --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org