ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From maart...@apache.org
Subject svn commit: r705768 - in /ant/ivy/core/trunk: CHANGES.txt src/java/org/apache/ivy/ant/IvyCacheFileset.java
Date Fri, 17 Oct 2008 21:55:13 GMT
Author: maartenc
Date: Fri Oct 17 14:55:13 2008
New Revision: 705768

URL: http://svn.apache.org/viewvc?rev=705768&view=rev
Log:
FIX: cachefileset produces an empty fileset when the cache refers to libs in directories that
only have the root directory in common (IVY-948) (thanks to Chris Wood)

Modified:
    ant/ivy/core/trunk/CHANGES.txt
    ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyCacheFileset.java

Modified: ant/ivy/core/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/CHANGES.txt?rev=705768&r1=705767&r2=705768&view=diff
==============================================================================
--- ant/ivy/core/trunk/CHANGES.txt (original)
+++ ant/ivy/core/trunk/CHANGES.txt Fri Oct 17 14:55:13 2008
@@ -75,6 +75,7 @@
 	James P. White
 	Tom Widmer
 	John Williams
+    Chris Wood
 	Patrick Woodworth
 	Jaroslaw Wypychowski
 	
@@ -104,6 +105,7 @@
 - FIX: Can't use latest.release for pom dependencies (IVY-936)
 - FIX: Unable to resolve snapshot versions depending on xml elements order (IVY-940)
 - FIX: pre-resolve-dependency event doesn't export branch information (IVY-941) (thanks to
Jaroslaw Wypychowski)
+- FIX: cachefileset produces an empty fileset when the cache refers to libs in directories
that only have the root directory in common (IVY-948) (thanks to Chris Wood)
 
    2.0.0-rc1
 =====================================

Modified: ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyCacheFileset.java
URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyCacheFileset.java?rev=705768&r1=705767&r2=705768&view=diff
==============================================================================
--- ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyCacheFileset.java (original)
+++ ant/ivy/core/trunk/src/java/org/apache/ivy/ant/IvyCacheFileset.java Fri Oct 17 14:55:13
2008
@@ -78,7 +78,7 @@
                 for (Iterator iter = paths.iterator(); iter.hasNext();) {
                     ArtifactDownloadReport a = (ArtifactDownloadReport) iter.next();
                     if (a.getLocalFile() != null) {
-                        NameEntry ne = fileset.createInclude();
+                        NameEntry ne = fileset. createInclude();
                         ne.setName(getPath(base, a.getLocalFile()));
                     }
                 }
@@ -93,10 +93,20 @@
      * 
      * @param base the parent directory to which the file must be evaluated.
      * @param file the file for which the path should be returned
-     * @returnthe path of the file relative to the given base directory.
+     * @return the path of the file relative to the given base directory.
      */
     private String getPath(File base, File file) {
-        return file.getAbsolutePath().substring(base.getAbsolutePath().length() + 1);
+        String absoluteBasePath = base.getAbsolutePath();
+        
+        int beginIndex = absoluteBasePath.length();
+        
+        // checks if the basePath ends with the file separator (which can for instance
+        // happen if the basePath is the root on unix)
+        if (!absoluteBasePath.endsWith(File.separator)) {
+            beginIndex++; // skip the seperator char as well
+        }
+        
+        return file.getAbsolutePath().substring(beginIndex);
     }
 
     /**



Mime
View raw message