On 29/07/11 03:10, Rottinghuis, Joep wrote:
Alejandro,

Are you trying the use-case when people will want to locally build a consistent 
set of common, hdfs, and mapreduce without the downstream projects depending on 
published Maven SNAPSHOTS?
I'm working to get this going on 0.22 right now (see HDFS-843, HDFS-2214, and 
I'll have to file two equivalent bugs on mapreduce).

Part of the problem is that the assumption was that people always compile hdfs 
against hadoop-common-0.xyz-SNAPSHOT.
When applying one patch at a time from Jira attachments that may be fine.

If I set up a Jenkins build I will want to make sure that first hadoop-common 
builds with a new build number (not snapshot), then hdfs against that same 
build number, then mapreduce against hadoop-common and hdfs.
Otherwise you can get a situation when the mapreduce build is still running and 
hadoop-common build has already produced a new snapshot build.

Local caching in ~/.m2 and ~/.ivy2 repos makes this situation even more complex.

One option here is to set up >1 virtual machine (The centos 6.0 minimal are pretty lightweight) and delegate work to these jenkins instances, forcing different branches into different virtual hosts, and jenkins to build stuff serially on a single machine. That ensures a strict order and isolates you. You can even have ant targets to purge the repository caches.

I have some Centos VMs set up to do release work on my desktop as it ensures that I never release under-development code; the functional test runs don't interfere with my desktop test runs, and I can keep editing the code. It works OK, if you have enough RAM and HDD to spare

-steve

Reply via email to