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 -~----------~----~----~----~------~----~------~--~---
