bodewig 00/12/18 06:26:53
Modified: docs index.html
src/main/org/apache/tools/ant/taskdefs MatchingTask.java
src/main/org/apache/tools/ant/taskdefs/optional
RenameExtensions.java
Log:
Deprecated the optional <renameext> task as its functionality has been
superseded by the built-in <move> task.
Revision Changes Path
1.176 +4 -1 jakarta-ant/docs/index.html
Index: index.html
===================================================================
RCS file: /home/cvs/jakarta-ant/docs/index.html,v
retrieving revision 1.175
retrieving revision 1.176
diff -u -r1.175 -r1.176
--- index.html 2000/12/16 01:57:25 1.175
+++ index.html 2000/12/18 14:26:38 1.176
@@ -29,7 +29,7 @@
</ul>
<p>Version: @VERSION@</p>
-<p>$Id: index.html,v 1.175 2000/12/16 01:57:25 donaldp Exp $</p>
+<p>$Id: index.html,v 1.176 2000/12/18 14:26:38 bodewig Exp $</p>
<hr>
<h2>Table of Contents</h2>
@@ -5655,6 +5655,9 @@
</blockquote>
<hr>
<h2><a name="renameexts">RenameExtensions</a></h2>
+<h3><i>Deprecated</i></h3>
+<p><i>This task has been deprecated. Use the <a href="#move">move</a>
+task with a <a href="#glob-mapper">glob mapper</a> instead.</i></p>
<h3>Description</h3>
<p>Renames files in the <code>srcDir</code> directory ending with the
<code>fromExtension</code> string so that they end with the
1.13 +1 -1
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/MatchingTask.java
Index: MatchingTask.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/MatchingTask.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- MatchingTask.java 2000/11/25 02:38:37 1.12
+++ MatchingTask.java 2000/12/18 14:26:45 1.13
@@ -68,7 +68,7 @@
* @author Stefano Mazzocchi <a href="mailto:[EMAIL PROTECTED]">[EMAIL
PROTECTED]</a>
* @author Sam Ruby <a href="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</a>
* @author Jon S. Stevens <a href="mailto:[EMAIL PROTECTED]">[EMAIL
PROTECTED]</a>
- * @author <a href="mailto:[EMAIL PROTECTED]">Stefan Bodewig</a>
+ * @author <a href="mailto:[EMAIL PROTECTED]">Stefan Bodewig</a>
*/
public abstract class MatchingTask extends Task {
1.6 +39 -50
jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/RenameExtensions.java
Index: RenameExtensions.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/RenameExtensions.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- RenameExtensions.java 2000/11/25 01:10:09 1.5
+++ RenameExtensions.java 2000/12/18 14:26:49 1.6
@@ -58,9 +58,6 @@
* <li>srcDir: </li>
* <li>replace: </li>
* </ul>
- *
- * @author dIon Gillard <a href="mailto:[EMAIL PROTECTED]">[EMAIL
PROTECTED]</a>
- * @version 1.2
*/
package org.apache.tools.ant.taskdefs.optional;
@@ -69,10 +66,13 @@
import java.util.*;
import org.apache.tools.ant.*;
import org.apache.tools.ant.taskdefs.*;
+import org.apache.tools.ant.types.Mapper;
/**
*
- * @author dion
+ * @author dIon Gillard <a href="mailto:[EMAIL PROTECTED]">[EMAIL
PROTECTED]</a>
+ * @author <a href="mailto:[EMAIL PROTECTED]">Stefan Bodewig</a>
+ * @version 1.2
*/
public class RenameExtensions extends MatchingTask {
@@ -81,10 +81,14 @@
private boolean replace = false;
private File srcDir;
+ private Mapper.MapperType globType;
+
/** Creates new RenameExtensions */
public RenameExtensions() {
super();
+ globType = new Mapper.MapperType();
+ globType.setValue("glob");
}
/** store fromExtension **/
@@ -108,8 +112,8 @@
/**
* Set the source dir to find the files to be renamed.
*/
- public void setSrcDir(String srcDirName) {
- srcDir = project.resolveFile(srcDirName);
+ public void setSrcDir(File srcDir) {
+ this.srcDir = srcDir;
}
/**
@@ -122,51 +126,36 @@
throw new BuildException( "srcDir, fromExtension and toExtension
" +
"attributes must be set!" );
}
-
- // scan source and dest dirs to build up rename list
- DirectoryScanner ds = getDirectoryScanner(srcDir);
- String[] files = ds.getIncludedFiles();
+ log("DEPRECATED - The renameext task is deprecated. Use move
instead.",
+ Project.MSG_WARN);
+ log("Replace this with:", Project.MSG_INFO);
+ log("<move todir=\""+srcDir+"\" overwrite=\""+replace+"\">",
+ Project.MSG_INFO);
+ log(" <fileset dir=\""+srcDir+"\" />", Project.MSG_INFO);
+ log(" <mapper type=\"glob\"", Project.MSG_INFO);
+ log(" from=\"*"+fromExtension+"\"", Project.MSG_INFO);
+ log(" to=\"*"+toExtension+"\" />", Project.MSG_INFO);
+ log("</move>", Project.MSG_INFO);
+ log("using the same patterns on <fileset> as you\'ve used here",
+ Project.MSG_INFO);
+
+ Move move = (Move)project.createTask("move");
+ move.setOwningTarget(target);
+ move.setTaskName(getTaskName());
+ move.setLocation(getLocation());
+ move.setTodir(srcDir);
+ move.setOverwrite(replace);
+
+ fileset.setDir(srcDir);
+ move.addFileset(fileset);
+
+ Mapper me = move.createMapper();
+ me.setType(globType);
+ me.setFrom("*"+fromExtension);
+ me.setTo("*"+toExtension);
- Hashtable renameList = scanDir(srcDir, files);
-
- Enumeration e = renameList.keys();
- File fromFile = null;
- File toFile = null;
- while (e.hasMoreElements()) {
- fromFile = (File)e.nextElement();
- toFile = (File)renameList.get(fromFile);
- if (toFile.exists() && replace) toFile.delete();
- if (!fromFile.renameTo(toFile)) {
- throw new BuildException( "Rename from: '" + fromFile + "'
to '" +
- toFile + "' failed." );
- }
- }
-
+ move.execute();
}
- private Hashtable scanDir(File srcDir, String[] files) {
- Hashtable list = new Hashtable();
- for (int i = 0; i < files.length; i++) {
- File srcFile = new File(srcDir, files[i]);
- String filename = files[i];
- // if it's a file that ends in the fromExtension, copy to the
rename list
- if (filename.toLowerCase().endsWith(fromExtension)) {
- File destFile =
- new File( srcDir,
- filename.substring(0,
filename.lastIndexOf(fromExtension)) +
- toExtension );
-
- if (replace || !destFile.exists()) {
- list.put(srcFile, destFile);
- } else {
- log( "Rejecting file: '" + srcFile + "' for rename as "
+
- "replace is false and file exists",
Project.MSG_VERBOSE );
- }
- } else {
- log( "File '"+ filename + "' doesn't match fromExtension: '"
+
- fromExtension + "'", Project.MSG_VERBOSE );
- }
- }
- return list;
- }
+
}