You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by Per Hermansson <he...@bredband.net> on 2008/03/11 20:46:23 UTC
Strange behavior with multiple cleancache and inline retrive
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
(working@local). java.io.FileNotFoundException: C:\Documents and
Settings\Per\.ivy2\cache\ivytest\core\ivys\ivy.original-working@local.xml
(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
Re: Strange behavior with multiple cleancache and inline retrive
Posted by Per Hermansson <he...@bredband.net>.
Xavier Hanin wrote:
> On Thu, Mar 13, 2008 at 4:15 PM, Per Hermansson
> <he...@bredband.net> 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
>> > (working@local). java.io.FileNotFoundException: C:\Documents and
>> > Settings\Per\.ivy2\cache\ivytest\core\ivys\ivy.original-working@local.xml
>> > (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
>> >
>>
>>
>
>
>
>
Re: Strange behavior with multiple cleancache and inline retrive
Posted by Xavier Hanin <xa...@gmail.com>.
On Thu, Mar 13, 2008 at 4:15 PM, Per Hermansson
<he...@bredband.net> 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
> > (working@local). java.io.FileNotFoundException: C:\Documents and
> > Settings\Per\.ivy2\cache\ivytest\core\ivys\ivy.original-working@local.xml
> > (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/
Re: Strange behavior with multiple cleancache and inline retrive
Posted by Per Hermansson <he...@bredband.net>.
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?
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
> (working@local). java.io.FileNotFoundException: C:\Documents and
> Settings\Per\.ivy2\cache\ivytest\core\ivys\ivy.original-working@local.xml
> (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
>