You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by jg...@apache.org on 2010/06/11 17:50:16 UTC

svn commit: r953741 [4/4] - in /ant/core/branches/run-single-test-method: ./ docs/ docs/manual/ docs/manual/CoreTasks/ docs/manual/CoreTypes/ docs/manual/OptionalTasks/ docs/manual/OptionalTypes/ docs/manual/Tasks/ docs/manual/Types/ lib/ lib/optional/...

Modified: ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/taskdefs/email/MimeMailer.java
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/taskdefs/email/MimeMailer.java?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/taskdefs/email/MimeMailer.java (original)
+++ ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/taskdefs/email/MimeMailer.java Fri Jun 11 15:50:09 2010
@@ -157,6 +157,10 @@ public class MimeMailer extends Mailer {
                 // SMTP provider
                 props.put("mail.smtp.socketFactory.class", SSL_FACTORY);
                 props.put("mail.smtp.socketFactory.fallback", "false");
+                if (isPortExplicitlySpecified()) {
+                    props.put("mail.smtp.socketFactory.port",
+                              String.valueOf(port));
+                }
             }
             if (user != null || password != null) {
                 props.put("mail.smtp.auth", "true");

Modified: ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java (original)
+++ ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java Fri Jun 11 15:50:09 2010
@@ -887,7 +887,7 @@ public class JUnitTask extends Task {
             FILE_UTILS.close(writer);
 
             try {
-                casesFile.delete();
+                FILE_UTILS.tryHardToDelete(casesFile);
             } catch (Exception e) {
                 log(e.toString(), Project.MSG_ERR);
             }
@@ -988,7 +988,7 @@ public class JUnitTask extends Task {
             props.store(outstream, "Ant JUnitTask generated properties file");
             outstream.close();
         } catch (java.io.IOException e) {
-            propsFile.delete();
+            FILE_UTILS.tryHardToDelete(propsFile);
             throw new BuildException("Error creating temporary properties "
                                      + "file.", e, getLocation());
         }
@@ -1043,7 +1043,7 @@ public class JUnitTask extends Task {
             } finally {
                 FileUtils.close(br);
                 if (vmWatcher.exists()) {
-                    vmWatcher.delete();
+                    FILE_UTILS.tryHardToDelete(vmWatcher);
                 }
             }
 
@@ -1062,9 +1062,10 @@ public class JUnitTask extends Task {
                 logVmCrash(feArray, test, vmCrashString);
             }
 
-            if (!propsFile.delete()) {
+            if (!FILE_UTILS.tryHardToDelete(propsFile)) {
                 throw new BuildException("Could not delete temporary "
-                                         + "properties file.");
+                                         + "properties file '"
+                                         + propsFile.getAbsolutePath() + "'.");
             }
         }
 

Modified: ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java (original)
+++ ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java Fri Jun 11 15:50:09 2010
@@ -834,7 +834,7 @@ public class FTP extends Task implements
                         } else if (!result) {
                             return;
                         }
