<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
Priority: Minor
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 directly
(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