ant-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From anto...@apache.org
Subject svn commit: r939802 [7/7] - in /ant/core/branches/ANT_SITE: ./ docs/ docs/antlibs/ docs/manual/ docs/manual/CoreTasks/ docs/manual/CoreTypes/ docs/manual/OptionalTasks/ docs/webtest/gettest/ lib/ src/etc/ src/etc/poms/ src/etc/poms/ant-apache-xalan2/ s...
Date Fri, 30 Apr 2010 20:28:12 GMT
Modified: ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java (original)
+++ ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/ExecTaskTest.java Fri Apr 30 20:28:06 2010
@@ -22,12 +22,8 @@ import org.apache.tools.ant.*;
 import org.apache.tools.ant.util.FileUtils;
 
 import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
 import java.util.GregorianCalendar;
 
-import junit.framework.ComparisonFailure;
-
 /**
  * Unit test for the <exec> task.
  */
@@ -38,7 +34,8 @@ public class ExecTaskTest extends BuildF
     /** maximum time allowed for the build in milliseconds */
     private static final int MAX_BUILD_TIME = 4000;
     private static final int SECURITY_MARGIN = 2000; // wait 2 second extras
-    // the test failed with 100 ms of margin on cvs.apache.org on August 1st, 2003
+    // the test failed with 100 ms of margin on cvs.apache.org on August 1st,
+    // 2003
 
     /** Utilities used for file operations */
     private static final FileUtils FILE_UTILS = FileUtils.getFileUtils();
@@ -46,6 +43,7 @@ public class ExecTaskTest extends BuildF
     private File logFile;
     private MonitoredBuild myBuild = null;
     volatile private boolean buildFinished = false;
+
     public ExecTaskTest(String name) {
         super(name);
     }
@@ -61,293 +59,13 @@ public class ExecTaskTest extends BuildF
         executeTarget("cleanup");
     }
 
-    public void testNoRedirect() {
-        executeTarget("no-redirect");
-        if (getProject().getProperty("test.can.run") == null) {
-            return;
-        }
-        assertEquals("unexpected log content",
-            getProject().getProperty("ant.file") + " out"
-            + getProject().getProperty("ant.file") + " err", getLog());
-    }
-
-    public void testRedirect1() throws IOException {
-        executeTarget("redirect1");
-        if (getProject().getProperty("test.can.run") == null) {
-            return;
-        }
-        String expectedOut = getProject().getProperty("ant.file") + " out\n"
-            + getProject().getProperty("ant.file") + " err\n";
-
-        assertEquals("unexpected output",
-            expectedOut, getFileString("redirect.out"));
-    }
-
-    public void testRedirect2() throws IOException {
-        executeTarget("redirect2");
-        if (getProject().getProperty("test.can.run") == null) {
-            return;
-        }
-
-        assertEquals("unexpected output",
-            getProject().getProperty("ant.file") + " out\n",
-            getFileString("redirect.out"));
-        assertEquals("unexpected error output",
-            getProject().getProperty("ant.file") + " err\n",
-            getFileString("redirect.err"));
-    }
-
-    public void testRedirect3() throws IOException {
-        executeTarget("redirect3");
-        if (getProject().getProperty("test.can.run") == null) {
-            return;
-        }
-        assertEquals("unexpected log content",
-            getProject().getProperty("ant.file") + " err", getLog());
-        String expectedOut = getProject().getProperty("ant.file") + " out\n";
-
-        assertEquals("unexpected output",
-            expectedOut, getFileString("redirect.out"));
-        assertPropertyEquals("redirect.out", expectedOut.trim());
-    }
-
-    public void testRedirect4() throws IOException {
-        executeTarget("redirect4");
-        if (getProject().getProperty("test.can.run") == null) {
-            return;
-        }
-        String expectedOut = getProject().getProperty("ant.file") + " out\n";
-        String expectedErr = getProject().getProperty("ant.file") + " err\n";
-
-        assertEquals("unexpected output",
-            expectedOut, getFileString("redirect.out"));
-        assertPropertyEquals("redirect.out", expectedOut.trim());
-        assertEquals("unexpected error output",
-            expectedErr, getFileString("redirect.err"));
-        assertPropertyEquals("redirect.err", expectedErr.trim());
-    }
-
-    public void testRedirect5() throws IOException {
-        testRedirect5or6("redirect5");
-    }
-
-    public void testRedirect6() throws IOException {
-        testRedirect5or6("redirect6");
-    }
-
-    public void testRedirect5or6(String target) throws IOException {
-        executeTarget(target);
-        if (getProject().getProperty("wc.can.run") == null) {
-            return;
-        }
-
-        assertEquals("unexpected output", "3", getFileString("redirect.out").trim());
-        assertEquals("property redirect.out", "3",
-            getProject().getProperty("redirect.out").trim());
-        assertNull("unexpected error output", getFileString("redirect.err"));
-        assertPropertyEquals("redirect.err", "");
-    }
-
-    public void testRedirect7() throws IOException {
-        executeTarget("redirect7");
-        if (getProject().getProperty("wc.can.run") == null) {
-            return;
-        }
-
-        assertEquals("unexpected output", "3", getFileString("redirect.out").trim());
-        assertEquals("property redirect.out", "3",
-            getProject().getProperty("redirect.out").trim());
-        assertNull("unexpected error output", getFileString("redirect.err"));
-    }
-
-    public void testRedirector1() {
-        executeTarget("init");
-        if (getProject().getProperty("test.can.run") == null) {
-            return;
-        }
-        expectBuildException("redirector1", "cannot have > 1 nested <redirector>s");
-    }
-
-    public void testRedirector2() throws IOException {
-        executeTarget("redirector2");
-        if (getProject().getProperty("test.can.run") == null) {
-            return;
-        }
-
-        assertEquals("unexpected output",
-            getProject().getProperty("ant.file") + " out\n"
-            + getProject().getProperty("ant.file") + " err\n",
-            getFileString("redirector.out"));
-    }
-
-    public void testRedirector3() throws IOException {
-        executeTarget("redirector3");
-        if (getProject().getProperty("test.can.run") == null) {
-            return;
-        }
-
-        assertEquals("unexpected output",
-            getProject().getProperty("ant.file") + " out\n",
-            getFileString("redirector.out"));
-        assertEquals("unexpected error output",
-            getProject().getProperty("ant.file") + " err\n",
-            getFileString("redirector.err"));
-    }
-
-    public void testRedirector4() throws IOException {
-        executeTarget("redirector4");
-        if (getProject().getProperty("test.can.run") == null) {
-            return;
-        }
-        String expectedOut = getProject().getProperty("ant.file") + " out\n";
-
-        assertEquals("unexpected log content",
-            getProject().getProperty("ant.file") + " err", getLog());
-        assertEquals("unexpected output", expectedOut,
-            getFileString("redirector.out"));
-        assertPropertyEquals("redirector.out", expectedOut.trim());
-    }
-
-    public void testRedirector5() throws IOException {
-        testRedirector5or6("redirector5");
-    }
-
-    public void testRedirector6() throws IOException {
-        testRedirector5or6("redirector6");
-    }
-
-    private void testRedirector5or6(String target) throws IOException {
-        executeTarget(target);
-        if (getProject().getProperty("test.can.run") == null) {
-            return;
-        }
-        String expectedOut = getProject().getProperty("ant.file") + " out\n";
-        String expectedErr = getProject().getProperty("ant.file") + " err\n";
-
-        assertEquals("unexpected output", expectedOut,
-            getFileString("redirector.out"));
-        assertPropertyEquals("redirector.out", expectedOut.trim());
-        assertEquals("unexpected error output", expectedErr,
-            getFileString("redirector.err"));
-        assertPropertyEquals("redirector.err", expectedErr.trim());
-    }
-
-    public void testRedirector7() throws IOException {
-        executeTarget("redirector7");
-        if (getProject().getProperty("test.can.run") == null) {
-            return;
-        }
-        String expectedOut = getProject().getProperty("ant.file") + " out\n";
-        String expectedErr = getProject().getProperty("ant.file") + " ERROR!!!\n";
-
-        assertEquals("unexpected output", expectedOut,
-            getFileString("redirector.out"));
-        assertPropertyEquals("redirector.out", expectedOut.trim());
-        assertEquals("unexpected error output", expectedErr,
-            getFileString("redirector.err"));
-        assertPropertyEquals("redirector.err", expectedErr.trim());
-    }
-
-    public void testRedirector8() throws IOException {
-        executeTarget("redirector8");
-        if (getProject().getProperty("wc.can.run") == null) {
-            return;
-        }
-
-        assertEquals("unexpected output", "3", getFileString("redirector.out").trim());
-        assertEquals("property redirector.out", "3",
-            getProject().getProperty("redirector.out").trim());
-        assertNull("unexpected error output", getFileString("redirector.err"));
-        assertPropertyEquals("redirector.err", "");
-    }
-
-    public void testRedirector9() throws IOException {
-        testRedirector9Thru12("redirector9");
-    }
-
-    public void testRedirector10() throws IOException {
-        testRedirector9Thru12("redirector10");
-    }
-
-    public void testRedirector11() throws IOException {
-        testRedirector9Thru12("redirector11");
-    }
-
-    public void testRedirector12() throws IOException {
-        testRedirector9Thru12("redirector12");
-    }
-
-    private void testRedirector9Thru12(String target) throws IOException {
-        executeTarget(target);
-        if (getProject().getProperty("cat.can.run") == null) {
-            return;
-        }
-        String expectedOut = "blah after blah";
-
-        assertEquals("unexpected output",
-            expectedOut, getFileString("redirector.out").trim());
-        assertPropertyEquals("redirector.out", expectedOut.trim());
-        assertNull("unexpected error output", getFileString("redirector.err"));
-        assertPropertyEquals("redirector.err", "");
-    }
-
-    public void testRedirector13() {
-        executeTarget("redirector13");
-        if (getProject().getProperty("test.can.run") == null) {
-            return;
-        }
-        String antfile = getProject().getProperty("ant.file");
-        try {
-            //no point in setting a message
-            assertEquals(antfile + " OUTPUT???" + antfile + " ERROR!!!", getLog());
-        } catch (ComparisonFailure cf) {
-            assertEquals("unexpected log content",
-                antfile + " ERROR!!!" + antfile + " OUTPUT???", getLog());
-        }
-    }
-
-    public void testRedirector14() {
-        executeTarget("redirector14");
-        if (getProject().getProperty("cat.can.run") == null) {
-            return;
-        }
-        assertEquals("unexpected log output", "blah after blah", getLog());
-    }
-
-    public void testRedirector15() throws IOException {
-        executeTarget("redirector15");
-        if (getProject().getProperty("cat.can.run") == null) {
-            return;
-        }
-        assertTrue("error with transcoding",
-            FILE_UTILS.contentEquals(
-            getProject().resolveFile("expected/utf-8"),
-            getProject().resolveFile("redirector.out")));
-    }
-
-    public void testRedirector16() {
-        executeTarget("redirector16");
-    }
-
-    public void testRedirector17() {
-        executeTarget("redirector17");
-    }
-
-    public void testRedirector18() {
-        if (getProject().getProperty("test.can.run") == null) {
-            return;
-        }
-        expectLog("redirector18", getProject().getProperty("ant.file")
-            + " out" + getProject().getProperty("ant.file") + " err");
-    }
-
     public void testspawn() {
         project.executeTarget("init");
         if (project.getProperty("test.can.run") == null) {
             return;
         }
         myBuild = new MonitoredBuild(new File(System.getProperty("root"), BUILD_FILE), "spawn");
-        logFile = FILE_UTILS.createTempFile("spawn","log", project.getBaseDir(), false, false);
+        logFile = FILE_UTILS.createTempFile("spawn", "log", project.getBaseDir(), false, false);
         // this is guaranteed by FileUtils#createTempFile
         assertTrue("log file not existing", !logFile.exists());
         // make the spawned process run 4 seconds
@@ -366,7 +84,9 @@ public class ExecTaskTest extends BuildF
             GregorianCalendar now = new GregorianCalendar();
             // security
             if (now.getTime().getTime() - startwait.getTime().getTime() > MAX_BUILD_TIME) {
-                System.out.println("aborting wait, too long " + (now.getTime().getTime() - startwait.getTime().getTime()) + "milliseconds");
+                System.out.println("aborting wait, too long "
+                        + (now.getTime().getTime() - startwait.getTime().getTime())
+                        + "milliseconds");
                 break;
             }
         }