-                        this.curpwd = this.curpwd + remoteFileSep
+                        this.curpwd = getCurpwdPlusFileSep()
                             + currentPathElement;
                     } catch (IOException ioe) {
                         throw new BuildException("could not change working dir to "
@@ -895,7 +895,7 @@ public class FTP extends Task implements
              * @return absolute path as string
              */
             public String getAbsolutePath() {
-                return curpwd + remoteFileSep + ftpFile.getName();
+                return getCurpwdPlusFileSep() + ftpFile.getName();
             }
             /**
              * find out the relative path assuming that the path used to construct
@@ -1037,6 +1037,17 @@ public class FTP extends Task implements
                 return curpwd;
             }
             /**
+             * returns the path of the directory containing the AntFTPFile.
+             * of the full path of the file itself in case of AntFTPRootFile
+             * and appends the remote file separator if necessary.
+             * @return parent directory of the AntFTPFile
+             * @since Ant 1.8.2
+             */
+            public String getCurpwdPlusFileSep() {
+                return curpwd.endsWith(remoteFileSep) ? curpwd
+                    : curpwd + remoteFileSep;
+            }
+            /**
              * find out if a symbolic link is encountered in the relative path of this file
              * from rootPath.
              * @return <code>true</code> if a symbolic link is encountered in the relative path.

Modified: ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTaskMirrorImpl.java
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTaskMirrorImpl.java?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTaskMirrorImpl.java (original)
+++ ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTaskMirrorImpl.java Fri Jun 11 15:50:09 2010
@@ -736,7 +736,7 @@ public class FTPTaskMirrorImpl implement
                         } else if (!result) {
                             return;
                         }
-                        this.curpwd = this.curpwd + task.getSeparator()
+                        this.curpwd = getCurpwdPlusFileSep()
                             + currentPathElement;
                     } catch (IOException ioe) {
                         throw new BuildException("could not change working dir to "
@@ -797,7 +797,7 @@ public class FTPTaskMirrorImpl implement
              * @return absolute path as string
              */
             public String getAbsolutePath() {
-                return curpwd + task.getSeparator() + ftpFile.getName();
+                return getCurpwdPlusFileSep() + ftpFile.getName();
             }
             /**
              * find out the relative path assuming that the path used to construct
@@ -943,6 +943,17 @@ public class FTPTaskMirrorImpl implement
                 return curpwd;
             }
             /**
+             * returns the path of the directory containing the AntFTPFile.
+             * of the full path of the file itself in case of AntFTPRootFile
+             * and appends the remote file separator if necessary.
+             * @return parent directory of the AntFTPFile
+             * @since Ant 1.8.2
+             */
+            public String getCurpwdPlusFileSep() {
+                String sep = task.getSeparator();
+                return curpwd.endsWith(sep) ? curpwd : curpwd + sep;
+            }
+            /**
              * find out if a symbolic link is encountered in the relative path of this file
              * from rootPath.
              * @return <code>true</code> if a symbolic link is encountered in the relative path.

Propchange: ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTaskMirrorImpl.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Fri Jun 11 15:50:09 2010
@@ -0,0 +1 @@
+/ant/core/trunk/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java:945039

Modified: ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/util/FileUtils.java
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/util/FileUtils.java?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/util/FileUtils.java (original)
+++ ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/util/FileUtils.java Fri Jun 11 15:50:09 2010
@@ -513,12 +513,55 @@ public class FileUtils {
      */
     public void copyFile(File sourceFile, File destFile,
                          FilterSetCollection filters, Vector filterChains,
-                         boolean overwrite, boolean preserveLastModified, boolean append,
+                         boolean overwrite, boolean preserveLastModified,
+                         boolean append,
                          String inputEncoding, String outputEncoding,
                          Project project) throws IOException {
-        ResourceUtils.copyResource(new FileResource(sourceFile), new FileResource(destFile),
-                filters, filterChains, overwrite, preserveLastModified, append, inputEncoding,
-                outputEncoding, project);
+        copyFile(sourceFile, destFile, filters, filterChains, overwrite,
+                 preserveLastModified, append, inputEncoding, outputEncoding,
+                 project, /* force: */ false);
+    }
+
+    /**
+     * Convenience method to copy a file from a source to a
+     * destination specifying if token filtering must be used, if
+     * filter chains must be used, if source files may overwrite
+     * newer destination files and the last modified time of
+     * <code>destFile</code> file should be made equal
+     * to the last modified time of <code>sourceFile</code>.
+     *
+     * @param sourceFile the file to copy from.
+     *                   Must not be <code>null</code>.
+     * @param destFile the file to copy to.
+     *                 Must not be <code>null</code>.
+     * @param filters the collection of filters to apply to this copy.
+     * @param filterChains filterChains to apply during the copy.
+     * @param overwrite Whether or not the destination file should be
+     *                  overwritten if it already exists.
+     * @param preserveLastModified Whether or not the last modified time of
+     *                             the resulting file should be set to that
+     *                             of the source file.
+     * @param append whether to append to the destination file.
+     * @param inputEncoding the encoding used to read the files.
+     * @param outputEncoding the encoding used to write the files.
+     * @param project the project instance.
+     * @param force whether to overwrite read-only destination files.
+     *
+     * @throws IOException if the copying fails.
+     *
+     * @since Ant 1.8.2
+     */
+    public void copyFile(File sourceFile, File destFile,
+                         FilterSetCollection filters, Vector filterChains,
+                         boolean overwrite, boolean preserveLastModified,
+                         boolean append,
+                         String inputEncoding, String outputEncoding,
+                         Project project, boolean force) throws IOException {
+        ResourceUtils.copyResource(new FileResource(sourceFile),
+                                   new FileResource(destFile),
+                                   filters, filterChains, overwrite,
+                                   preserveLastModified, append, inputEncoding,
+                                   outputEncoding, project, force);
     }
 
     // CheckStyle:ParameterNumberCheck ON

Modified: ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/util/ResourceUtils.java
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/util/ResourceUtils.java?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/util/ResourceUtils.java (original)
+++ ant/core/branches/run-single-test-method/src/main/org/apache/tools/ant/util/ResourceUtils.java Fri Jun 11 15:50:09 2010
@@ -72,6 +72,8 @@ public class ResourceUtils {
      */
     public static final String ISO_8859_1 = "ISO-8859-1";
 
+    private static final long MAX_IO_CHUNK_SIZE = 16*1024*1024; // 16 MB
+
     /**
      * Tells which source files should be reprocessed based on the
      * last modification date of target files.
@@ -339,10 +341,51 @@ public class ResourceUtils {
      */
     public static void copyResource(Resource source, Resource dest,
                             FilterSetCollection filters, Vector filterChains,
-                            boolean overwrite, boolean preserveLastModified, boolean append,
+                            boolean overwrite, boolean preserveLastModified,
+                                    boolean append,
                             String inputEncoding, String outputEncoding,
                             Project project)
         throws IOException {
+        copyResource(source, dest, filters, filterChains, overwrite,
+                     preserveLastModified, append, inputEncoding,
+                     outputEncoding, project, /* force: */ false);
+    }
+
+    /**
+     * Convenience method to copy content from one Resource to another
+     * specifying whether token filtering must be used, whether filter chains
+     * must be used, whether newer destination files may be overwritten and
+     * whether the last modified time of <code>dest</code> file should be made
+     * equal to the last modified time of <code>source</code>.
+     *
+     * @param source the Resource to copy from.
+     *                   Must not be <code>null</code>.
+     * @param dest   the Resource to copy to.
+     *                 Must not be <code>null</code>.
+     * @param filters the collection of filters to apply to this copy.
+     * @param filterChains filterChains to apply during the copy.
+     * @param overwrite Whether or not the destination Resource should be
+     *                  overwritten if it already exists.
+     * @param preserveLastModified Whether or not the last modified time of
+     *                             the destination Resource should be set to that
+     *                             of the source.
+     * @param append Whether to append to an Appendable Resource.
+     * @param inputEncoding the encoding used to read the files.
+     * @param outputEncoding the encoding used to write the files.
+     * @param project the project instance.
+     * @param force whether read-only taret files will be overwritten
+     *
+     * @throws IOException if the copying fails.
+     *
+     * @since Ant 1.8.2
+     */
+    public static void copyResource(Resource source, Resource dest,
+                            FilterSetCollection filters, Vector filterChains,
+                            boolean overwrite, boolean preserveLastModified,
+                                    boolean append,
+                                    String inputEncoding, String outputEncoding,
+                                    Project project, boolean force)
+        throws IOException {
         if (!(overwrite || SelectorUtils.isOutOfDate(source, dest, FileUtils.getFileUtils()
                 .getFileTimestampGranularity()))) {
             return;
@@ -351,6 +394,21 @@ public class ResourceUtils {
                                              && filters.hasFilters());
         final boolean filterChainsAvailable = (filterChains != null
                                                && filterChains.size() > 0);
+
+        File destFile = null;
+        if (dest.as(FileProvider.class) != null) {
+            destFile = ((FileProvider) dest.as(FileProvider.class)).getFile();
+        }
+        if (destFile != null && destFile.isFile() && !destFile.canWrite()) {
+            if (!force) {
+                throw new IOException("can't write to read-only destination "
+                                      + "file " + destFile);
+            } else if (!FILE_UTILS.tryHardToDelete(destFile)) {
+                throw new IOException("failed to delete read-only "
+                                      + "destination file " + destFile);
+            }
+        }
+
         if (filterSetsAvailable) {
             BufferedReader in = null;
             BufferedWriter out = null;
@@ -444,11 +502,9 @@ public class ResourceUtils {
                 FileUtils.close(in);
             }
         } else if (source.as(FileProvider.class) != null
-                   && dest.as(FileProvider.class) != null) {
+                   && destFile != null) {
             File sourceFile =
                 ((FileProvider) source.as(FileProvider.class)).getFile();
-            File destFile =
-                ((FileProvider) dest.as(FileProvider.class)).getFile();
 
             File parent = destFile.getParentFile();
             if (parent != null && !parent.isDirectory()
@@ -472,8 +528,9 @@ public class ResourceUtils {
                 long position = 0;
                 long count = srcChannel.size();
                 while (position < count) {
+                    long chunk = Math.min(MAX_IO_CHUNK_SIZE, count - position);
                     position +=
-                        srcChannel.transferTo(position, count - position,
+                        srcChannel.transferTo(position, chunk,
                                               destChannel);
                 }
             } finally {

Propchange: ant/core/branches/run-single-test-method/src/main/org/apache/tools/zip/AbstractUnicodeExtraField.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun 11 15:50:09 2010
@@ -1,3 +1,3 @@
 /ant/core/tags/ANT_181/src/main/org/apache/tools/zip/AbstractUnicodeExtraField.java:939905-940517
-/ant/core/trunk/src/main/org/apache/tools/zip/AbstractUnicodeExtraField.java:738844,739300,741089,905481-939904
+/ant/core/trunk/src/main/org/apache/tools/zip/AbstractUnicodeExtraField.java:738844,739300,741089,905481-953737
 /commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/AbstractUnicodeExtraField.java:746933,748063,748133,748288,749342,749524,749855,749859

Propchange: ant/core/branches/run-single-test-method/src/main/org/apache/tools/zip/FallbackZipEncoding.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun 11 15:50:09 2010
@@ -1,3 +1,3 @@
 /ant/core/tags/ANT_181/src/main/org/apache/tools/zip/FallbackZipEncoding.java:939905-940517
-/ant/core/trunk/src/main/org/apache/tools/zip/FallbackZipEncoding.java:738844,739300,741089,905481-939904
+/ant/core/trunk/src/main/org/apache/tools/zip/FallbackZipEncoding.java:738844,739300,741089,905481-953737
 /commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/FallbackZipEncoding.java:749524,749855,749859

Propchange: ant/core/branches/run-single-test-method/src/main/org/apache/tools/zip/NioZipEncoding.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun 11 15:50:09 2010
@@ -1,3 +1,3 @@
 /ant/core/tags/ANT_181/src/main/org/apache/tools/zip/NioZipEncoding.java:939905-940517
-/ant/core/trunk/src/main/org/apache/tools/zip/NioZipEncoding.java:738844,739300,741089,905481-939904
+/ant/core/trunk/src/main/org/apache/tools/zip/NioZipEncoding.java:738844,739300,741089,905481-953737
 /commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/NioZipEncoding.java:749524,749855,749859

Propchange: ant/core/branches/run-single-test-method/src/main/org/apache/tools/zip/UnicodeCommentExtraField.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun 11 15:50:09 2010
@@ -1,3 +1,3 @@
 /ant/core/tags/ANT_181/src/main/org/apache/tools/zip/UnicodeCommentExtraField.java:939905-940517
-/ant/core/trunk/src/main/org/apache/tools/zip/UnicodeCommentExtraField.java:738844,739300,741089,905481-939904
+/ant/core/trunk/src/main/org/apache/tools/zip/UnicodeCommentExtraField.java:738844,739300,741089,905481-953737
 /commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/UnicodeCommentExtraField.java:746933,748063,748133,749342,749524,749855,749859

Propchange: ant/core/branches/run-single-test-method/src/main/org/apache/tools/zip/UnicodePathExtraField.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun 11 15:50:09 2010
@@ -1,3 +1,3 @@
 /ant/core/tags/ANT_181/src/main/org/apache/tools/zip/UnicodePathExtraField.java:939905-940517
-/ant/core/trunk/src/main/org/apache/tools/zip/UnicodePathExtraField.java:738844,739300,741089,905481-939904
+/ant/core/trunk/src/main/org/apache/tools/zip/UnicodePathExtraField.java:738844,739300,741089,905481-953737
 /commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/UnicodePathExtraField.java:746933,748063,748133,749342,749524,749855,749859

Propchange: ant/core/branches/run-single-test-method/src/main/org/apache/tools/zip/ZipEncoding.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun 11 15:50:09 2010
@@ -1,3 +1,3 @@
 /ant/core/tags/ANT_181/src/main/org/apache/tools/zip/ZipEncoding.java:939905-940517
-/ant/core/trunk/src/main/org/apache/tools/zip/ZipEncoding.java:738844,739300,741089,905481-939904
+/ant/core/trunk/src/main/org/apache/tools/zip/ZipEncoding.java:738844,739300,741089,905481-953737
 /commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipEncoding.java:749524,749855,749859

Propchange: ant/core/branches/run-single-test-method/src/main/org/apache/tools/zip/ZipEncodingHelper.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun 11 15:50:09 2010
@@ -1,4 +1,4 @@
 /ant/core/tags/ANT_181/src/main/org/apache/tools/zip/ZipEncodingHelper.java:939905-940517
-/ant/core/trunk/src/main/org/apache/tools/zip/ZipEncodingHelper.java:738844,739300,741089,905481-939904
+/ant/core/trunk/src/main/org/apache/tools/zip/ZipEncodingHelper.java:738844,739300,741089,905481-953737
 /commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipEncodingHelper.java:909456
 /commons/sandbox/compress/trunk/src/main/java/org/apache/commons/compress/archivers/zip/ZipEncodingHelper.java:746933,747841,748133,749342-749344,749524,749855,749859

Modified: ant/core/branches/run-single-test-method/src/tests/antunit/taskdefs/checksum-test.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/src/tests/antunit/taskdefs/checksum-test.xml?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/src/tests/antunit/taskdefs/checksum-test.xml (original)
+++ ant/core/branches/run-single-test-method/src/tests/antunit/taskdefs/checksum-test.xml Fri Jun 11 15:50:09 2010
@@ -36,12 +36,13 @@
           https://issues.apache.org/bugzilla/show_bug.cgi?id=36748">
     <mkdir dir="${input}"/>
     <echo file="${input}/a.txt">abc</echo>
+    <echo file="${input}/subdir/A.txt">def</echo>
     <echo file="${input}/B.txt">xyz</echo>
     <checksum totalproperty="total">
       <fileset dir="${input}"/>
     </checksum>
     <au:assertPropertyEquals name="total"
-                             value="709a9cf15c8834c59c7eeb07522cdf56"/>
+                             value="f4d688789d32e6ca6bc93c504dbc6b46"/>
   </target>
 
 </project>

Modified: ant/core/branches/run-single-test-method/src/tests/antunit/taskdefs/copy-test.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/src/tests/antunit/taskdefs/copy-test.xml?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/src/tests/antunit/taskdefs/copy-test.xml (original)
+++ ant/core/branches/run-single-test-method/src/tests/antunit/taskdefs/copy-test.xml Fri Jun 11 15:50:09 2010
@@ -295,4 +295,112 @@ public class NullByteStreamResource exte
     </copy>
   </target>
 
+  <!-- stolen from ../types/readwrite-test.xml - create a read-only file -->
+  <property name="file" value="testfile"/>
+  <condition property="unix">
+    <os family="unix"/>
+  </condition>
+  <target name="createTestdir">
+    <mkdir dir="${output}"/>
+    <mkdir dir="${input}"/>
+    <touch file="${output}/${file}"/>
+  </target>
+  <target name="makeFileUnwritable"
+          depends="createTestdir,makeFileUnwritable-Unix,makeFileUnwritable-Windows"/>
+  <target name="makeFileUnwritable-Unix" id="unix">
+    <chmod file="${output}/${file}" perm="444"/>
+  </target>
+  <target name="makeFileUnwritable-Windows" unless="unix">
+    <attrib file="${output}/${file}" readonly="true"/>
+  </target>
+
+  <target name="testCopyOverReadOnlyFile" depends="makeFileUnwritable">
+    <sleep seconds="2"/>
+    <touch file="${input}/${file}"/>
+    <au:expectfailure
+        expectedMessage="can't write to read-only destination file ">
+      <copy toDir="${output}">
+        <fileset dir="${input}"/>
+      </copy>
+    </au:expectfailure>
+  </target>
+
+  <target name="testFilteredCopyOverReadOnlyFile" depends="makeFileUnwritable">
+    <sleep seconds="2"/>
+    <touch file="${input}/${file}"/>
+    <au:expectfailure
+        expectedMessage="can't write to read-only destination file ">
+      <copy toDir="${output}">
+        <fileset dir="${input}"/>
+        <filterset>
+          <filter token="foo" value="bar"/>
+        </filterset>
+      </copy>
+    </au:expectfailure>
+  </target>
+
+  <target name="testCopyOverReadOnlyFileWithOverwrite"
+          depends="makeFileUnwritable">
+    <touch file="${input}/${file}"/>
+    <au:expectfailure
+        expectedMessage="can't write to read-only destination file ">
+      <copy toDir="${output}" overwrite="true">
+        <fileset dir="${input}"/>
+      </copy>
+    </au:expectfailure>
+  </target>
+
+  <target name="testFilteredCopyOverReadOnlyFileWithOverwrite"
+          depends="makeFileUnwritable">
+    <touch file="${input}/${file}"/>
+    <au:expectfailure
+        expectedMessage="can't write to read-only destination file ">
+      <copy toDir="${output}" overwrite="true">
+        <fileset dir="${input}"/>
+        <filterset>
+          <filter token="foo" value="bar"/>
+        </filterset>
+      </copy>
+    </au:expectfailure>
+  </target>
+
+  <target name="testForcedCopyOverReadOnlyFile" depends="makeFileUnwritable">
+    <sleep seconds="2"/>
+    <touch file="${input}/${file}"/>
+    <copy toDir="${output}" force="true">
+      <fileset dir="${input}"/>
+    </copy>
+  </target>
+
+  <target name="testForcedFilteredCopyOverReadOnlyFile"
+          depends="makeFileUnwritable">
+    <sleep seconds="2"/>
+    <touch file="${input}/${file}"/>
+    <copy toDir="${output}" force="true">
+      <fileset dir="${input}"/>
+      <filterset>
+        <filter token="foo" value="bar"/>
+      </filterset>
+    </copy>
+  </target>
+
+  <target name="testForcedCopyOverReadOnlyFileWithOverwrite"
+          depends="makeFileUnwritable">
+    <touch file="${input}/${file}"/>
+    <copy toDir="${output}" overwrite="true" force="true">
+      <fileset dir="${input}"/>
+    </copy>
+  </target>
+
+  <target name="testForcedFilteredCopyOverReadOnlyFileWithOverwrite"
+          depends="makeFileUnwritable">
+    <touch file="${input}/${file}"/>
+    <copy toDir="${output}" overwrite="true" force="true">
+      <fileset dir="${input}"/>
+      <filterset>
+        <filter token="foo" value="bar"/>
+      </filterset>
+    </copy>
+  </target>
+
 </project>

Modified: ant/core/branches/run-single-test-method/src/tests/antunit/taskdefs/move-test.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/src/tests/antunit/taskdefs/move-test.xml?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/src/tests/antunit/taskdefs/move-test.xml (original)
+++ ant/core/branches/run-single-test-method/src/tests/antunit/taskdefs/move-test.xml Fri Jun 11 15:50:09 2010
@@ -124,4 +124,111 @@
                                value="Y"/>
   </target>
 
+  <!-- stolen from ../types/readwrite-test.xml - create a read-only file -->
+  <property name="file" value="testfile"/>
+  <condition property="unix">
+    <os family="unix"/>
+  </condition>
+  <target name="createTestdir">
+    <mkdir dir="${output}"/>
+    <mkdir dir="${input}"/>
+    <touch file="${output}/${file}"/>
+  </target>
+  <target name="makeFileUnwritable"
+          depends="createTestdir,makeFileUnwritable-Unix,makeFileUnwritable-Windows"/>
+  <target name="makeFileUnwritable-Unix" id="unix">
+    <chmod file="${output}/${file}" perm="444"/>
+  </target>
+  <target name="makeFileUnwritable-Windows" unless="unix">
+    <attrib file="${output}/${file}" readonly="true"/>
+  </target>
+
+  <target name="testMoveOverReadOnlyFile" depends="makeFileUnwritable">
+    <sleep seconds="2"/>
+    <touch file="${input}/${file}"/>
+    <au:expectfailure
+        expectedMessage="can't replace read-only destination file ">
+      <move toDir="${output}">
+        <fileset dir="${input}"/>
+      </move>
+    </au:expectfailure>
+  </target>
+
+  <target name="testFilteredMoveOverReadOnlyFile" depends="makeFileUnwritable">
+    <sleep seconds="2"/>
+    <touch file="${input}/${file}"/>
+    <au:expectfailure
+        expectedMessage="can't write to read-only destination file ">
+      <move toDir="${output}">
+        <fileset dir="${input}"/>
+        <filterset>
+          <filter token="foo" value="bar"/>
+        </filterset>
+      </move>
+    </au:expectfailure>
+  </target>
+
+  <target name="testMoveOverReadOnlyFileWithOverwrite"
+          depends="makeFileUnwritable">
+    <touch file="${input}/${file}"/>
+    <au:expectfailure
+        expectedMessage="can't replace read-only destination file ">
+      <move toDir="${output}" overwrite="true">
+        <fileset dir="${input}"/>
+      </move>
+    </au:expectfailure>
+  </target>
+
+  <target name="testFilteredMoveOverReadOnlyFileWithOverwrite"
+          depends="makeFileUnwritable">
+    <touch file="${input}/${file}"/>
+    <au:expectfailure
+        expectedMessage="can't write to read-only destination file ">
+      <move toDir="${output}" overwrite="true">
+        <fileset dir="${input}"/>
+        <filterset>
+          <filter token="foo" value="bar"/>
+        </filterset>
+      </move>
+    </au:expectfailure>
+  </target>
+
+  <target name="testForcedMoveOverReadOnlyFile" depends="makeFileUnwritable">
+    <sleep seconds="2"/>
+    <touch file="${input}/${file}"/>
+    <move toDir="${output}" force="true">
+      <fileset dir="${input}"/>
+    </move>
+  </target>
+
+  <target name="testForcedFilteredMoveOverReadOnlyFile"
+          depends="makeFileUnwritable">
+    <sleep seconds="2"/>
+    <touch file="${input}/${file}"/>
+    <move toDir="${output}" force="true">
+      <fileset dir="${input}"/>
+      <filterset>
+        <filter token="foo" value="bar"/>
+      </filterset>
+    </move>
+  </target>
+
+  <target name="testForcedMoveOverReadOnlyFileWithOverwrite"
+          depends="makeFileUnwritable">
+    <touch file="${input}/${file}"/>
+    <move toDir="${output}" overwrite="true" force="true">
+      <fileset dir="${input}"/>
+    </move>
+  </target>
+
+  <target name="testForcedFilteredMoveOverReadOnlyFileWithOverwrite"
+          depends="makeFileUnwritable">
+    <touch file="${input}/${file}"/>
+    <move toDir="${output}" overwrite="true" force="true">
+      <fileset dir="${input}"/>
+      <filterset>
+        <filter token="foo" value="bar"/>
+      </filterset>
+    </move>
+  </target>
 </project>

Modified: ant/core/branches/run-single-test-method/src/tests/antunit/taskdefs/optional/junit/xmlformatter-test.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/src/tests/antunit/taskdefs/optional/junit/xmlformatter-test.xml?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/src/tests/antunit/taskdefs/optional/junit/xmlformatter-test.xml (original)
+++ ant/core/branches/run-single-test-method/src/tests/antunit/taskdefs/optional/junit/xmlformatter-test.xml Fri Jun 11 15:50:09 2010
@@ -50,4 +50,43 @@ public class A extends TestCase {
     <xmlvalidate file="${output}/TEST-org.example.A.xml"
                  lenient="true"/>
   </target>
+
+  <target name="testEntities"
+          description="https://issues.apache.org/bugzilla/show_bug.cgi?id=49404">
+    <mkdir dir="${input}/org/example"/>
+    <echo file="${input}/org/example/A.java"><![CDATA[
+package org.example;
+import junit.framework.TestCase;
+public class A extends TestCase {
+    public void testX() {
+       assertTrue("&amp;&", false);
+    }
+}
+]]></echo>
+    <mkdir dir="${output}"/>
+    <javac srcdir="${input}" destdir="${output}">
+      <classpath refid="junit"/>
+    </javac>
+    <junit fork="true">
+      <classpath refid="junit"/>
+      <classpath location="${output}"/>
+      <batchtest todir="${output}">
+        <fileset dir="${output}">
+          <include name="**/A.class" />
+        </fileset>
+      </batchtest>
+      <formatter type="xml"/>
+    </junit>
+    <xmlvalidate file="${output}/TEST-org.example.A.xml"
+                 lenient="true"/>
+    <!--
+    <au:assertResourceContains
+        resource="${output}/TEST-org.example.A.xml"
+        value="message=&quot;&amp;amp;amp;&amp;amp;"/>
+    <au:assertResourceContains
+        resource="${output}/TEST-org.example.A.xml"
+        value="message=AssertionFailedError: &amp;amp;&amp;"/>
+    -->
+  </target>
+
 </project>

Modified: ant/core/branches/run-single-test-method/src/tests/junit/org/apache/tools/ant/DefaultLoggerTest.java
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/src/tests/junit/org/apache/tools/ant/DefaultLoggerTest.java?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/src/tests/junit/org/apache/tools/ant/DefaultLoggerTest.java (original)
+++ ant/core/branches/run-single-test-method/src/tests/junit/org/apache/tools/ant/DefaultLoggerTest.java Fri Jun 11 15:50:09 2010
@@ -31,24 +31,24 @@ public class DefaultLoggerTest extends T
     private static String msg(Throwable error, boolean verbose) {
         StringBuffer m = new StringBuffer();
         DefaultLogger.throwableMessage(m, error, verbose);
-        return m.toString().replace(StringUtils.LINE_SEP.charAt(0), '\n');
+        return m.toString();
     }
 
     public void testThrowableMessage() throws Exception { // #43398
         BuildException be = new BuildException("oops", new Location("build.xml", 1, 0));
         assertEquals(
-                "build.xml:1: oops\n",
+                "build.xml:1: oops" + StringUtils.LINE_SEP,
                 msg(be, false));
         be = ProjectHelper.addLocationToBuildException(be, new Location("build.xml", 2, 0));
         assertEquals(
-                "build.xml:2: The following error occurred while executing this line:\n" +
-                "build.xml:1: oops\n",
+                "build.xml:2: The following error occurred while executing this line:" + StringUtils.LINE_SEP +
+                "build.xml:1: oops" + StringUtils.LINE_SEP,
                 msg(be, false));
         be = ProjectHelper.addLocationToBuildException(be, new Location("build.xml", 3, 0));
         assertEquals(
-                "build.xml:3: The following error occurred while executing this line:\n" +
-                "build.xml:2: The following error occurred while executing this line:\n" +
-                "build.xml:1: oops\n",
+                "build.xml:3: The following error occurred while executing this line:" + StringUtils.LINE_SEP +
+                "build.xml:2: The following error occurred while executing this line:" + StringUtils.LINE_SEP +
+                "build.xml:1: oops" + StringUtils.LINE_SEP,
                 msg(be, false));
         Exception x = new Exception("problem") {
             public void printStackTrace(PrintWriter w) {
@@ -57,19 +57,19 @@ public class DefaultLoggerTest extends T
             }
         };
         assertEquals(
-                "problem\n" +
-                "  at p.C.m\n",
+                "problem" + StringUtils.LINE_SEP +
+                "  at p.C.m" + StringUtils.LINE_SEP,
                 msg(x, false));
         be = new BuildException(x, new Location("build.xml", 1, 0));
         assertEquals(
-                "build.xml:1: problem\n" +
-                "  at p.C.m\n",
+                "build.xml:1: problem" + StringUtils.LINE_SEP +
+                "  at p.C.m" + StringUtils.LINE_SEP,
                 msg(be, false));
         be = ProjectHelper.addLocationToBuildException(be, new Location("build.xml", 2, 0));
         assertEquals(
-                "build.xml:2: The following error occurred while executing this line:\n" +
-                "build.xml:1: problem\n" +
-                "  at p.C.m\n",
+                "build.xml:2: The following error occurred while executing this line:" + StringUtils.LINE_SEP +
+                "build.xml:1: problem" + StringUtils.LINE_SEP +
+                "  at p.C.m" + StringUtils.LINE_SEP,
                 msg(be, false));
     }
 

Modified: ant/core/branches/run-single-test-method/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java (original)
+++ ant/core/branches/run-single-test-method/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java Fri Jun 11 15:50:09 2010
@@ -19,10 +19,10 @@
 package org.apache.tools.ant;
 
 import org.apache.tools.ant.taskdefs.condition.Os;
+import org.apache.tools.ant.types.selectors.TokenizedPath;
 import org.apache.tools.ant.util.FileUtils;
 import org.apache.tools.ant.util.SymbolicLinkUtils;
 
-
 import java.io.File;
 import java.io.IOException;
 import java.util.Arrays;
@@ -555,4 +555,15 @@ public class DirectoryScannerTest extend
                    files.contains("alpha/beta/gamma/gamma.xml"
                                   .replace('/', File.separatorChar)));
     }
+
+    public void testContentsExcluded() {
+        DirectoryScanner ds = new DirectoryScanner();
+        ds.setBasedir(new File("."));
+        ds.setIncludes(new String[] {"**"});
+        ds.addDefaultExcludes();
+        ds.ensureNonPatternSetsReady();
+        File f = new File(".svn");
+        TokenizedPath p = new TokenizedPath(f.getAbsolutePath());
+        assertTrue(ds.contentsExcluded(p));
+    }
 }

Modified: ant/core/branches/run-single-test-method/src/tests/junit/org/apache/tools/ant/launch/LocatorTest.java
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/src/tests/junit/org/apache/tools/ant/launch/LocatorTest.java?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/src/tests/junit/org/apache/tools/ant/launch/LocatorTest.java (original)
+++ ant/core/branches/run-single-test-method/src/tests/junit/org/apache/tools/ant/launch/LocatorTest.java Fri Jun 11 15:50:09 2010
@@ -137,7 +137,9 @@ public class LocatorTest extends TestCas
      */
     public void testAntOnRemoteShare() throws Throwable {
         String resolved=Locator.fromJarURI(SHARED_JAR_URI);
-        assertResolved(SHARED_JAR_URI, LAUNCHER_JAR,resolved,true);
+        assertResolved(SHARED_JAR_URI, LAUNCHER_JAR, resolved, unix);
+        assertResolved(SHARED_JAR_URI, LAUNCHER_JAR.replace('/', '\\'),
+                       resolved, windows);
     }
 
     /**
@@ -147,8 +149,7 @@ public class LocatorTest extends TestCas
      */
     public void testFileFromRemoteShare() throws Throwable {
         String resolved = Locator.fromJarURI(SHARED_JAR_URI);
-        assertResolved(SHARED_JAR_URI, LAUNCHER_JAR, resolved, true);
-        File f=new File(resolved);
+        File f = new File(resolved);
         String path = f.getAbsolutePath();
         if (windows) {
             assertEquals(0, path.indexOf("\\\\"));

Modified: ant/core/branches/run-single-test-method/src/tests/junit/org/apache/tools/ant/taskdefs/ConcatTest.java
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/src/tests/junit/org/apache/tools/ant/taskdefs/ConcatTest.java?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/src/tests/junit/org/apache/tools/ant/taskdefs/ConcatTest.java (original)
+++ ant/core/branches/run-single-test-method/src/tests/junit/org/apache/tools/ant/taskdefs/ConcatTest.java Fri Jun 11 15:50:09 2010
@@ -178,6 +178,13 @@ public class ConcatTest
         assertEquals(size, 0);
     }
 
+    public void testOverwrite() {
+        executeTarget("testoverwrite");
+        File file2 = new File(getProjectDir(), tempFile2);
+        long size = file2.length();
+        assertTrue(size > 0);
+    }
+
     public void testheaderfooter() {
         test3();
         expectLog("testheaderfooter", "headerHello, World!footer");

Propchange: ant/core/branches/run-single-test-method/src/tests/junit/org/apache/tools/zip/ExtraFieldUtilsTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Jun 11 15:50:09 2010
@@ -1,4 +1,4 @@
 /ant/core/tags/ANT_181/src/tests/junit/org/apache/tools/zip/ExtraFieldUtilsTest.java:939905-940517
-/ant/core/trunk/src/tests/junit/org/apache/tools/zip/ExtraFieldUtilsTest.java:905481-939904
+/ant/core/trunk/src/tests/junit/org/apache/tools/zip/ExtraFieldUtilsTest.java:905481-953737
 /commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtilsTest.java:910483-910521
 /commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/ExtraFieldUtilsTest.java:749906-749907

Modified: ant/core/branches/run-single-test-method/xdocs/antlibs/svn/index.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/xdocs/antlibs/svn/index.xml?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/xdocs/antlibs/svn/index.xml (original)
+++ ant/core/branches/run-single-test-method/xdocs/antlibs/svn/index.xml Fri Jun 11 15:50:09 2010
@@ -42,14 +42,14 @@
       <subsection name="svn">
         <p>A very thin layer on top of the command line executable,
         comparable to <a
-        href="http://ant.apache.org/manual/CoreTasks/cvs.html">the CVS
+        href="http://ant.apache.org/manual/Tasks/cvs.html">the CVS
         task</a>.</p>
       </subsection>
 
       <subsection name="changelog">
         <p>Creates a log of change comments between two revisions,
         comparable to <a
-        href="http://ant.apache.org/manual/CoreTasks/changelog.html">CvsChangeLog</a>.</p>
+        href="http://ant.apache.org/manual/Tasks/changelog.html">CvsChangeLog</a>.</p>
       </subsection>
 
       <subsection name="*diff">
@@ -60,7 +60,7 @@
         for the changes between two revisions.</p>
 
         <p>Together comparable to <a
-        href="http://ant.apache.org/manual/CoreTasks/cvstagdiff.html">CvsTagDiff</a>.</p>
+        href="http://ant.apache.org/manual/Tasks/cvstagdiff.html">CvsTagDiff</a>.</p>
       </subsection>
     </section>
 

Modified: ant/core/branches/run-single-test-method/xdocs/antnews.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/xdocs/antnews.xml?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/xdocs/antnews.xml (original)
+++ ant/core/branches/run-single-test-method/xdocs/antnews.xml Fri Jun 11 15:50:09 2010
@@ -27,7 +27,7 @@
 
 <body>
   <section name="Ant1.8.1">
-    <h3>May 6th, 2010 - Ant 1.8.1 Released</h3>
+    <h3>May 7th, 2010 - Ant 1.8.1 Released</h3>
     <p>Apache Ant 1.8.1 is now available for download as source or binary (with and without
       dependencies) from
       <a href="http://ant.apache.org/bindownload.cgi">http://ant.apache.org/bindownload.cgi</a>.</p>

Modified: ant/core/branches/run-single-test-method/xdocs/bindownload.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/xdocs/bindownload.xml?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/xdocs/bindownload.xml (original)
+++ ant/core/branches/run-single-test-method/xdocs/bindownload.xml Fri Jun 11 15:50:09 2010
@@ -80,7 +80,7 @@ Other mirrors: <select name="Preferred">
 
 <div class="warning">
 <div class="label">Note</div>
-<div class="content">Ant 1.8.1 was released on 6-May-2010 and
+<div class="content">Ant 1.8.1 was released on 7-May-2010 and
 may not be available on all mirrors for a few days.</div>
 </div>
 <br></br>

Modified: ant/core/branches/run-single-test-method/xdocs/faq.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/xdocs/faq.xml?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/xdocs/faq.xml (original)
+++ ant/core/branches/run-single-test-method/xdocs/faq.xml Fri Jun 11 15:50:09 2010
@@ -228,7 +228,7 @@
           </tr>
           <tr>
             <td>1.8.1</td>
-            <td>6 May 2010</td>
+            <td>7 May 2010</td>
           </tr>
         </table>
       </answer>
@@ -335,7 +335,7 @@ Apache Ant version 1.6.2 compiled on Jul
     <faq id="precompile-jsps">
       <question>How to I precompile Java Server Pages (JSPs)?</question>
       <answer>
-        <p>Ant has a built in optional task <a href="/manual/OptionalTasks/jspc.html">&lt;jspc&gt;</a>
+        <p>Ant has a built in optional task <a href="/manual/Tasks/jspc.html">&lt;jspc&gt;</a>
         which was intended for that. <b>But this task is deprecated.</b>
         Here the alternative suggested by the manual:</p>
         <p><i>Instead of relying on container specific JSP-compilers we suggest deploying
@@ -682,7 +682,7 @@ shell-prompt> m4 foo.m4 > foo
         course, comes with the overhead of adding JAR files to support
         the language, to say nothing of the added maintenance in requiring
         two languages to implement a single system. See the
-        <a href="manual/OptionalTasks/script.html">
+        <a href="manual/Tasks/script.html">
         <code>&lt;script&gt;</code> task documentation</a> for more
         details.</p>
       </answer>

Modified: ant/core/branches/run-single-test-method/xdocs/index.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/xdocs/index.xml?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/xdocs/index.xml (original)
+++ ant/core/branches/run-single-test-method/xdocs/index.xml Fri Jun 11 15:50:09 2010
@@ -25,7 +25,7 @@
 
 <body>
   <section name="Ant1.8.1">
-    <h3>May 6th, 2010 - Ant 1.8.1 Released</h3>
+    <h3>May 7th, 2010 - Ant 1.8.1 Released</h3>
     <p>Apache Ant 1.8.1 is now available for download as source or binary (with and without
       dependencies) from
       <a href="http://ant.apache.org/bindownload.cgi">http://ant.apache.org/bindownload.cgi</a>.</p>

Modified: ant/core/branches/run-single-test-method/xdocs/resources.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/xdocs/resources.xml?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/xdocs/resources.xml (original)
+++ ant/core/branches/run-single-test-method/xdocs/resources.xml Fri Jun 11 15:50:09 2010
@@ -56,7 +56,7 @@
       <subsection name="FAQ about Borland Application Server tasks">
         <p>Benoit Moussaud, the original author of the Borland
         Application Server specific <a
-        href="manual/OptionalTasks/ejb.html#ejbtasks">EJB tasks</a> has put
+        href="manual/Tasks/ejb.html#ejbtasks">EJB tasks</a> has put
         together a FAQ for this specific subtask.</p>
 
         <table class="externals">

Modified: ant/core/branches/run-single-test-method/xdocs/srcdownload.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/run-single-test-method/xdocs/srcdownload.xml?rev=953741&r1=953740&r2=953741&view=diff
==============================================================================
--- ant/core/branches/run-single-test-method/xdocs/srcdownload.xml (original)
+++ ant/core/branches/run-single-test-method/xdocs/srcdownload.xml Fri Jun 11 15:50:09 2010
@@ -77,7 +77,7 @@ Other mirrors: <select name="Preferred">
 
 <div class="warning">
 <div class="label">Note</div>
-<div class="content">Ant 1.8.1 was released on 6-May-2010 and
+<div class="content">Ant 1.8.1 was released on 7-May-2010 and
 may not be available on all mirrors for a few days.</div>
 </div>
 <br></br>