From 69d9682d5d5a7e740ad083739d6e8f374ffc7cee Mon Sep 17 00:00:00 2001 From: Stefan Bodewig Date: Tue, 29 Jul 2003 09:10:07 +0000 Subject: [PATCH] Some tasks rely on the DFS ordering getIncludedXYZ used to provide git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@274976 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/tools/ant/DirectoryScanner.java | 3 +++ src/main/org/apache/tools/ant/types/Resource.java | 15 ++++++++++++++- .../org/apache/tools/ant/types/ZipScanner.java | 3 +++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/org/apache/tools/ant/DirectoryScanner.java b/src/main/org/apache/tools/ant/DirectoryScanner.java index e846ae0f5..9da320505 100644 --- a/src/main/org/apache/tools/ant/DirectoryScanner.java +++ b/src/main/org/apache/tools/ant/DirectoryScanner.java @@ -56,6 +56,7 @@ package org.apache.tools.ant; import java.io.File; import java.io.IOException; +import java.util.Arrays; import java.util.Enumeration; import java.util.HashMap; import java.util.HashSet; @@ -1032,6 +1033,7 @@ public class DirectoryScanner public String[] getIncludedFiles() { String[] files = new String[filesIncluded.size()]; filesIncluded.copyInto(files); + Arrays.sort(files); return files; } @@ -1099,6 +1101,7 @@ public class DirectoryScanner public String[] getIncludedDirectories() { String[] directories = new String[dirsIncluded.size()]; dirsIncluded.copyInto(directories); + Arrays.sort(directories); return directories; } diff --git a/src/main/org/apache/tools/ant/types/Resource.java b/src/main/org/apache/tools/ant/types/Resource.java index 76a5cd3f9..279478c38 100644 --- a/src/main/org/apache/tools/ant/types/Resource.java +++ b/src/main/org/apache/tools/ant/types/Resource.java @@ -63,7 +63,7 @@ package org.apache.tools.ant.types; * @author Antoine Levy-Lambert * @since Ant 1.5.2 */ -public class Resource implements Cloneable { +public class Resource implements Cloneable, Comparable { private String name = null; private boolean exists = true; private long lastmodified = 0; @@ -179,4 +179,17 @@ public class Resource implements Cloneable { } } + /** + * delegates to a comparison of names. + * + * @since Ant 1.6 + */ + public int compareTo(Object other) { + if (!(other instanceof Resource)) { + throw new IllegalArgumentException("Can only be compared with " + + "Resources"); + } + Resource r = (Resource) other; + return getName().compareTo(r.getName()); + } } diff --git a/src/main/org/apache/tools/ant/types/ZipScanner.java b/src/main/org/apache/tools/ant/types/ZipScanner.java index 81ed1e3bd..fa0de815e 100644 --- a/src/main/org/apache/tools/ant/types/ZipScanner.java +++ b/src/main/org/apache/tools/ant/types/ZipScanner.java @@ -56,6 +56,7 @@ package org.apache.tools.ant.types; import java.io.File; import java.io.IOException; +import java.util.Arrays; import java.util.Vector; import java.util.Hashtable; import java.util.Enumeration; @@ -138,6 +139,7 @@ public class ZipScanner extends DirectoryScanner { } String[] files = new String[myvector.size()]; myvector.copyInto(files); + Arrays.sort(files); return files; } else { return super.getIncludedFiles(); @@ -165,6 +167,7 @@ public class ZipScanner extends DirectoryScanner { } String[] files = new String[myvector.size()]; myvector.copyInto(files); + Arrays.sort(files); return files; } else { return super.getIncludedDirectories();