@@ -378,24 +98,12 @@ public class ExecTaskTest extends BuildF
         }
         // time of the build in milli seconds
         long elapsed = myBuild.getTimeElapsed();
-        assertTrue("we waited more than the process lasted", TIME_TO_WAIT * 1000
-                + SECURITY_MARGIN > elapsed);
+        assertTrue("we waited more than the process lasted",
+                TIME_TO_WAIT * 1000 + SECURITY_MARGIN > elapsed);
         logFile = new File(logFile.getAbsolutePath());
         assertTrue("log file found after spawn", logFile.exists());
     }
 
-    public void testExecUnknownOS() {
-        executeTarget("testExecUnknownOS");
-    }
-
-    public void testExecOSFamily() {
-        executeTarget("testExecOSFamily");
-    }
-
-    public void testExecInconsistentSettings() {
-        executeTarget("testExecInconsistentSettings");
-    }
-    
     private static class MonitoredBuild implements Runnable {
         private Thread worker;
         private File myBuildFile = null;
@@ -419,15 +127,17 @@ public class ExecTaskTest extends BuildF
         public void addBuildListener(BuildListener bl) {
             project.addBuildListener(bl);
         }
+
         public MonitoredBuild(File buildFile, String target) {
             myBuildFile = buildFile;
             this.target = target;
-            project=new Project();
+            project = new Project();
             project = new Project();
             project.init();
-            project.setUserProperty( "ant.file" , myBuildFile.getAbsolutePath() );
+            project.setUserProperty("ant.file", myBuildFile.getAbsolutePath());
             ProjectHelper.configureProject(project, myBuildFile);
         }
+
         /**
          *
          * @return time in millis of the build
@@ -435,19 +145,23 @@ public class ExecTaskTest extends BuildF
         public long getTimeElapsed() {
             return timeFinished.getTime().getTime() - timeStarted.getTime().getTime();
         }
+
         public void start() {
             worker = new Thread(this, myBuildFile.toString() + "/" + target);
             worker.start();
         }
+
         public void run() {
             startProject();
         }
+
         private void startProject() {
             timeStarted = new GregorianCalendar();
             project.executeTarget(target);
             timeFinished = new GregorianCalendar();
         }
     }
+
     private class MonitoredBuildListener implements BuildListener {
         public void buildStarted(BuildEvent event) {
         }
@@ -474,18 +188,4 @@ public class ExecTaskTest extends BuildF
         }
     }
 
-    //borrowed from TokenFilterTest
-    private String getFileString(String filename) throws IOException {
-        String result = null;
-        FileReader reader = null;
-        try {
-            reader = new FileReader(getProject().resolveFile(filename));
-            result = FileUtils.readFully(reader);
-        } catch (IOException eyeOhEx) {
-        } finally {
-            FileUtils.close(reader);
-        }
-        return result;
-    }
-
 }

Modified: ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/ManifestClassPathTest.java
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/ManifestClassPathTest.java?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/ManifestClassPathTest.java (original)
+++ ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/ManifestClassPathTest.java Fri Apr 30 20:28:06 2010
@@ -168,7 +168,7 @@ public class ManifestClassPathTest
             System.out.println("Test with drive letters only run on windows");
         } else {
             try {
-                new java.io.File("D:/").getCanonicalPath();
+                new java.io.File("D:/foo.txt").getCanonicalPath();
             } catch (java.io.IOException e) {
                 System.out.println("drive d: doesn't exist or is not ready,"
                                    + " skipping test");

Modified: ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/UnzipTest.java
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/UnzipTest.java?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/UnzipTest.java (original)
+++ ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/UnzipTest.java Fri Apr 30 20:28:06 2010
@@ -126,7 +126,9 @@ public class UnzipTest extends BuildFile
     /*
      * PR 16213
      */
-    public void testSelfExtractingArchive() {
+    public void XtestSelfExtractingArchive() {
+        // disabled because we lack a self extracting archive that we
+        // are allowed to distribute - see PR 49080
         executeTarget("selfExtractingArchive");
     }
 

Modified: ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java (original)
+++ ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/optional/TraXLiaisonTest.java Fri Apr 30 20:28:06 2010
@@ -51,6 +51,16 @@ public class TraXLiaisonTest extends Abs
     }
 
     public void testXalan2Redirect() throws Exception {
+    	Class clazz = null;
+    	try {
+    		clazz = getClass().getClassLoader().loadClass("org.apache.xalan.lib.Redirect");
+    	} catch (Exception exc) {
+    		// ignore
+    	}
+    	if (clazz == null) {
+    		System.out.println("xalan redirect is not on the classpath");
+    		return;
+    	}
         File xsl = getFile("/taskdefs/optional/xalan-redirect-in.xsl");
         liaison.setStylesheet(xsl);
         File out = new File("xalan2-redirect-out-dummy.tmp");

Modified: ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XsltTest.java
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XsltTest.java?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XsltTest.java (original)
+++ ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/optional/XsltTest.java Fri Apr 30 20:28:06 2010
@@ -65,7 +65,7 @@ public class XsltTest extends BuildFileT
     public void testCatchNoDtd() throws Exception {
         expectBuildExceptionContaining("testCatchNoDtd",
                                        "expected failure",
-                                       "Fatal error during transformation");
+                                       /* actually: "chemical" */null);
     }
 
     /**
@@ -79,6 +79,7 @@ public class XsltTest extends BuildFileT
       executeTarget("testOutputProperty");
     }
 
+    /* Only runs if xalan.jar is in CP (not incl. Sun's JRE repackaging):
     public void testFactory() throws Exception {
         executeTarget("testFactory");
     }
@@ -86,6 +87,8 @@ public class XsltTest extends BuildFileT
     public void testAttribute() throws Exception {
         executeTarget("testAttribute");
     }
+    */
+
     public void testXMLWithEntitiesInNonAsciiPath() throws Exception {
         executeTarget("testXMLWithEntitiesInNonAsciiPath");
     }

Modified: ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/optional/unix/SymlinkTest.java
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/optional/unix/SymlinkTest.java?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/optional/unix/SymlinkTest.java (original)
+++ ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/taskdefs/optional/unix/SymlinkTest.java Fri Apr 30 20:28:06 2010
@@ -254,15 +254,18 @@ public class SymlinkTest extends BuildFi
             assertFalse(su.isDanglingSymbolicLink(f.getParentFile(),
                                                   f.getName()));
 
-            //apparently OS X knows a symlink is a symlink even if the target is missing:
-            boolean mac = Os.isFamily(Os.FAMILY_MAC);
-
+            // it is not possible to find out that symbolic links pointing
+            // to inexistent files or directories are symbolic links
+            // it used to be possible to detect this on Mac
+            // this is not true under Snow Leopard and JDK 1.5
+            // Removing special handling of MacOS until someone shouts
+            // Antoine
             f = getProject().resolveFile("test-working/file.notthere");
             assertFalse(f.exists());
             assertFalse(f.isDirectory());
             assertFalse(f.isFile());
-            assertTrue(su.isSymbolicLink(f.getAbsolutePath()) == mac);
-            assertTrue(su.isSymbolicLink(f.getParentFile(), f.getName()) == mac);
+            assertTrue(su.isSymbolicLink(f.getAbsolutePath()) == false);
+            assertTrue(su.isSymbolicLink(f.getParentFile(), f.getName()) == false);
             assertTrue(su.isDanglingSymbolicLink(f.getAbsolutePath()));
             assertTrue(su.isDanglingSymbolicLink(f.getParentFile(),
                                                  f.getName()));
@@ -271,8 +274,8 @@ public class SymlinkTest extends BuildFi
             assertFalse(f.exists());
             assertFalse(f.isDirectory());
             assertFalse(f.isFile());
-            assertTrue(su.isSymbolicLink(f.getAbsolutePath()) == mac);
-            assertTrue(su.isSymbolicLink(f.getParentFile(), f.getName()) == mac);
+            assertTrue(su.isSymbolicLink(f.getAbsolutePath()) == false);
+            assertTrue(su.isSymbolicLink(f.getParentFile(), f.getName()) == false);
             assertTrue(su.isDanglingSymbolicLink(f.getAbsolutePath()));
             assertTrue(su.isDanglingSymbolicLink(f.getParentFile(),
                                                  f.getName()));

Modified: ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/types/selectors/SizeSelectorTest.java
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/types/selectors/SizeSelectorTest.java?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/types/selectors/SizeSelectorTest.java (original)
+++ ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/types/selectors/SizeSelectorTest.java Fri Apr 30 20:28:06 2010
@@ -18,6 +18,7 @@
 
 package org.apache.tools.ant.types.selectors;
 
+import java.util.Locale;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 import org.apache.tools.ant.types.Parameter;
@@ -198,4 +199,45 @@ public class SizeSelectorTest extends Ba
 
     }
 
