Xavier Hanin wrote:
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
https://issues.apache.org/jira/browse/IVY-778
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
>