Ant rework for speed:
* Added ant task LatestTimeJar to jar only the most 
recent of duplicate 
  entries.
* Used <outofdate> so jars in dev using <zipfileset> don't bother testing
  entries if the containing archive is unmodified.

Ant rework for cleanup:
* Introduced local.ant.properties
* Refactored test files containing $ to test_i18n_dollar, with companion
  test_i18n_bar, so we can test both sides of that split (and so it's easy
  for systems allergic to $ in filenames to opt out).  Ant property
  gwt.i18n.test.InnerClassChar={dollar,bar} selects which to use.
* Unified test target names to test.*, deprecating remoteweb-test and
  selenium-test as nonconforming.

Review by: scottb, jat



git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@5537 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/common.ant.xml b/dev/common.ant.xml
index 4353204..ef64c7a 100755
--- a/dev/common.ant.xml
+++ b/dev/common.ant.xml
@@ -18,21 +18,40 @@
 
   <target name="build" depends="compile" description="Build and package this project">
     <mkdir dir="${gwt.build.lib}" />
-    <gwt.jar>
-      <fileset dir="src" excludes="**/package.html"/>
-      <fileset dir="${gwt.core.root}/src">
-        <exclude name="**/package.html"/>
-        <exclude name="com/google/gwt/dev/About.properties"/>
-      </fileset>
-      <fileset dir="${gwt.core.root}/super" excludes="**/package.html" />
-      <fileset dir="${javac.out}" />
-      <fileset dir="${gwt.core.build}/bin" />
-      <zipfileset src="${gwt.tools.lib}/eclipse/${gwt.dev.swt.jar}" />
-      <zipfileset src="${gwt.core.build}/alldeps.jar" />
-      <manifest>
-        <attribute name="Main-Class" value="com.google.gwt.dev.GWTMain" />
-      </manifest>
-    </gwt.jar>
+    <outofdate>
+      <sourcefiles>
+        <fileset dir="src" excludes="**/package.html"/>
+        <fileset dir="${gwt.core.root}/src">
+          <exclude name="**/package.html"/>
+          <exclude name="**/*.properties"/> <!-- copied and/or filtered into bin -->
+        </fileset>
+        <fileset dir="${gwt.core.root}/super" excludes="**/package.html" />
+        <fileset dir="${javac.out}" />
+        <fileset dir="${gwt.core.build}/bin" />
+        <fileset file="${gwt.tools.lib}/eclipse/${gwt.dev.swt.jar}" />
+        <fileset file="${gwt.core.build}/alldeps.jar" />
+      </sourcefiles>
+      <targetfiles>
+        <fileset file="${project.lib}"/>
+      </targetfiles>
+      <sequential>
+        <gwt.jar>
+          <fileset dir="src" excludes="**/package.html"/>
+          <fileset dir="${gwt.core.root}/src">
+            <exclude name="**/package.html"/>
+            <exclude name="**/*.properties"/> <!-- copied and/or filtered into bin -->
+          </fileset>
+          <fileset dir="${gwt.core.root}/super" excludes="**/package.html" />
+          <fileset dir="${javac.out}" />
+          <fileset dir="${gwt.core.build}/bin" />
+          <zipfileset src="${gwt.tools.lib}/eclipse/${gwt.dev.swt.jar}" />
+          <zipfileset src="${gwt.core.build}/alldeps.jar" />
+          <manifest>
+            <attribute name="Main-Class" value="com.google.gwt.dev.GWTMain" />
+          </manifest>
+        </gwt.jar>
+      </sequential>
+    </outofdate>
   </target>
 
   <target name="clean" description="Cleans this project's intermediate and output files">