I am not a big fan of the automatic triggering of builds.

We have over 60 modules.

The batch building might make sense at the beginning of a product where the modules are poorly defined and changes affect a lot of modules and functionality shifts between projects quite often.

As we got into a mature situation where the modules were better divided by function and were better layered through abstraction and factories, the scope of changes and the scope of work for individual developers got smaller. This made it much more efficient for a development to only check out the 5 or modules that required fixing in a minor upgrade and leave the rest of the modules alone and get them as dependencies. We also stopped changing version of modules that did not change so that application release 1.11 might consist of modules with versions 1.9, 1.10 and perhaps even earlier versions since even major releases did not affect all modules.

Not a direct answer to your question but something that you might want to think about as your application matures and you get to a better module structure where the scope of maintenance fixes and new releases gets easier to control.

Ron


On 07/05/2012 5:59 PM, Wayne Fay wrote:
So my question is: is there a common Maven best practice to mitigate such
redundancy? Or do most people simply live with the proliferation of
snapshots that occurs when using a naive deployment scheme?
I can't speak for "most people" but I can say that in my experience,
people simply live with the proliferation of snapshots and clean
things up regularly. Jenkins has a "build in clean repo" option and
the dependency plugin has a purge-local-repository option that may
also help if you are annoyed with the excessive use of disk space.

You may also consider moving to a nightly build if the raw number of
builds is too much to handle and you can trust your developers to not
break the build without the immediate feedback they are getting right
now from your setup. You can also change the configuration to check
for new snapshots "always."

someone pushes to the Git repository. The unfortunate side effect is that
all developers on the project generally have to redownload all submodule
JARs once every 24 hours (whenever Maven snapshots are refreshed).
I guess I'm not sure what the problem is here. Are your artifacts
large such that this is seen as an inconvenience and a waste of time?
Or is it just annoying? Maybe the first thing your coworkers could do
when they get in is run a Maven build, then go get their coffee. By
the time it is done, they have all the latest code and they are ready
for the day.

Alternatively, you could separate the more stable parts of your
project so they are built less frequently.

Wayne

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org




--
Ron Wheeler
President
Artifact Software Inc
email: rwhee...@artifact-software.com
skype: ronaldmwheeler
phone: 866-970-2435, ext 102


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to