Hello, I've got a problem when building a multi-module project with Ivy.
I have one 'core' modules, and two other modules which directly depend on this 'core' module. I use the <ivy:buildlist/> and <subant/> tasks to kick off the buids for each of these projects in the correct order (as in the multi-module tutorial). Each build publishes the artifacts of their modules to the same file resolver, which is explicitely set to publish atomically. Now for the problem: The build of the 'core' module always succeeds to publish its artifacts to the repository. The build of the first dependent module however sometimes fails to retrieve the artifacts from the repository and gives the strangest error reports. The build of the second module then *does* succeed to get the artifacts from the repository. Below one sort of error message: [ivy:resolve] [FAILED ] mycorp#core#development;9.1.51!core.jar: size of source file /tmp/repository/product/mycorp/core/development/9.1.51/jars/core.jar(4481919) differs from size of dest file /home/hudson/.ivy2/cache/mycorp/core/development/jars/core-9.1.51.jar.part(0) - please retry (8ms) [ivy:resolve] [FAILED ] mycorp#core#development;9.1.51!core_resources.jar: impossible to move part file to definitive one: /home/hudson/.ivy2/cache/mycorp/core/development/jars/core_resources-9.1.51.jar.part -> /home/hudson/.ivy2/cache/mycorp/core/development/jars/core_resources-9.1.51.jar (54ms) [ivy:resolve] [FAILED ] mycorp#core#development;9.1.51!core.jar: size of source file /tmp/repository/product/mycorp/core/development/9.1.51/jars/core.jar(4481919) differs from size of dest file /home/hudson/.ivy2/cache/mycorp/core/development/jars/core-9.1.51.jar.part(0) - please retry (8ms) [ivy:resolve] ==== luciad.product.release: tried [ivy:resolve] /tmp/repository/product/mycorp/core/development/9.1.51/jars/core.jar [ivy:resolve] [FAILED ] mycorp#core#development;9.1.51!core_resources.jar: impossible to move part file to definitive one: /home/hudson/.ivy2/cache/mycorp/core/development/jars/core_resources-9.1.51.jar.part -> /home/hudson/.ivy2/cache/mycorp/core/development/jars/core_resources-9.1.51.jar (54ms) [ivy:resolve] ==== luciad.product.release: tried [ivy:resolve] /tmp/repository/product/mycorp/core/development/9.1.51/jars/core_resources.jar [ivy:resolve] :::::::::::::::::::::::::::::::::::::::::::::: [ivy:resolve] :: FAILED DOWNLOADS :: [ivy:resolve] :: ^ see resolution messages for details ^ :: [ivy:resolve] :::::::::::::::::::::::::::::::::::::::::::::: [ivy:resolve] :: mycorp#core#development;9.1.51!core.jar [ivy:resolve] :: mycorp#core#development;9.1.51!core_resources.jar [ivy:resolve] :::::::::::::::::::::::::::::::::::::::::::::: [ivy:resolve] So in this session it complains about some file sizes. Note that the core module has three jars: core.jar, core_resources.jar and core_samples.jar. It only complains about the first two jars, the samples jars seems to be OK. At other times I get the same kind of messages, but then only for the resources jar and the samples jar. In other words, rather unpredictable. And here another kind of error messages, this time about SHA1 hashes being wrong: [ivy:resolve] :: problems summary :: [ivy:resolve] :::: WARNINGS [ivy:resolve] [FAILED ] mycorp#core#development;9.1.64!core.jar: invalid sha1: expected=74c42c66ff98890c1681cb5954037b8eb527b5f7 computed=18ac3859ea65dda07e946eba34d4564af7de6d2e (519ms) [ivy:resolve] [FAILED ] mycorp#core#development;9.1.64!core_resources.jar: invalid sha1: expected=f61efe185d6522a08c39322cde44368a7e94b3e0 computed=c8d6c5b58253b03944a44a706d1332d1a15f5f38 (48ms) [ivy:resolve] [FAILED ] mycorp#core#development;9.1.64!core.jar: invalid sha1: expected=74c42c66ff98890c1681cb5954037b8eb527b5f7 computed=18ac3859ea65dda07e946eba34d4564af7de6d2e (519ms) [ivy:resolve] ==== luciad.product.release: tried [ivy:resolve] /var/lib/ivy/repository/product/mycorp/core/development/9.1.64/jars/core.jar [ivy:resolve] [FAILED ] mycorp#core#development;9.1.64!core_resources.jar: invalid sha1: expected=f61efe185d6522a08c39322cde44368a7e94b3e0 computed=c8d6c5b58253b03944a44a706d1332d1a15f5f38 (48ms) [ivy:resolve] ==== luciad.product.release: tried [ivy:resolve] /var/lib/ivy/repository/product/mycorp/core/development/9.1.64/jars/core_resources.jar [ivy:resolve] :::::::::::::::::::::::::::::::::::::::::::::: [ivy:resolve] :: FAILED DOWNLOADS :: [ivy:resolve] :: ^ see resolution messages for details ^ :: [ivy:resolve] :::::::::::::::::::::::::::::::::::::::::::::: [ivy:resolve] :: mycorp#core#development;9.1.64!core.jar [ivy:resolve] :: mycorp#core#development;9.1.64!core_resources.jar [ivy:resolve] :::::::::::::::::::::::::::::::::::::::::::::: I've tried adding a small delay (5 seconds) after the publish step of the 'core' module, to no avail. Also I get the same errors when running these builds in Hudson (where Hudson is configured to kick of the build of the dependent project when the 'core' project has finished building), and since Hudson uses different OS-processes per build, I don't think it is a threading-issue inside the Ivy code. The only thing I can think of is that some information in the cache directory has gotten corrupt. Does anyone have a clue as to what could be wrong here and how I could fix/work around this ? Thanks for any feedback, Willem
