peterreilly 2004/04/28 02:01:08 Modified: src/main/org/apache/tools/ant/taskdefs ImportTask.java src/testcases/org/apache/tools/ant/taskdefs ImportTest.java Added: src/etc/testcases/taskdefs/import/symlinks/d1 p1.xml src/etc/testcases/taskdefs/import/symlinks/d2 p2.xml src/etc/testcases/taskdefs/import/symlinks/d3a p3.xml Log: File paths to imported build files should not be canonicalized PR: 28505 Obtained from: Jesse Glick Revision Changes Path 1.28 +0 -9 ant/src/main/org/apache/tools/ant/taskdefs/ImportTask.java Index: ImportTask.java =================================================================== RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/ImportTask.java,v retrieving revision 1.27 retrieving revision 1.28 diff -u -r1.27 -r1.28 --- ImportTask.java 13 Apr 2004 21:42:58 -0000 1.27 +++ ImportTask.java 28 Apr 2004 09:01:08 -0000 1.28 @@ -131,8 +131,6 @@ } } - importedFile = new File(getPath(importedFile)); - if (importStack.contains(importedFile)) { getProject().log( "Skipped already imported file:\n " @@ -148,11 +146,4 @@ } } - private static String getPath(File file) { - try { - return file.getCanonicalPath(); - } catch (IOException e) { - return file.getAbsolutePath(); - } - } } 1.13 +33 -1 ant/src/testcases/org/apache/tools/ant/taskdefs/ImportTest.java Index: ImportTest.java =================================================================== RCS file: /home/cvs/ant/src/testcases/org/apache/tools/ant/taskdefs/ImportTest.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- ImportTest.java 18 Mar 2004 21:31:13 -0000 1.12 +++ ImportTest.java 28 Apr 2004 09:01:08 -0000 1.13 @@ -17,6 +17,9 @@ package org.apache.tools.ant.taskdefs; +import java.io.File; +import java.io.IOException; + import org.apache.tools.ant.BuildException; import org.apache.tools.ant.BuildFileTest; import org.apache.tools.ant.Location; @@ -109,5 +112,34 @@ "Did not see build exception", false); } -} + public void testSymlinkedImports() throws Exception { + String ln = "/usr/bin/ln"; + if (!new File(ln).exists()) { + ln = "/bin/ln"; + } + if (!new File(ln).exists()) { + // Running on Windows or something, so skip it. + return; + } + String symlink = "src/etc/testcases/taskdefs/import/symlinks/d3b"; + if (Runtime.getRuntime().exec(new String[] {ln, "-s", "d3a", symlink}).waitFor() != 0) { + throw new IOException("'" + ln + " -s d3a " + symlink + "' failed"); + } + try { + configureProject( + "src/etc/testcases/taskdefs/import/symlinks/d1/p1.xml"); + assertPropertyEquals( + "ant.file.p2", + new File("src/etc/testcases/taskdefs/import/symlinks/d2/p2.xml") + .getAbsolutePath()); + assertPropertyEquals( + "ant.file.p3", + new File("src/etc/testcases/taskdefs/import/symlinks/d3b/p3.xml") + .getAbsolutePath()); + } finally { + new File(symlink).delete(); + } + } + +} 1.1 ant/src/etc/testcases/taskdefs/import/symlinks/d1/p1.xml Index: p1.xml =================================================================== <project name="p1" default="run"> <import file="../d2/p2.xml"/> <import file="../d3b/p3.xml"/> </project> 1.1 ant/src/etc/testcases/taskdefs/import/symlinks/d2/p2.xml Index: p2.xml =================================================================== <project name="p2"/> 1.1 ant/src/etc/testcases/taskdefs/import/symlinks/d3a/p3.xml Index: p3.xml =================================================================== <project name="p3"/>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]