+    public void testParameterParsingLowerCase() {
+        testCaseInsensitiveParameterParsing("units");
+    }
+
+    public void testParameterParsingUpperCase() {
+        testCaseInsensitiveParameterParsing("UNITS");
+    }
+
+    public void testParameterParsingLowerCaseTurkish() {
+        Locale l = Locale.getDefault();
+        try {
+            Locale.setDefault(new Locale("tr"));
+            testCaseInsensitiveParameterParsing("units");
+        } finally {
+            Locale.setDefault(l);
+        }
+    }
+
+    public void testParameterParsingUpperCaseTurkish() {
+        Locale l = Locale.getDefault();
+        try {
+            Locale.setDefault(new Locale("tr"));
+            testCaseInsensitiveParameterParsing("UNITS");
+        } finally {
+            Locale.setDefault(l);
+        }
+    }
+
+    private void testCaseInsensitiveParameterParsing(String name) {
+        SizeSelector s = new SizeSelector();
+        Parameter p = new Parameter();
+        p.setName(name);
+        p.setValue("foo");
+        try {
+            s.setParameters(new Parameter[] {p});
+            fail("should have caused an exception");
+        } catch (BuildException be) {
+            assertEquals("foo is not a legal value for this attribute",
+                         be.getMessage());
+        }
+    }
 }

Modified: ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/util/VectorSetTest.java
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/util/VectorSetTest.java?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/util/VectorSetTest.java (original)
+++ ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/ant/util/VectorSetTest.java Fri Apr 30 20:28:06 2010
@@ -109,6 +109,54 @@ public class VectorSetTest extends TestC
         assertFalse(v.remove(O));
     }
 
+    public void testRemoveAtEndWhenSizeEqualsCapacity() {
+        v = new VectorSet(3, 1);
+        Object a = new Object();
+        v.add(a);
+        Object b = new Object();
+        v.add(b);
+        v.add(O);
+        assertEquals(3, v.size());
+        assertEquals(3, v.capacity());
+        assertTrue(v.remove(O));
+        assertEquals(2, v.size());
+        assertFalse(v.remove(O));
+        assertSame(a, v.elementAt(0));
+        assertSame(b, v.elementAt(1));
+    }
+
+    public void testRemoveAtFrontWhenSizeEqualsCapacity() {
+        v = new VectorSet(3, 1);
+        v.add(O);
+        Object a = new Object();
+        v.add(a);
+        Object b = new Object();
+        v.add(b);
+        assertEquals(3, v.size());
+        assertEquals(3, v.capacity());
+        assertTrue(v.remove(O));
+        assertEquals(2, v.size());
+        assertFalse(v.remove(O));
+        assertSame(a, v.elementAt(0));
+        assertSame(b, v.elementAt(1));
+    }
+
+    public void testRemoveInMiddleWhenSizeEqualsCapacity() {
+        v = new VectorSet(3, 1);
+        Object a = new Object();
+        v.add(a);
+        v.add(O);
+        Object b = new Object();
+        v.add(b);
+        assertEquals(3, v.size());
+        assertEquals(3, v.capacity());
+        assertTrue(v.remove(O));
+        assertEquals(2, v.size());
+        assertFalse(v.remove(O));
+        assertSame(a, v.elementAt(0));
+        assertSame(b, v.elementAt(1));
+    }
+
     public void testRemoveAll() {
         v.add(O);
         assertTrue(v.removeAll(Arrays.asList(new Object[] {O, O})));

Propchange: ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/zip/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 30 20:28:06 2010
@@ -1 +1,2 @@
+/ant/core/trunk/src/tests/junit/org/apache/tools/zip:904538-939797
 /commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip:749906-749907

Modified: ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/zip/ExtraFieldUtilsTest.java
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/zip/ExtraFieldUtilsTest.java?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/zip/ExtraFieldUtilsTest.java (original)
+++ ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/zip/ExtraFieldUtilsTest.java Fri Apr 30 20:28:06 2010
@@ -18,6 +18,7 @@
 
 package org.apache.tools.zip;
 
+import java.util.Arrays;
 import junit.framework.TestCase;
 
 /**
@@ -78,11 +79,65 @@ public class ExtraFieldUtilsTest extends
             fail("data should be invalid");
         } catch (Exception e) {
             assertEquals("message",
-                         "data starting at "+(4+aLocal.length)+" is in unknown format",
+                         "bad extra field starting at "+(4 + aLocal.length)
+                         + ".  Block length of 1 bytes exceeds remaining data of 0 bytes.",
                          e.getMessage());
         }
     }
 
+    public void testParseWithRead() throws Exception {
+        ZipExtraField[] ze =
+            ExtraFieldUtils.parse(data, true,
+                                  ExtraFieldUtils.UnparseableExtraField.READ);
+        assertEquals("number of fields", 2, ze.length);
+        assertTrue("type field 1", ze[0] instanceof AsiExtraField);
+        assertEquals("mode field 1", 040755,
+                     ((AsiExtraField) ze[0]).getMode());
+        assertTrue("type field 2", ze[1] instanceof UnrecognizedExtraField);
+        assertEquals("data length field 2", 1,
+                     ze[1].getLocalFileDataLength().getValue());
+
+        byte[] data2 = new byte[data.length-1];
+        System.arraycopy(data, 0, data2, 0, data2.length);
+        ze = ExtraFieldUtils.parse(data2, true,
+                                   ExtraFieldUtils.UnparseableExtraField.READ);
+        assertEquals("number of fields", 2, ze.length);
+        assertTrue("type field 1", ze[0] instanceof AsiExtraField);
+        assertEquals("mode field 1", 040755,
+                     ((AsiExtraField) ze[0]).getMode());
+        assertTrue("type field 2", ze[1] instanceof UnparseableExtraFieldData);
+        assertEquals("data length field 2", 4,
+                     ze[1].getLocalFileDataLength().getValue());
+        byte[] expectedData = new byte[4];
+        for (int i = 0; i < 4; i++) {
+            assertEquals("byte number " + i,
+                         data2[data.length - 5 + i],
+                         ze[1].getLocalFileDataData()[i]);
+        }
+    }
+
+    public void testParseWithSkip() throws Exception {
+        ZipExtraField[] ze =
+            ExtraFieldUtils.parse(data, true,
+                                  ExtraFieldUtils.UnparseableExtraField.SKIP);
+        assertEquals("number of fields", 2, ze.length);
+        assertTrue("type field 1", ze[0] instanceof AsiExtraField);
+        assertEquals("mode field 1", 040755,
+                     ((AsiExtraField) ze[0]).getMode());
+        assertTrue("type field 2", ze[1] instanceof UnrecognizedExtraField);
+        assertEquals("data length field 2", 1,
+                     ze[1].getLocalFileDataLength().getValue());
+
+        byte[] data2 = new byte[data.length-1];
+        System.arraycopy(data, 0, data2, 0, data2.length);
+        ze = ExtraFieldUtils.parse(data2, true,
+                                   ExtraFieldUtils.UnparseableExtraField.SKIP);
+        assertEquals("number of fields", 1, ze.length);
+        assertTrue("type field 1", ze[0] instanceof AsiExtraField);
+        assertEquals("mode field 1", 040755,
+                     ((AsiExtraField) ze[0]).getMode());
+    }
+
     /**
      * Test merge methods
      */
@@ -111,4 +166,30 @@ public class ExtraFieldUtilsTest extends
         }
 
     }
