I'm using the Jenkins workspace to control the ivy cache folder. In the 
ivysettings.xml:

<caches defaultCacheDir="${env.WORKSPACE}/.ivy2" />

Since the project name is part of the workspace, you will be ok. 

As to your other questions on the cachepath and cachefileset these are 
specific to each project build execution. You won't have any concurrency 
issues with these.

Frank

On Wednesday, August 22, 2012 1:12:28 PM UTC-5, qazwart wrote:
>
> We have a lot of Ant projects and in order to get the dependencies in 
> order, I'm going to implement Ivy with Ant. 
>
> After getting some basic configuration setups, I'm beginning to 
> realize that there might be an issue with Jenkins doing multiple 
> builds with various Ivy projects. 
>
> For example, I thought originally it would be a good idea to do a 
> <ivy:cleancache> as part of the clean target. I suddenly realized that 
> this removes the entire user's cache. Imagine Job #1 running, and Job 
> #2 starts and does an <ivy:cleancache>. Suddenly Job #1 doesn't have 
> the cache. 
>
> I was also looking at the <ivy:resolve> and <ivy:cachepath> and may 
> have some concurrency issues with those too. When I look at 
> $HOME/.ivy/cache, I see files with the names of 
> "com.company.project-compile.xml" and "com.company.project-test.xml". 
> I assume that Ivy uses these for building the <cachepath> and 
> <cachefileset> reference IDs. What happens if I have two projects that 
> share the same company and project name? This is possible if you're 
> building two different versions of the same project. Imagine Company 
> VeggieCorp.com has a project "foo" and is working on the next release 
> 3.5 and is working on a bugfix for the last release 3.4.2. There would 
> be a single "com-veggiecorp.foo-compile.xml" in the Ivy cache for both 
> of these projects. 
>
> How does everyone else use Ivy and avoid these issues? Or, am I 
> imagining this is a problem? 
>
> I was thinking somehow to include the Jenkins Executor Number to 
> eliminate this conflict. I might end up with multiple local 
> repositories, but it would eliminate the concurrency issue. If I 
> somehow incorporate the Executor Number as part of the ivy repository 
> location, then if Executor #1 is running and does an <ivy:cleancache>, 
> it won't affect any other job that might be currently running. 
>
> -- 
> David Weintraub 
> qaz...@gmail.com <javascript:> 
>

Reply via email to