What CI build server are you using? I've never heard of cross-Ant concurrency issues that didn't involve the filesystem. I thought most if not all forked Ant.
On Friday, August 28, 2009, Willem Verstraeten <[email protected]> wrote: > Hello, > > How can you set a resolveId that depends on the properties of the > module to be resolved ? > > Ie. I am trying to do something like this: > > > <ivy:retrieve inline="true" > organisation="com.mycorp" > module="common" > type="buildscript" > conf="build" > resolveid="[org]-[module]-[branch]-${http://ant.project.name}" > pattern="${common.dir}/[artifact].[ext]"/> > > The resolveId is not treated as a pattern though, so the resolveId is > the literal [org]-[module]-[branch]-project_name, iso > com.mycorp-common-development-project_name. > > Now for the [org] and [module] parts I can obviously fill them in as a > literal, because I specify them as literals anyway. However, the > branch is determined by the settings file, so I'd like to avoid > duplicating that logic here. > > Also, when I would not do an inline resolve (ie. resolve based on an > ivy file) I guess I would need this functionality as well, as I don't > have the literal information available then. > > All this would be necessary to support concurrent building of several > modules which all start with this piece. Ie. I have a multi-module > setup, and the build scripts all use the above retrieve task to get > the common parts of the build script. If two modules are being built > at the same time (which is quite likely when you have a continuous > integration server), you get the possibility that two build scripts > are resolving the same module at the same time with the same > resolveId, leading to concurrency problems. >