+
+    public void testMergeWithUnparseableData() throws Exception {
+        ZipExtraField d = new UnparseableExtraFieldData();
+        d.parseFromLocalFileData(new byte[] {1, 0, 1, 0}, 0, 4);
+        byte[] local =
+            ExtraFieldUtils.mergeLocalFileDataData(new ZipExtraField[] {a, d});
+        assertEquals("local length", data.length - 1, local.length);
+        for (int i = 0; i < local.length; i++) {
+            assertEquals("local byte " + i, data[i], local[i]);
+        }
+
+        byte[] dCentral = d.getCentralDirectoryData();
+        byte[] data2 = new byte[4 + aLocal.length + dCentral.length];
+        System.arraycopy(data, 0, data2, 0, 4 + aLocal.length + 2);
+        System.arraycopy(dCentral, 0, data2,
+                         4 + aLocal.length, dCentral.length);
+
+
+        byte[] central =
+            ExtraFieldUtils.mergeCentralDirectoryData(new ZipExtraField[] {a, d});
+        assertEquals("central length", data2.length, central.length);
+        for (int i = 0; i < central.length; i++) {
+            assertEquals("central byte " + i, data2[i], central[i]);
+        }
+
+    }
 }

Propchange: ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/zip/ExtraFieldUtilsTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Fri Apr 30 20:28:06 2010
@@ -0,0 +1,3 @@
+/ant/core/trunk/src/tests/junit/org/apache/tools/zip/ExtraFieldUtilsTest.java:904538-939797
+/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

Propchange: ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/zip/UTF8ZipFilesTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 30 20:28:06 2010
@@ -1 +1,2 @@
+/ant/core/trunk/src/tests/junit/org/apache/tools/zip/UTF8ZipFilesTest.java:904538-939797
 /commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/UTF8ZipFilesTest.java:749342-749344,749906-749907

Propchange: ant/core/branches/ANT_SITE/src/tests/junit/org/apache/tools/zip/ZipEntryTest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Apr 30 20:28:06 2010
@@ -1,2 +1,3 @@
+/ant/core/trunk/src/tests/junit/org/apache/tools/zip/ZipEntryTest.java:904538-939797
 /commons/proper/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntryTest.java:896818
 /commons/sandbox/compress/trunk/src/test/java/org/apache/commons/compress/archivers/zip/ZipArchiveEntryTest.java:749603

Modified: ant/core/branches/ANT_SITE/xdocs/antlibs/proper.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/xdocs/antlibs/proper.xml?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/xdocs/antlibs/proper.xml (original)
+++ ant/core/branches/ANT_SITE/xdocs/antlibs/proper.xml Fri Apr 30 20:28:06 2010
@@ -185,44 +185,6 @@
         </table>
       </subsection>
 
-      <a name="svn"/>
-      <subsection name="SVN - Subversion Support">
-
-        <p>Contains tasks that correspond to Ant's &lt;cvs&gt;,
-        &lt;cvschangelog&gt; and &lt;cvstagdiff&gt; tasks.  Requires
-        Subversion's command line client.</p>
-
-        <table>
-          <tr>
-            <th>Homepage:</th>
-            <td><a href="./svn/index.html">http://ant.apache.org/antlibs/svn/</a></td>
-          </tr>
-          <tr>
-            <th>SVN URL:</th>
-            <td><a href="https://svn.apache.org/repos/asf/ant/antlibs/svn/trunk/">https://svn.apache.org/repos/asf/ant/antlibs/svn/trunk/</a></td>
-          </tr>
-          <tr>
-            <th>ViewSVN:</th>
-            <td><a href="http://svn.apache.org/viewcvs.cgi/ant/antlibs/svn/trunk/">http://svn.apache.org/viewcvs.cgi/ant/antlibs/svn/trunk/</a></td>
-          </tr>
-          <tr>
-            <th>Ant compatibility:</th>
-            <td>Ant 1.7.x</td>
-          </tr>
-          <tr>
-            <th>Added to sandbox:</th>
-            <td>2005-04-15</td>
-          </tr>
-          <tr>
-            <th>Promoted from sandbox:</th>
-            <td>2005-11-22</td>
-          </tr>
-          <tr>
-            <th>Latest Release:</th>
-            <td>None</td>
-          </tr>
-        </table>
-      </subsection>
 
     </section>
 

Modified: ant/core/branches/ANT_SITE/xdocs/antnews.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/xdocs/antnews.xml?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/xdocs/antnews.xml (original)
+++ ant/core/branches/ANT_SITE/xdocs/antnews.xml Fri Apr 30 20:28:06 2010
@@ -26,18 +26,42 @@
   </properties>
 
 <body>
