Reviewers: scottb,

http://gwt-code-reviews.appspot.com/33837/diff/1/2
File common.ant.xml (right):

http://gwt-code-reviews.appspot.com/33837/diff/1/2#newcode145
Line 145: <jar destfile="${project.lib}" update="true" duplicate="fail"
index="true" filesonly="true" />
On 2009/06/01 17:56:26, scottb wrote:
> I have to admit I'm a bit concerned about this.  You've verified that
omitting
> the directories has no impact?  We used to require directories to be
in jars,
> and I think there are still some cases where it's important.  See
> AbstractCompiler.INameEnvironmentImpl.isPackage() and
> JDTCompiler.INameEnvironmentImpl.isPackage().

> Is there any other way we could fix the timestamp issues?

Ah.  Testing has been less than light, other than that the builds
complete... and, yes, I am seeing some failures now that I'm running the
tests.

In that case, there are two other possible fixes, of which I suspect
you'll prefer the second.  We could:
   1. revisit every instance of gwt.jar, and rearrange so
      that the newest output directories will always be
      first.  That's brittle to future jars being wrong.
   2. rewrite gwt.jar as a macro, taking e.g. "sourcefiles"
      and "generatedfiles" explicitly, and explicitly naming
      the generated ones first (i.e. new directories first).
      This was, in fact, my plan before I noted filesonly.

I'll rework with the second approach.

http://gwt-code-reviews.appspot.com/33837/diff/1/5
File user/build.xml (right):

http://gwt-code-reviews.appspot.com/33837/diff/1/5#newcode5
Line 5:
On 2009/06/01 17:56:26, scottb wrote:
> This reordering because..?

Because (1) ant properties are immutable, and (2) the
local.ant.properties file is read inside common.ant.xml.  So by
relocating the default assignment of gwt.junit.emmatestcase.includes to
be after the import, users get a chance to set their own values.

Description:
We used to do a lot of repeated work on back-to-back build commands.
This patch makes us not do so.

Please review this at http://gwt-code-reviews.appspot.com/33837

Affected files:
   common.ant.xml
   dev/common.ant.xml
   dev/core/build.xml
   user/build.xml


Index: common.ant.xml
===================================================================
--- common.ant.xml      (revision 5480)
+++ common.ant.xml      (working copy)
@@ -1,4 +1,10 @@
  <project name="common">
+  <!-- it's okay for this not to exist, but it gives a place to store
+       "your" property settings, if any, persistently.  For example, you
+       might use it to set gwt.junit.testcase.includes to a narrower subset
+       of test cases to exercise. -->
+  <property file="local.ant.properties" />
+
    <!-- gwt.build.iscasesensitivefs is true if the filesystem of the
      build machine is case-sensitive, false otherwise.  Update with
      new lines for any supported platforms with case-insensitive
@@ -136,7 +142,7 @@
    </presetdef>

    <presetdef name="gwt.jar">
-    <jar destfile="${project.lib}" update="true" duplicate="preserve"  
index="true" />
+    <jar destfile="${project.lib}" update="true" duplicate="fail"  
index="true" filesonly="true" />
    </presetdef>

    <macrodef name="gwt.junit">
Index: dev/common.ant.xml
===================================================================
--- dev/common.ant.xml  (revision 5480)
+++ dev/common.ant.xml  (working copy)
@@ -18,11 +18,11 @@

    <target name="build" depends="compile" description="Build and package  
this project">
      <mkdir dir="${gwt.build.lib}" />
-    <gwt.jar>
+    <gwt.jar duplicate="preserve">
        <fileset dir="src" excludes="**/package.html"/>
        <fileset dir="${gwt.core.root}/src">
          <exclude name="**/package.html"/>
-        <exclude name="com/google/gwt/dev/About.properties"/>
+        <exclude name="**/*.properties"/> <!-- copied and/or filtered into  
bin -->
        </fileset>
        <fileset dir="${gwt.core.root}/super" excludes="**/package.html" />
        <fileset dir="${javac.out}" />
Index: dev/core/build.xml
===================================================================
--- dev/core/build.xml  (revision 5480)
+++ dev/core/build.xml  (working copy)
@@ -22,7 +22,13 @@

    <target name="build.alldeps.jar" description="Merges all dependency jars  
into a single jar">
      <mkdir dir="${project.build}" />
-    <gwt.jar destfile="${alldeps.jar}">
+    <gwt.jar destfile="${alldeps.jar}" duplicate="preserve">
+
+      <!-- We have many versions of javax.servlet.* floating around; take  
care to
+           have the newest one first, or this rule will take several  
iterations to
+           stop being "out of date." -->
+      <zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.5.jar" />
+
        <zipfileset  
src="${gwt.tools.lib}/apache/tapestry-util-text-4.0.2.jar" />
        <zipfileset src="${gwt.tools.lib}/apache/ant-1.6.5.jar" />
        <zipfileset src="${gwt.tools.lib}/eclipse/jdt-3.4.2.jar" />
@@ -45,7 +51,6 @@
        <zipfileset src="${gwt.tools.lib}/tomcat/naming-factory-1.0.jar" />
        <zipfileset src="${gwt.tools.lib}/tomcat/naming-java-1.0.jar" />
        <zipfileset src="${gwt.tools.lib}/tomcat/naming-resources-1.0.jar" />
-      <zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.5.jar" />
        <zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.4.jar" />
        <zipfileset src="${gwt.tools.lib}/tomcat/servlets-common-1.0.jar" />
        <zipfileset src="${gwt.tools.lib}/tomcat/servlets-default-1.0.jar" />
Index: user/build.xml
===================================================================
--- user/build.xml      (revision 5480)
+++ user/build.xml      (working copy)
@@ -2,9 +2,11 @@
    <property name="gwt.root" location=".." />
    <property name="project.tail" value="user" />
    <property name="test.args" value="" />
-  <property name="gwt.junit.emmatestcase.includes"  
value="**/*Suite.class,com/google/gwt/dev/jjs/test/*Test.class"/>
+
    <import file="${gwt.root}/common.ant.xml" />

+  <property name="gwt.junit.emmatestcase.includes"  
value="**/*Suite.class,com/google/gwt/dev/jjs/test/*Test.class"/>
+
    <!--
      Default hosted mode test cases
    -->



--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to