You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by "Patrice Matignon (JIRA)" <ji...@apache.org> on 2014/06/03 02:52:01 UTC

[jira] [Created] (IVY-1475) ivy:cachefileset fails with String index out of range on Windows

Patrice Matignon created IVY-1475:
-------------------------------------

             Summary: ivy:cachefileset fails with String index out of range on Windows
                 Key: IVY-1475
                 URL: https://issues.apache.org/jira/browse/IVY-1475
             Project: Ivy
          Issue Type: Bug
          Components: Ant
    Affects Versions: 2.4.0-RC1
         Environment: Windows
            Reporter: Patrice Matignon


On Windows, the ant task <ivy:cachefileset /> can fail with the stack trace below, when the resolve includes artifacts located in separate directories in separate drives (e.g. c:\ivy2/cache/... ; d:\ivy2\cache ).
The underlying issue is that cachefileset is an ant fileset and as such it requires a base dir.
Nevertheless, the implementation for this ant task doesn't handle this scenario properly: it attempts to find the common base dir for all the resolved artifacts, except that every time it runs into a conflicting artifacts, it just loses the information and ends up reporting an invalid base dir, which causes a fatal StringIndexOutOfBoundsException later in that task.


A sample stacktrace (the actual reported index varies):
C:\src\trunk\build.xml:839: impossible to build ivy cache fileset: java.lang.StringIndexOutOfBoundsException: String index out of range: -24
	at java.lang.String.substring(String.java:1937)
	at java.lang.String.substring(String.java:1904)
	at org.apache.ivy.ant.IvyCacheFileset.getPath(IvyCacheFileset.java:114)
	at org.apache.ivy.ant.IvyCacheFileset.doExecute(IvyCacheFileset.java:82)
	at org.apache.ivy.ant.IvyTask.execute(IvyTask.java:271)




--
This message was sent by Atlassian JIRA
(v6.2#6252)