-  <section name="Ant1.8.0RC1">
-    <h3>January 12, 2010 - Ant 1.8.0RC1 Released</h3>
-    <p>Apache Ant 1.8.0RC1 is now available for download as source or binary (with and without
+  <section name="Ant1.8.0">
+    <h3>Februrary 8th, 2010 - Ant 1.8.0 Released</h3>
+    <p>Apache Ant 1.8.0 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>
       
-    <p>Key features of the 1.8.0RC1 release are</p>
+    <p>Key features of the 1.8.0 release are</p>
     <ul>
-      <li>a new top level element extension-point allows build files to be
-   extended with custom targets more easily</li>
-      <li>if and unless attributes will be evaluated according to the values of the properties entered
-      if these properties evaluate to true, false, on, off</li>
+      <li>Lexically scoped local properties, i.e. properties that are only defined inside a target, 
+      sequential block or similar environment. This is very useful inside 
+      of &lt;macrodef&gt;s where a macro can now define a temporary property 
+      that will disappear once the task has finished.</li>
+      <li>&lt;import&gt; can now import from any file- or URL-providing resource - 
+      this includes &lt;javaresource&gt;. 
+      This means &lt;import&gt; can read build file snippets from JARs or fixed server URLs. 
+      There are several other improvements in the area of import.</li>
+      <li>Various improvements to the directory scanning code that help with symbolic link 
+      cycles (as can be found on MacOS X Java installations for example) and improve 
+      scanning performance. For big directory trees the improvement is 
+      <a href="http://mail-archives.apache.org/mod_mbox/ant-dev/200809.mbox/%3Cy1u4p48li29.fsf@v30161.1blu.de%3E">dramatic</a>.</li>
+      <li>The way developers can extend Ant's property expansion algorithm has been rewritten 
+      (breaking the older API) to be easier to use and be more powerful. 
+      The whole local properties mechanism is implemented using that API and could be 
+      implemented in a separate library without changes in Ant's core. 
+      Things like the yet-to-be-released props Antlib can now provide often required 
+      "scripty" fuctions without touching Ant itself.
+      At the same time the if and unless attributes have been rewritten to do the expected 
+      thing if applied to a property expansion (i.e. if="${foo}" will mean "yes, do it" 
+      if ${foo} expands to true, in Ant 1.7.1 it would mean "no" unless a property named 
+      "true" existed). This adds "testing conditions" as a new use-case to property 
+      expansion.</li>
+      <li>A new top-level element &lt;extension-point&gt;  assists in writing re-usable 
+      build files that are meant to be imported. &lt;extension-point&gt; has a name 
+      and a dependency-list like &lt;target&gt; and can be used like a &lt;target&gt; 
+      from the command line or a dependency-list but the importing build file can add 
+      targets to the &lt;extension-point&gt;'s depends list. </li>
       <li>Ant now requires Java 1.4 or later</li>
       <li>new task include provides an alternative to &lt;import> that
    should be preferred when you don't want to override any targets</li>

Modified: ant/core/branches/ANT_SITE/xdocs/bindownload.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/xdocs/bindownload.xml?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/xdocs/bindownload.xml (original)
+++ ant/core/branches/ANT_SITE/xdocs/bindownload.xml Fri Apr 30 20:28:06 2010
@@ -75,12 +75,12 @@ Other mirrors: <select name="Preferred">
 
 <section name="Current Release of Ant">
 
-<p>Currently, Apache Ant 1.8.0RC1 is the best available version, see the
+<p>Currently, Apache Ant 1.8.0 is the best available version, see the
 <a href="[preferred]/ant/README.html">release notes</a>.</p>
 
 <div class="warning">
 <div class="label">Note</div>
-<div class="content">Ant 1.8.0RC1 was released on 12-Jan-2010 and
+<div class="content">Ant 1.8.0 was released on 8-Feb-2010 and
 may not be available on all mirrors for a few days.</div>
 </div>
 <br></br>
@@ -92,22 +92,22 @@ may not be available on all mirrors for 
 
 <ul>
 <li><code>.zip</code> archive:
-<a href="[preferred]/ant/binaries/apache-ant-1.8.0RC1-bin.zip">apache-ant-1.8.0RC1-bin.zip</a>
-[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0RC1-bin.zip.asc">PGP</a>]
-[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0RC1-bin.zip.sha1">SHA1</a>]
-[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0RC1-bin.zip.md5">MD5</a>]</li>
+<a href="[preferred]/ant/binaries/apache-ant-1.8.0-bin.zip">apache-ant-1.8.0-bin.zip</a>
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.zip.asc">PGP</a>]
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.zip.sha1">SHA1</a>]
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.zip.md5">MD5</a>]</li>
 
 <li><code>.tar.gz</code> archive:
-<a href="[preferred]/ant/binaries/apache-ant-1.8.0RC1-bin.tar.gz">apache-ant-1.8.0RC1-bin.tar.gz</a>
-[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0RC1-bin.tar.gz.asc">PGP</a>]
-[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0RC1-bin.tar.gz.sha1">SHA1</a>]
-[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0RC1-bin.tar.gz.md5">MD5</a>]</li>
+<a href="[preferred]/ant/binaries/apache-ant-1.8.0-bin.tar.gz">apache-ant-1.8.0-bin.tar.gz</a>
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.tar.gz.asc">PGP</a>]
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.tar.gz.sha1">SHA1</a>]
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.tar.gz.md5">MD5</a>]</li>
 
 <li><code>.tar.bz2</code> archive:
-<a href="[preferred]/ant/binaries/apache-ant-1.8.0RC1-bin.tar.bz2">apache-ant-1.8.0RC1-bin.tar.bz2</a>
-[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0RC1-bin.tar.bz2.asc">PGP</a>]
-[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0RC1-bin.tar.bz2.sha1">SHA1</a>]
-[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0RC1-bin.tar.bz2.md5">MD5</a>]</li>
+<a href="[preferred]/ant/binaries/apache-ant-1.8.0-bin.tar.bz2">apache-ant-1.8.0-bin.tar.bz2</a>
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.tar.bz2.asc">PGP</a>]
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.tar.bz2.sha1">SHA1</a>]
+[<a href="http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.tar.bz2.md5">MD5</a>]</li>
 </ul>
 </section>
 
@@ -139,17 +139,17 @@ using</p>
 
 <p><code>
 % pgpk -a KEYS<br />
-% pgpv apache-ant-1.8.0RC1-bin.tar.gz.asc<br />
+% pgpv apache-ant-1.8.0-bin.tar.gz.asc<br />
 </code>
 <em>or</em><br />
 <code>
 % pgp -ka KEYS<br />
-% pgp apache-ant-1.8.0RC1-bin.tar.gz.asc<br />
+% pgp apache-ant-1.8.0-bin.tar.gz.asc<br />
 </code>
 <em>or</em><br />
 <code>
 % gpg --import KEYS<br />
-% gpg --verify apache-ant-1.8.0RC1-bin.tar.gz.asc
+% gpg --verify apache-ant-1.8.0-bin.tar.gz.asc
 </code></p>
 
 <p>A command line version of <a href="http://www.gnupg.org/download/">GnuPG</a> 

Modified: ant/core/branches/ANT_SITE/xdocs/external.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/xdocs/external.xml?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/xdocs/external.xml (original)
+++ ant/core/branches/ANT_SITE/xdocs/external.xml Fri Apr 30 20:28:06 2010
@@ -1178,11 +1178,11 @@
           </tr>
           <tr>
             <th>URL:</th>
-            <td><a href="http://www.byteslooser.com/idldepend/">http://www.byteslooser.com/idldepend</a></td>
+            <td><a href="http://www.coderazzi.net/idldepend/">http://www.coderazzi.net/idldepend/</a></td>
           </tr>
           <tr>
             <th>Contact:</th>
-            <td><a href="mailto:byteslooser@gmail.com">byteslooser@gmail.com</a></td>
+            <td><a href="mailto:lu@coderazzi.net">lu@coderazzi.net</a></td>
           </tr>
           <tr>
             <th>License:</th>
@@ -3793,7 +3793,7 @@
         <table class="externals">
           <tr>
             <th>Compatibility:</th>
-            <td>bundles 1.7.1 starting with NetBeans 6.5</td>
+            <td>bundles 1.8.0 starting with NetBeans 6.9</td>
           </tr>
           <tr>
             <th>URL:</th>
@@ -3903,7 +3903,9 @@
           </tr>
           <tr>
             <th>URL:</th>
-            <td><a href="http://www.ibm.com/developerworks/websphere/">http://www.ibm.com/developerworks/websphere/</a></td>
+            <td>
+            <a href="http://www.ibm.com/developerworks/websphere/">http://www.ibm.com/developerworks/websphere/</a>
+            </td>
           </tr>
           <tr>
             <th>Article:</th>
@@ -4010,6 +4012,51 @@
         </table>
       </subsection>
 
+      <subsection name="SvnAnt">
+
+         <p>SvnAnt is an ant task that provides an interface to Subversion revision control system
+         that is a compelling replacement for CVS in the open source community.</p>
+
+         <table class="externals">
+          <tr>
+            <th>URL:</th>
+            <td><a href="http://subclipse.tigris.org/svnant.html">
+             Subclipse .: :. SvnAnt .: :. SvnClientAdapter</a></td>
+          </tr>
+          <tr>
+            <th>Contact:</th>
+            <td><a href="http://subclipse.tigris.org/servlets/ProjectProcess?pageID=t65B1R">subclipse: Issues and Help</a></td>
+          </tr>
+          <tr>
+            <th>License:</th>
+            <td><a href="http://www.eclipse.org/legal/epl-v10.html">Eclipse Public License (EPL) 1.0</a></td>
+          </tr>
+        </table>
+      </subsection>
+
+     <subsection name="Svn4Ant">
+
+         <p>JWare/AntXtras Svn4Ant (Svn4Ant) is a complete set of native Ant tasks for managing Subversion working copies, 
+         exported directories, and repositories from a build, test, or deployment environment. 
+         Immodestly, Svn4Ant’s goal is to be the best provider of Subversion Ant components.</p>
+
+         <table class="externals">
+          <tr>
+            <th>URL:</th>
+            <td><a href="http://jwaresoftware.org/wiki/svn4ant/home">
+             Svn4Ant</a></td>
+          </tr>
+          <tr>
+            <th>Contact:</th>
+            <td><a href="http://jwaresoftware.org/wiki/general/support">Support - JWare Free Software</a></td>
+          </tr>
+          <tr>
+            <th>License:</th>
+            <td><a href="http://jwaresoftware.org/wiki-include/svn4ant/latest/LICENSE.txt">LGPL 2.1</a></td>
+          </tr>
+        </table>
+      </subsection>
+
     </section>
 
   </body>

Modified: ant/core/branches/ANT_SITE/xdocs/faq.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/xdocs/faq.xml?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/xdocs/faq.xml (original)
+++ ant/core/branches/ANT_SITE/xdocs/faq.xml Fri Apr 30 20:28:06 2010
@@ -62,11 +62,11 @@
         <code>docs.xml</code> at the top level of the ant SVN
         module (trunk) is used to drive Anakia.</p>
 
-        <p>This file assumes that you have the
-        <code>jakarta-site2</code> CVS module checked out as well, but
-        if you follow the instruction from Anakia&apos;s homepage, you
-        should get it to work without that.  Just make sure all
-        required jars are in the task&apos;s classpath.</p>
+        <p>To transform the xml into html, one needs velocity 1.4.
+        The command to run is :</p>
+        <p>
+        <code>ant -Dvelocity.dir=[installation path of velocity] -f docs.xml</code>
+        </p>
       </answer>
     </faq>
 
@@ -222,6 +222,10 @@
             <td>1.7.1</td>
             <td>27 June 2008</td>
           </tr>
+          <tr>
+            <td>1.8.0</td>
+            <td>8 February 2010</td>
+          </tr>
         </table>
       </answer>
     </faq>
@@ -234,7 +238,7 @@
         Ant?</question>
       <answer>
 
-        <p>You will need Java installed on your system, version 1.3 or
+        <p>You will need Java installed on your system, version 1.4 or
           later required, 1.5 or later strongly recommended. The later
           the version of Java, the more Ant tasks you get.</p>
 
@@ -268,7 +272,7 @@
           </tr>
 
           <tr>
-            <td>current svn trunk</td>
+            <td>1.8.0 up to current svn trunk</td>
             <td>1.4</td>
           </tr>
         </table>
@@ -1562,16 +1566,6 @@ mv /tmp/foo $ANT_HOME/bin/antRun
       </answer>
     </faq>
 
-    <faq id="javadoc-cannot-execute">
-      <question>JavaDoc failed: java.io.IOException: javadoc: cannot execute</question>
-      <answer>
-        <p>There is a bug in the Solaris reference implementation of
-        the JDK (see <a href="http://developer.java.sun.com/developer/bugParade/bugs/4230399.html">http://developer.java.sun.com/developer/bugParade/bugs/4230399.html</a>).
-        This also appears to be true under Linux. Moving the JDK to
-        the front of the PATH fixes the problem.</p>
-      </answer>
-    </faq>
-
     <faq id="delegating-classloader">
       <question>&lt;style&gt; or &lt;junit&gt; ignores my
       &lt;classpath&gt;</question>
@@ -1791,10 +1785,7 @@ mv /tmp/foo $ANT_HOME/bin/antRun
         dependencies on external libraries.  You can move the
         "offending" jar out of <code>ANT_HOME/lib</code>.  For the
         <code>&lt;junit&gt;</code> task it would be
-        <code>ant-junit.jar</code> and for <code>&lt;style&gt;</code>
-        it would be <code>ant-trax.jar</code>
-        or <code>ant-xslp.jar</code> - 
-        depending on the processor you use.</p>
+        <code>ant-junit.jar</code>.</p>
 
         <p>If you do so, you will have to <code>&lt;taskdef&gt;</code>
         all optional tasks that need the external library and use
@@ -1819,68 +1810,6 @@ mv /tmp/foo $ANT_HOME/bin/antRun
       </answer>
     </faq>
 
-    <faq id="winxp-jdk14-ant14">
-      <question>When running Ant 1.4 on Windows XP and JDK 1.4, I get
-      various errors when trying to <code>&lt;exec&gt;</code>, fork
-      <code>&lt;java&gt;</code> or access environment
-      variables.</question>
-
-      <answer>
-
-        <p>Ant &lt; 1.5 doesn&apos;t recognize Windows XP as a flavor
-        of Windows that runs <code>CMD.EXE</code> instead of
-        <code>COMMAND.COM</code>.  JDK 1.3 will tell Ant that Windows
-        XP is Windows 2000 so the problem doesn&apos;t show up
-        there.</p>
-
-        <p>Apart from upgrading to Ant 1.5 or better, setting the
-        environment variable <code>ANT_OPTS</code> to
-        <code>-Dos.name=Windows_NT</code> prior to invoking Ant has
-        been confirmed as a workaround.</p>
-      </answer>
-    </faq>
-
-    <faq id="1.5-cygwin-sh">
-      <question>The <code>ant</code> wrapper script of Ant 1.5 fails
-      for Cygwin if <code>ANT_HOME</code> is set to a Windows style
-      path.</question>
-      <answer>
-
-        <p>This problem has been reported only hours after Ant 1.5 has
-        been released, see <a
-        href="http://issues.apache.org/bugzilla/show_bug.cgi?id=10664">Bug
-        10664</a> and all its duplicates.</p>
-
-        <p>A fixed version of the wrapper script can be found <a
-        href="http://ant.apache.org/old-releases/v1.5/errata/">here</a>.
-        Simply replace your script with this version.</p>
-      </answer>
-    </faq>
-
-    <faq id="1.5.2-zip-broken">
-      <question><code>&lt;zip&gt;</code> is broken in Ant 1.5.2.</question>
-      <answer>
-
-        <p>Yes, it is.</p>
-
-        <p>The problem reported by most people - see <a
-        href="http://issues.apache.org/bugzilla/show_bug.cgi?id=17648">Bug
-        17648</a> and all its duplicates - is that Ant creates
-        archives that a partially unreadable by WinZIP.  Luckily
-        <code>jar</code> deals with the archives and so the generated
-        jars/wars/ears will most likely work for you anyway.</p>
-
-        <p>There are additional problems, see bugs <a
-        href="http://issues.apache.org/bugzilla/show_bug.cgi?id=17780">Bug
-        17780</a>, <a
-        href="http://issues.apache.org/bugzilla/show_bug.cgi?id=17871">Bug
-        17871</a> and <a
-        href="http://issues.apache.org/bugzilla/show_bug.cgi?id=18403">Bug
-        18403</a>.  All of them are supposed to be fixed with Ant
-        1.5.3 (and only 18403 should exist in 1.5.3beta1).</p>
-      </answer>
-    </faq>
-
     <faq id="unknownelement.taskcontainer">
       <question>
         Why do my custom task containers see Unknown Elements in Ant 1.6
@@ -1932,80 +1861,9 @@ mv /tmp/foo $ANT_HOME/bin/antRun
       </answer>
     </faq>
 
-    <faq id="java.exception.stacktrace">
-      <question>
-        The program I run via &lt;java&gt; throws an exception but I
-        can't seem to get the full stack trace.
-      </question>
-      <answer>
-        <p>This is a know bug that has been fixed after the release of
-        Ant 1.6.1.</p>
-
-        <p>As a workaround, run your &lt;java&gt; task with
-        <code>fork="true"</code> and Ant will display the full
-        trace.</p>
-      </answer>
-    </faq>
-
-    <faq id="junit-no-runtime-xml">
-      <question>
-        Using format=&quot;xml&quot;, &lt;junit&gt; fails with a
-        <code>NoClassDefFoundError</code> if forked.
-      </question>
-      <answer>
-
-        <p>The XML formatter needs the <a
-        href="http://www.w3.org/DOM/">DOM classes</a> to work.  If you
-        are using JDK 1.4 or later they are included with your Java
-        Runtime and this problem won't occur.  If you are running JDK
-        1.3 or earlier, the DOM classes have to be on your
-        &lt;junit&gt; task's &lt;classpath&gt;.</p>
-
-        <p>Prior to Ant 1.6.0 Ant would include the DOM classes from
-        the XML parser that is used by Ant itself if you set the
-        includeAntRuntime attribute to true (the default).  With Ant
-        1.6.0 this has been changed as this behavior made it
-        impossible to use a different XML parser in your tests.</p>
-
-        <p>This means that you have to take care of the DOM classes
-        explicitly starting with Ant 1.6.0.  If you don't need to set
-        up a different XML parser for your tests, the easiest solution
-        is to add</p>
-
-        <source><![CDATA[
-<pathelement path="${ant.home}/lib/xml-apis.jar:${ant.home}/lib/xercesImpl.jar"/>
-]]></source>
-
-        <p>to your task's &lt;classpath&gt;.</p>
-
-      </answer>
-    </faq>
-
-    <faq id="xalan-jdk1.5">
-      <question>
-        <code>&lt;junitreport&gt;</code> doesn't work with JDK 1.5 but
-        worked fine with JDK 1.4.
-      </question>
-      <answer>
-
-        <p>While JDK 1.4.x contains a version of Xalan-J 2, JDK 1.5
-        (and later?) have <a
-        href="http://java.sun.com/j2se/1.5.0/compatibility.html#4959783">moved
-        to XSLTC</a>.  Since this task uses Xalan's redirect
-        extensions for its internal stylesheet, Ant prior to 1.6.2 didn't support
-        XSLTC.  This means that you have to install <a
-        href="http://xml.apache.org/xalan-j/">Xalan-J 2</a> in order
-        to use this task with JDK 1.5 in older versions of Ant.</p>
-
-        <p>Starting with Ant 1.6.2 <code>&lt;junitreport&gt;</code>
-        supports JDK 1.5.</p>
-
-      </answer>
-    </faq>
-
     <faq id="oom-on-mac">
       <question>
-        Ant runs into an infinite loop/throws an OutOufMemoryError
+        Ant runs into an infinite loop/throws an OutOfMemoryError
         when I compile my project under Mac OS X.
       </question>
 
@@ -2054,6 +1912,54 @@ mv /tmp/foo $ANT_HOME/bin/antRun
         recursions as well.</p>
       </answer>
     </faq>
+
+    <faq id="extension-point-and-import">
+      <question><code>extension-point</code> doesn't work
+        with <code>import</code> like the documentation
+        states.</question>
+
+      <answer>
+        <p>Yes, there is
+          a <a href="https://issues.apache.org/bugzilla/show_bug.cgi?id=48804">bug
+          in Ant 1.8.0</a>.</p>
+
+        <p>When using two build files like</p>
+        <source><![CDATA[
+importing.xml:
+<project>
+   ...
+   <import file="imported.xml"/>
+   <target name="bar" extensionOf="foo"/>
+</project>
+imported.xml:
+<project>
+   <extension-point name="foo"/>
+</project>
+]]></source>
+        <p>Ant 1.8.0 will fail, claiming there was no extension point
+          named "foo".</p>
+
+        <p>This bug has been fixed for Ant 1.8.1.  For Ant 1.8.0 there
+          is
+          a <a href="https://issues.apache.org/bugzilla/show_bug.cgi?id=48804#c9">work-around</a>:
+          add an additional layer of importing like in</p>
+        <source><![CDATA[
+importing.xml:
+<project>
+   <target name="bar" extensionOf="foo"/>
+</project>
+imported.xml:
+<project>
+   <extension-point name="foo"/>
+</project>
+build.xml:
+<project>
+   <import file="imported.xml"/>
+   <import file="importing.xml"/>
+</project>
+]]></source>
+      </answer>
+    </faq>
   </faqsection>
 
 </document>

Modified: ant/core/branches/ANT_SITE/xdocs/index.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/xdocs/index.xml?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/xdocs/index.xml (original)
+++ ant/core/branches/ANT_SITE/xdocs/index.xml Fri Apr 30 20:28:06 2010
@@ -24,29 +24,40 @@
   </properties>
 
 <body>
-	<section name="Ant 1.8.0RC1">
-		<h3>January 12, 2010 - Ant 1.8.0RC1 Available</h3>
+	<section name="Ant 1.8.0">
+		<h3>February 8, 2010 - Ant 1.8.0 Available</h3>
 		<p>
-			Apache Ant 1.8.0RC1 is now available for
+			Apache Ant 1.8.0 is now available for
 			<a href="http://ant.apache.org/bindownload.cgi">download</a>
 			.
 		</p>
 		<ul>
-			<li>a new top level element extension-point allows build files to be
+		    <li>Lexically scoped local properties, i.e. properties that are only
+		        defined inside a target, 
+                sequential block or similar environment.</li>
+            <li>&lt;import&gt; can now import from any file- or URL-providing resource - 
+                this includes &lt;javaresource&gt;.</li>    
+			<li>Various improvements to the directory scanning code that help 
+			with symbolic link cycles (as can be found on MacOS X Java
+			installations for example) and improve scanning performance. 
+			For big directory trees the improvement is 
+            <a href="http://mail-archives.apache.org/mod_mbox/ant-dev/200809.mbox/%3Cy1u4p48li29.fsf@v30161.1blu.de%3E">dramatic</a>.</li>
+            <li>The way developers can extend Ant's property expansion algorithm has been rewritten 
+            (breaking the older API) to be easier to use and be more powerful.
+            </li>
+            <li>a new top level element extension-point allows build files to be
 				extended with custom targets more easily</li>
-			<li>if and unless attributes will be evaluated according to the
-				values of the properties entered
-				if these properties evaluate to true, false, on, off</li>
+			<li>At the same time the if and unless attributes have been rewritten to do the expected 
+            thing if applied to a property expansion (i.e. if="${foo}" will mean "yes, do it" 
+            if ${foo} expands to true, in Ant 1.7.1 it would mean "no" unless a property named 
+           "true" existed). This adds "testing conditions" as a new use-case to property 
+            expansion.</li>
 			<li>Ant now requires Java 1.4 or later</li>
 			<li>new task include provides an alternative to &lt;import> that
 				should be preferred when you don't want to override any targets</li>
 			<li>numerous bug fixes and improvements as documented in Bugzilla
 				and in WHATSNEW</li>
 		</ul>
-		<p>While in open source projects a final release date strongly depends
-		  on the free time of the volunteers/committers, the final release is
-      expected one to two months maximum after this RC. So Ant 1.8.0 is
-      expected between mid February and mid March 2010.</p>
 	</section>
   <section name="Ivy 2.1.0">
     <h3>October 8, 2009 - Apache Ivy 2.1.0 Released</h3>
@@ -88,73 +99,43 @@
         home page</a></p>
   </section>
 
-  <section name="Apache Ivy is an Ant Sub-Project Now!">
-    <h3>October 11, 2007 - Apache Ivy is an Ant Sub-Project Now!</h3>
-
-    <p>Apache Ivy, "A Java based tool for tracking, resolving and
-    managing project dependencies.", just finished <a
-    href="http://incubator.apache.org/">Incubation</a> and has joined
-    the Ant project.  More information will be available from the Ant
-    site soon.</p>
-
-    <p>Until we've finished the migration, you can learn more about
-    Ivy from its <a href="http://incubator.apache.org/ivy/">Incubator
-    website</a>.</p>
-  </section>
-
 
   <section name="Apache Ant">
 
-<p>
-Apache Ant is a Java-based build tool. In theory, it is kind of like
-Make, but without Make's wrinkles.
-</p>
-
-<p>
-Why another build tool when there is already <em>make</em>, <em>gnumake</em>,
-<em>nmake</em>, <em>jam</em>, and
-others? Because all those tools have limitations that Ant's original author
-couldn't live with when developing software across multiple platforms. Make-like
-tools are inherently shell-based -- they evaluate a set of dependencies, then
-execute commands not unlike what you would issue in a shell. This means that you
-can easily extend these tools by using or writing any program for the OS that
-you are working on. However, this also means that you limit yourself to the OS,
-or at least the OS type such as Unix, that you are working on.
-</p>
-
-<p>
-Makefiles are inherently evil as well. Anybody who has worked on them for any
-time has run into the dreaded tab problem. &quot;Is my command not executing
-because I have a space in front of my tab!!!&quot; said the original author of
-Ant way too many times. Tools like Jam took care of this to a great degree, but
-still have yet another format to use and remember.
+    <p>
+		Ant is a Java library and command-line tool.
+		Ant's mission is to drive processes described in build files as targets
+		and extension points dependent upon each other.
+		The main known usage of Ant is the build of Java applications.
+		Ant supplies a number of built-in tasks allowing to compile, assemble,
+		test and run Java applications.
+		Ant can also be used effectively to build non Java applications, for
+		instance C or C++ applications. More generally, Ant can be used to
+		pilot any type of process which can be described in terms of targets
+		and tasks.
+    </p>
+	<p>
+		Ant is written in Java. Users of Ant can develop their own
+		&quot;antlibs&quot; containing Ant tasks and types, and are offered 
+		a large number of ready-made commercial or open-source &quot;antlibs&quot;.
+    </p>
+	<p>
+		Ant is extremely flexible and does not impose coding conventions or
+		directory layouts to the Java projects which adopt it as a build tool.
+	</p>
+	<p>
+		Software development projects looking for a solution combining build tool and
+		dependency management can use Ant in combination with <a href="http://ant.apache.org/ivy/">Ivy</a>.
 </p>
 
-<p>
-Ant is different. Instead of a model where it is extended with shell-based
-commands, Ant is extended using Java classes. Instead of writing shell commands,
-the configuration files are XML-based, calling out a target tree where various
-tasks get executed. Each task is run by an object that implements a particular
-Task interface.
-</p>
 
-<p>
-Granted, this removes some of the expressive power that is inherent by being
-able to construct a shell command such as
-<code>`find . -name foo -exec rm {}`</code>, but it
-gives you the ability to be cross platform -- to work anywhere and everywhere.
-And hey, if you really need to execute a shell command, Ant has an
-<code>&lt;exec&gt;</code> task that
-allows different commands to be executed based on the OS that it is executing
-on.
-</p>
 
   </section>
 
   <section name="Documentation">
 
 <p>
-You can view the documentation for the current release (Apache Ant 1.8.0RC1)
+You can view the documentation for the current release (Apache Ant 1.8.0)
 <a href="manual/index.html">online</a>
 </p>
 

Modified: ant/core/branches/ANT_SITE/xdocs/mail.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/xdocs/mail.xml?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/xdocs/mail.xml (original)
+++ ant/core/branches/ANT_SITE/xdocs/mail.xml Fri Apr 30 20:28:06 2010
@@ -128,8 +128,8 @@
           <li><a href="http://marc.theaimsgroup.com/">Mailing list Archives</a></li>
           <li><a href="http://news.gmane.org/gmane.comp.jakarta.ant.devel/">Ant Developer List on gmane</a></li>
           <li><a href="http://news.gmane.org/gmane.comp.jakarta.ant.user/">Ant User List on gmane</a></li>
-          <li><a href="http://www.nabble.com/Ant---Dev-f108.html">Ant Developer List on nabble</a></li>
-          <li><a href="http://www.nabble.com/Ant---Users-f107.html">Ant User List on nabble</a></li>
+          <li><a href="http://old.nabble.com/Ant---Dev-f108.html">Ant Developer List on nabble</a></li>
+          <li><a href="http://old.nabble.com/Ant---Users-f107.html">Ant User List on nabble</a></li>
           <li><a href="http://ant.markmail.org/">Mailing List Archive at MarkMail</a></li>
         </ul>
 

Modified: ant/core/branches/ANT_SITE/xdocs/nightlies.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/xdocs/nightlies.xml?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/xdocs/nightlies.xml (original)
+++ ant/core/branches/ANT_SITE/xdocs/nightlies.xml Fri Apr 30 20:28:06 2010
@@ -65,7 +65,7 @@ installation of the <a href="http://huds
 
 <p>JetBrains is offering Ant the service of a Continuous Build on their TeamCity system.</p>
 
-<teamcity viewlog="http://teamcity.jetbrains.com/guestAuth/viewLog.html">
+<teamcity viewlog="http://teamcity.jetbrains.com/viewLog.html">
     <project name="Apache Ant">
         <configuration id="bt133" title="Core Trunk (Windows)" command="clean test">
             <description>current development (Windows platform)</description>

Modified: ant/core/branches/ANT_SITE/xdocs/projects.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/xdocs/projects.xml?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/xdocs/projects.xml (original)
+++ ant/core/branches/ANT_SITE/xdocs/projects.xml Fri Apr 30 20:28:06 2010
@@ -385,6 +385,45 @@
         </table>
       </subsection>
 
+
+      <subsection name="Flaka">
+
+        <p>The goal of Flaka is to simplify writing build scripts using
+        <ul> 
+          <li><strong>Regular control structures</strong> (<code>when</code>, <code>for</code>, <code>switch</code>, ..)</li>
+          <li><strong>Exception handling</strong></li>
+          <li>An <em>Expression Language</em> which in turn provdes:
+          <ul> 
+            <li><strong>access to underlying data objects</strong></li> 
+            <li><strong>untyped variables in addition to Ant properties</strong></li> 
+            <li><strong>powerfull expressions like <code> cond ? then : else</code></strong></li> 
+          </ul> 
+          </li>
+        </ul>
+        Checkout the <a href="http://workbench.haefelinger.it/flaka/download/manual/latest">manual's overview chapter</a> about the feature Flaka provides. Have especially a look at the section describing the expression language.
+        </p>
+
+        <table class="externals">
+          <tr>
+            <th>Compatibility:</th>
+            <td>Ant 1.7 and higher </td>
+          </tr>
+          <tr>
+            <th>URL:</th>
+            <td><a href="http://workbench.haefelinger.it/flaka/">http://workbench.haefelinger.it/flaka/</a></td>
+          </tr>
+          <tr>
+            <th>Contact:</th>
+            <td><a href ="mailto:wh@haefelinger.it">Contact Project Lead</a></td>
+          </tr>
+          <tr>
+            <th>License:</th>
+            <td><a href ="http://www.apache.org/licenses/LICENSE-2.0">Apache License v.20</a></td>
+          </tr>
+        </table>
+      </subsection>
+
+
       <subsection name="Invicta">
 
         <p>Invicta is a build management tool. Using simple project definition files,
@@ -698,4 +737,4 @@
     </section>
 
   </body>
-</document>
+</document>
\ No newline at end of file

Modified: ant/core/branches/ANT_SITE/xdocs/srcdownload.xml
URL: http://svn.apache.org/viewvc/ant/core/branches/ANT_SITE/xdocs/srcdownload.xml?rev=939802&r1=939801&r2=939802&view=diff
==============================================================================
--- ant/core/branches/ANT_SITE/xdocs/srcdownload.xml (original)
+++ ant/core/branches/ANT_SITE/xdocs/srcdownload.xml Fri Apr 30 20:28:06 2010
@@ -72,12 +72,12 @@ Other mirrors: <select name="Preferred">
 
 <section name="Current Release of Ant">
 
-<p>Currently, Apache Ant 1.8.0RC1 is the best available version, see the
+<p>Currently, Apache Ant 1.8.0 is the best available version, see the
 <a href="[preferred]/ant/README.html">release notes</a>.</p>
 
 <div class="warning">
 <div class="label">Note</div>
-<div class="content">Ant 1.8.0RC1 was released on 12-Jan-2010 and
+<div class="content">Ant 1.8.0 was released on 8-Feb-2010 and
 may not be available on all mirrors for a few days.</div>
 </div>
 <br></br>
@@ -89,22 +89,22 @@ may not be available on all mirrors for 
 
 <ul>
 <li><code>.zip</code> archive:
-<a href="[preferred]/ant/source/apache-ant-1.8.0RC1-src.zip">apache-ant-1.8.0RC1-src.zip</a>
-[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0RC1-src.zip.asc">PGP</a>]
-[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0RC1-src.zip.sha1">SHA1</a>]
-[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0RC1-src.zip.md5">MD5</a>]</li>
+<a href="[preferred]/ant/source/apache-ant-1.8.0-src.zip">apache-ant-1.8.0-src.zip</a>
+[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0-src.zip.asc">PGP</a>]
+[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0-src.zip.sha1">SHA1</a>]
+[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0-src.zip.md5">MD5</a>]</li>
 
 <li><code>.tar.gz</code> archive:
-<a href="[preferred]/ant/source/apache-ant-1.8.0RC1-src.tar.gz">apache-ant-1.8.0RC1-src.tar.gz</a>
-[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0RC1-src.tar.gz.asc">PGP</a>]
-[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0RC1-src.tar.gz.sha1">SHA1</a>]
-[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0RC1-src.tar.gz.md5">MD5</a>]</li>
+<a href="[preferred]/ant/source/apache-ant-1.8.0-src.tar.gz">apache-ant-1.8.0-src.tar.gz</a>
+[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0-src.tar.gz.asc">PGP</a>]
+[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0-src.tar.gz.sha1">SHA1</a>]
+[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0-src.tar.gz.md5">MD5</a>]</li>
 
 <li><code>.tar.bz2</code> archive:
-<a href="[preferred]/ant/source/apache-ant-1.8.0RC1-src.tar.bz2">apache-ant-1.8.0RC1-src.tar.bz2</a>
-[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0RC1-src.tar.bz2.asc">PGP</a>]
-[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0RC1-src.tar.bz2.sha1">SHA1</a>]
-[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0RC1-src.tar.bz2.md5">MD5</a>]</li>
+<a href="[preferred]/ant/source/apache-ant-1.8.0-src.tar.bz2">apache-ant-1.8.0-src.tar.bz2</a>
+[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0-src.tar.bz2.asc">PGP</a>]
+[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0-src.tar.bz2.sha1">SHA1</a>]
+[<a href="http://www.apache.org/dist/ant/source/apache-ant-1.8.0-src.tar.bz2.md5">MD5</a>]</li>
 </ul>
 </section>
 
@@ -136,17 +136,17 @@ using</p>
 
 <p><code>
 % pgpk -a KEYS<br />
-% pgpv apache-ant-1.8.0RC1-src.tar.gz.asc<br />
+% pgpv apache-ant-1.8.0-src.tar.gz.asc<br />
 </code>
 <em>or</em><br />
 <code>
 % pgp -ka KEYS<br />
-% pgp apache-ant-1.8.0RC1-src.tar.gz.asc<br />
+% pgp apache-ant-1.8.0-src.tar.gz.asc<br />
 </code>
 <em>or</em><br />
 <code>
 % gpg --import KEYS<br />
-% gpg --verify apache-ant-1.8.0RC1-src.tar.gz.asc
+% gpg --verify apache-ant-1.8.0-src.tar.gz.asc
 </code></p>
 
 <p>Alternatively, you can verify the checksums on the files.  Unix



Mime
View raw message