ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nicolas Lalevée (JIRA) <j...@apache.org>
Subject [jira] Resolved: (IVY-1272) <cachefileset> on an empty configuration produces a very slow-to-evaluate fileset
Date Wed, 09 Mar 2011 10:48:59 GMT

     [ https://issues.apache.org/jira/browse/IVY-1272?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Nicolas Lalevée resolved IVY-1272.
----------------------------------

       Resolution: Fixed
    Fix Version/s: trunk
         Assignee: Nicolas Lalevée

There was some code which was building a fileset with a basedir as the current one and excluding
every files. This is indeed some useless reading of the filesystem. I replaced it by a java
empty iterator.

> <cachefileset> on an empty configuration produces a very slow-to-evaluate fileset
> ---------------------------------------------------------------------------------
>
>                 Key: IVY-1272
>                 URL: https://issues.apache.org/jira/browse/IVY-1272
>             Project: Ivy
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 2.2.0-RC1
>         Environment: Ant 1.8.1
> Ivy 2.2.0-rc1
>            Reporter: Oliver Jowett
>            Assignee: Nicolas Lalevée
>            Priority: Minor
>             Fix For: trunk
>
>
> If I declare a <cachefileset> for a configuration that is present but empty, I
get a fileset that (as expected) matches no files.
> The problem is that when used, that fileset decides to match no files by recursively
scanning all files starting from the current working directory (checked via strace and via
a JVM thread dump)
> In our case, often the CWD is the top of our build tree, so this takes a very long time
to work out that the fileset is in fact empty.
> Specifically, we're doing this (inside a macrodef)
>             <ivy:cachefileset setid="@{module}.docdeps" conf="doc" type="javadoc.zip"/>
>             <unzip dest="${target}/javadoc">
>                 <patternset>
>                     <include name="*/package-list"/>
>                 </patternset>
>                 <fileset refid="@{module}.docdeps"/>
>             </unzip>
> and the unzip step takes a very, very, long time to do nothing when the "doc" conf is
empty.
> If I replace the use of cachefileset with an explicit fileset that matches nothing, it
runs fast as expected.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message