On Thu, Mar 13, 2008 at 4:15 PM, Per Hermansson <[EMAIL PROTECTED]> wrote: > I've made some further development with the analysis. I can now > reproduce the error with one of the example projects: multi-project. > Append the following lines in the build.xml file in > src\example\multi-project > > <property name="ivy.local.default.root" value="repository/local" /> > <property name="ivy.shared.default.root" value="repository/shared" /> > > <target name="retreive-test" depends="publish-all"> > <delete dir="test1" /> > <mkdir dir="test1" /> > > <ivy:cleancache /> > <ivy:retrieve inline="true" > organisation="org.apache.ivy.example" module="version" > pattern="test1/[artifact].[ext]" /> > > <delete dir="test2" /> > <mkdir dir="test2" /> > > <ivy:cleancache /> > <ivy:retrieve inline="true" > organisation="org.apache.ivy.example" module="version" > pattern="test2/[artifact].[ext]" /> > </target> > > The error is: > > impossible to ivy retrieve: java.lang.RuntimeException: problem during > retrieve of org.apache.ivy.example#version-caller: > > java.lang.IllegalStateException: Report file 'C:\Documents and > Settings\Per\.ivy2\cache\org.apache.ivy.example-version-caller-default.xml' > does not exist. > > Removing the second <ivy:cleancache /> call makes the program run > without error. The error occurs on both beta1 and beta2. > Unless I've misunderstood how inline works? I think you've spotted a bug. Please open an issue in JIRA. As a workaround, I suggest using a different resolveId for each inline retrieve.
Xavier > > Per Hermansson > > > > > Per Hermansson wrote: > > Hi! > > I'm experiencing some strange behavior when I call the ant tasks > > <ivy:cleancache> and <ivy:retrieve> in the following pattern: > > <ivy:cleancache /> > > <ivy:retrieve inline="true" ... > > > <ivy:cleancache /> > > <ivy:retrieve inline="true" ... > > > > > When my ant code has that pattern, ant fails during the second > > <ivy:retrieve> with the following exception: > > impossible to ivy retrieve: java.lang.RuntimeException: problem during > > retrieve of ivytest#ivytest-caller: java.lang.IllegalStateException: > > Report file 'C:\Documents and > > Settings\Per\.ivy2\cache\ivytest-ivytest-caller-default.xml' does not > > exist. > > > > When I update my code to the following the error no longer occurs and > > I get the expected behavior: > > <ivy:cleancache /> > > <ivy:retrieve inline="true" ... > > > <ivy:retrieve inline="true" ... > > > > > Note that the two <ivy:retrive> calls are identical except that they > > have different destination folders for the pattern. > > Both destination folders start empty at the beginning of the calls. > > > > The first <ivy:retrieve> gives the following warnings during execution: > > [ivy:retrieve] :: problems summary :: > > [ivy:retrieve] :::: WARNINGS > > [ivy:retrieve] impossible to put metadata file in cache: > > > G:\per\Development\java\MinaProgram\Eclipse\IvyTest\source\core\dist\ivy.xml > > ([EMAIL PROTECTED]). java.io.FileNotFoundException: C:\Documents and > > [EMAIL PROTECTED] > > (Det går inte att hitta filen) > > > > The second <ivy:retrieve> gives the following output before failing: > > [ivy:retrieve] :: retrieving :: ivytest#ivytest-caller > > [ivy:retrieve] confs: [default, src, tests] > > > > Finally I've tested this on both ivy 2.0.0-beta1 and 2.0.0-beta2 with > > the same behavior. > > > > // Per Hermansson > > > -- Xavier Hanin - Independent Java Consultant http://xhab.blogspot.com/ http://ant.apache.org/ivy/ http://www.xoocode.org/
