bodewig 2003/03/13 08:14:51
Modified: src/main/org/apache/tools/ant/taskdefs Ear.java War.java
src/main/org/apache/tools/ant/util FileUtils.java
Log:
This is supposed to fix bug 17871.
The patch looks innocent enough for me to merge it into the 1.5 branch
right away, but I cannot really verify it fixes the bug because of my
persistent (and self-imposed) lack of a Windows system.
Revision Changes Path
1.23 +3 -1 ant/src/main/org/apache/tools/ant/taskdefs/Ear.java
Index: Ear.java
===================================================================
RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/Ear.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- Ear.java 7 Mar 2003 11:23:01 -0000 1.22
+++ Ear.java 13 Mar 2003 16:14:51 -0000 1.23
@@ -58,6 +58,7 @@
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.types.ZipFileSet;
+import org.apache.tools.ant.util.FileUtils;
import org.apache.tools.zip.ZipOutputStream;
/**
@@ -74,6 +75,7 @@
private File deploymentDescriptor;
private boolean descriptorAdded;
+ private static final FileUtils fu = FileUtils.newFileUtils();
/**
* Create an Ear task.
@@ -146,7 +148,7 @@
// <fileset> element.
if (vPath.equalsIgnoreCase("META-INF/application.xml")) {
if (deploymentDescriptor == null
- || !deploymentDescriptor.equals(file)
+ || !fu.fileNameEquals(deploymentDescriptor, file)
|| descriptorAdded) {
log("Warning: selected " + archiveType
+ " files include a META-INF/application.xml which will"
1.32 +4 -1 ant/src/main/org/apache/tools/ant/taskdefs/War.java
Index: War.java
===================================================================
RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/War.java,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- War.java 7 Mar 2003 11:23:02 -0000 1.31
+++ War.java 13 Mar 2003 16:14:51 -0000 1.32
@@ -59,6 +59,7 @@
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.types.ZipFileSet;
+import org.apache.tools.ant.util.FileUtils;
import org.apache.tools.zip.ZipOutputStream;
@@ -91,6 +92,8 @@
*/
private boolean descriptorAdded;
+ private static final FileUtils fu = FileUtils.newFileUtils();
+
public War() {
super();
archiveType = "war";
@@ -180,7 +183,7 @@
// by the "webxml" attribute and in a <fileset> element.
if (vPath.equalsIgnoreCase("WEB-INF/web.xml")) {
if (deploymentDescriptor == null
- || !deploymentDescriptor.equals(file)
+ || !fu.fileNameEquals(deploymentDescriptor, file)
|| descriptorAdded) {
log("Warning: selected " + archiveType
+ " files include a WEB-INF/web.xml which will be
ignored "
1.38 +16 -2 ant/src/main/org/apache/tools/ant/util/FileUtils.java
Index: FileUtils.java
===================================================================
RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/util/FileUtils.java,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- FileUtils.java 7 Mar 2003 11:23:08 -0000 1.37
+++ FileUtils.java 13 Mar 2003 16:14:51 -0000 1.38
@@ -734,7 +734,7 @@
return false;
}
- if (f1.equals(f2)) {
+ if (fileNameEquals(f1, f2)) {
// same filename => true
return true;
}
@@ -999,6 +999,20 @@
// relative path
}
return path;
+ }
+
+ /**
+ * Compares two filenames.
+ *
+ * <p>Unlike java.io.File#equals this method will try to compare
+ * the absolute paths and "normalize" the filenames
+ * before comparing them.</p>
+ *
+ * @since Ant 1.5.2
+ */
+ public boolean fileNameEquals(File f1, File f2) {
+ return normalize(f1.getAbsolutePath())
+ .equals(normalize(f2.getAbsolutePath()));
}
}