Peter Reilly wrote:
On 6/22/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
Author: mbenson
Date: Thu Jun 21 20:10:20 2007
New Revision: 549684
URL: http://svn.apache.org/viewvc?view=rev&rev=549684
Log:
detect cs
Modified:
ant/core/trunk/src/main/org/apache/tools/ant/util/FileUtils.java
Modified:
ant/core/trunk/src/main/org/apache/tools/ant/util/FileUtils.java
URL:
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/util/FileUtils.java?view=diff&rev=549684&r1=549683&r2=549684
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/util/FileUtils.java
(original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/util/FileUtils.java
Thu Jun 21 20:10:20 2007
@@ -15,7 +15,6 @@
* limitations under the License.
*
*/
-
package org.apache.tools.ant.util;
import java.io.File;
@@ -62,10 +61,13 @@
private static Random rand = new Random(System.currentTimeMillis()
+ Runtime.getRuntime().freeMemory());
- private static boolean onNetWare = Os.isFamily("netware");
- private static boolean onDos = Os.isFamily("dos");
- private static boolean onWin9x = Os.isFamily("win9x");
- private static boolean onWindows = Os.isFamily("windows");
+ private static final boolean onNetWare = Os.isFamily("netware");
+ private static final boolean onDos = Os.isFamily("dos");
+ private static final boolean onWin9x = Os.isFamily("win9x");
+ private static final boolean onWindows = Os.isFamily("windows");
+ private static final boolean onMac = Os.isFamily("mac");
+
+ private static boolean caseSensitiveFileSystem;
static final int BUF_SIZE = 8192;
@@ -87,6 +89,23 @@
*/
public static final long NTFS_FILE_TIMESTAMP_GRANULARITY = 1;
+ static {
+ try {
+ File tmpdir = new File(System.getProperty("java.io.tmpdir"));
+ final String filename = "ant-casesensitivity.tst";
+ new File(tmpdir, filename).createNewFile();
+ new File(tmpdir, filename.toUpperCase()).createNewFile();
+ String[] files = tmpdir.list(new FilenameFilter() {
+ public boolean accept(File dir, String name) {
+ return filename.equalsIgnoreCase(name);
+ }
+ });
+ caseSensitiveFileSystem = files.length == 2;
+ } catch (IOException e) {
+ //default as well as possible:
+ caseSensitiveFileSystem = !onWin9x && !onWindows &&
!onDos && !onMac;
+ }
+ }
Do we really want to do this each time ANT starts up?
Also, on Unix, one may have a mixture of filesystems, some of
which are case insensitive and some (well nearly all) not.
These may be mounted or symbolically linked to the anywhere in
the directory tree.
Windows goes case sensitive if you mount samba FS or use clearcase. so
its a directory-by-directory feature
-steve
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]