jkf 2005/01/04 12:20:52
Modified: src/main/org/apache/tools/ant/util FileUtils.java
src/main/org/apache/tools/ant/types/selectors
MappingSelector.java DateSelector.java
src/main/org/apache/tools/ant/taskdefs Copy.java
DependSet.java
Log:
Made more consequent use of the method available in FileUtils to get the
granularity.
Revision Changes Path
1.80 +16 -4 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.79
retrieving revision 1.80
diff -u -r1.79 -r1.80
--- FileUtils.java 15 Dec 2004 12:10:43 -0000 1.79
+++ FileUtils.java 4 Jan 2005 20:20:49 -0000 1.80
@@ -1,5 +1,5 @@
/*
- * Copyright 2001-2004 The Apache Software Foundation
+ * Copyright 2001-2005 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -58,11 +58,14 @@
*/
public class FileUtils {
+
+ private static final FileUtils PRIMARY_INSTANCE = new FileUtils();
+
//get some non-crypto-grade randomness from various places.
private static Random rand = new Random(System.currentTimeMillis()
+ Runtime.getRuntime().freeMemory());
- private boolean onNetWare = Os.isFamily("netware");
+ private static boolean onNetWare = Os.isFamily("netware");
// for toURI
private static boolean[] isSpecial = new boolean[256];
@@ -106,12 +109,22 @@
* Factory method.
*
* @return a new instance of FileUtils.
+ * @deprecated Use getFileUtils instead, FileUtils do not have state.
*/
public static FileUtils newFileUtils() {
return new FileUtils();
}
/**
+ * Method to retrieve The FileUtils, which is shared by all users of this
+ * method.
+ * @return an instance of FileUtils.
+ */
+ public static FileUtils getFileUtils() {
+ return PRIMARY_INSTANCE;
+ }
+
+ /**
* Empty constructor.
*/
protected FileUtils() {
@@ -1355,7 +1368,6 @@
public boolean isUpToDate(long sourceTime, long destTime) {
return isUpToDate(sourceTime, destTime,
getFileTimestampGranularity());
}
-
/**
* close a writer without throwing any exception if something went wrong.
1.14 +4 -4
ant/src/main/org/apache/tools/ant/types/selectors/MappingSelector.java
Index: MappingSelector.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/types/selectors/MappingSelector.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- MappingSelector.java 9 Mar 2004 16:48:47 -0000 1.13
+++ MappingSelector.java 4 Jan 2005 20:20:52 -0000 1.14
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2004 The Apache Software Foundation
+ * Copyright 2000-2005 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -40,7 +40,7 @@
*
*/
public MappingSelector() {
- granularity = (int)
FileUtils.newFileUtils().getFileTimestampGranularity();
+ granularity = (int)
FileUtils.getFileUtils().getFileTimestampGranularity();
}
@@ -128,8 +128,8 @@
/**
* Sets the number of milliseconds leeway we will give before we consider
- * a file out of date. Defaults to 2000 on MS-DOS derivatives as the FAT
- * file system.
+ * a file out of date. Defaults to 2000 on MS-DOS derivatives and 1000 on
+ * others.
* @param granularity the leeway in milliseconds
*/
public void setGranularity(int granularity) {
1.17 +4 -5
ant/src/main/org/apache/tools/ant/types/selectors/DateSelector.java
Index: DateSelector.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/types/selectors/DateSelector.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- DateSelector.java 16 Dec 2004 15:02:48 -0000 1.16
+++ DateSelector.java 4 Jan 2005 20:20:52 -0000 1.17
@@ -1,5 +1,5 @@
/*
- * Copyright 2002-2004 The Apache Software Foundation
+ * Copyright 2002-2005 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -27,6 +27,7 @@
import org.apache.tools.ant.taskdefs.condition.Os;
import org.apache.tools.ant.types.EnumeratedAttribute;
import org.apache.tools.ant.types.Parameter;
+import org.apache.tools.ant.util.FileUtils;
/**
* Selector that chooses files based on their last modified date.
@@ -38,7 +39,7 @@
private long millis = -1;
private String dateTime = null;
private boolean includeDirs = false;
- private int granularity = 0;
+ private long granularity = 0;
private int cmp = 2;
private String pattern;
/** Key to used for parameterized custom selector */
@@ -59,9 +60,7 @@
*
*/
public DateSelector() {
- if (Os.isFamily("dos")) {
- granularity = 2000;
- }
+ granularity = FileUtils.getFileUtils().getFileTimestampGranularity();
}
/**
1.79 +3 -3 ant/src/main/org/apache/tools/ant/taskdefs/Copy.java
Index: Copy.java
===================================================================
RCS file: /home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/Copy.java,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -r1.78 -r1.79
--- Copy.java 4 Jan 2005 19:39:01 -0000 1.78
+++ Copy.java 4 Jan 2005 20:20:52 -0000 1.79
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2004 The Apache Software Foundation
+ * Copyright 2000-2005 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -84,7 +84,7 @@
* Copy task constructor.
*/
public Copy() {
- fileUtils = FileUtils.newFileUtils();
+ fileUtils = FileUtils.getFileUtils();
granularity = fileUtils.getFileTimestampGranularity();
}
1.28 +6 -8 ant/src/main/org/apache/tools/ant/taskdefs/DependSet.java
Index: DependSet.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/DependSet.java,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- DependSet.java 9 Mar 2004 16:48:04 -0000 1.27
+++ DependSet.java 4 Jan 2005 20:20:52 -0000 1.28
@@ -1,5 +1,5 @@
/*
- * Copyright 2001-2002,2004 The Apache Software Foundation
+ * Copyright 2001-2005 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -27,6 +27,7 @@
import org.apache.tools.ant.taskdefs.condition.Os;
import org.apache.tools.ant.types.FileList;
import org.apache.tools.ant.types.FileSet;
+import org.apache.tools.ant.util.FileUtils;
/**
* Examines and removes out of date target files. If any of the target files
@@ -134,13 +135,10 @@
long now = (new Date()).getTime();
/*
- If we're on Windows, we have to munge the time up to 2 secs to
- be able to check file modification times.
- (Windows has a max resolution of two secs for modification times)
+ We have to munge the time to allow for the filesystem time
+ granularity.
*/
- if (Os.isFamily("windows")) {
- now += 2000;
- }
+ now += FileUtils.getFileUtils().getFileTimestampGranularity();
//
// Grab all the target files specified via filesets
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]