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
>