On 15 November 2010 09:37, John Tamplin <j...@google.com> wrote: > On Mon, Nov 15, 2010 at 12:30 PM, Hilco Wijbenga > <hilco.wijbe...@gmail.com> wrote: >> See >> http://ant.1045680.n5.nabble.com/warning-includeantruntime-was-not-set-td2639463.html >> for more details. >> >> In short, by default Ant includes its own JARs on <javac>'s classpath. >> This means the effective classpath depends on where the build is being >> run. (I.e. it depends on what version of Ant you're running, which >> extra JARs you've added, etcetera.) This means the build result will >> most likely be different on different machines. To guarantee a >> repeatable build, the build should set the classpath, not Ant. By >> adding includeantruntime="false" we say that *we* will take care of >> the classpath and that Ant should not just dump everything there. >> >> It's like saying "no" to global variables. :-) > > When was that attribute added? We still have people using ant 1.6.5, > so if older ants will fail we can't add that attribute.
In 1.8.0, it doesn't seem to affect older Ants (I just ran the build with 1.7.0). On a side note, I'm not clear why we can't mandate a particular Ant version. Ant 1.8.1 still works with JDK1.4 so no issues there. It's a best practice to provide the tools with the build where possible so we could even do that. Even if people would want to run an older Ant, they could still use GWT's Ant (whatever version it might be) for their GWT code (i.e. their Ant build could call a separate Ant build for the GWT parts). Why do we need to support older Ants? It's not like GWT works with JDK1.4. By the way, are you sure the build works with 1.6.5? I just tried it (without my changes) and I get Buildfile: build.xml BUILD FAILED java.lang.NoSuchFieldError: fFeatures at org.apache.xerces.parsers.XML11Configuration.<init>(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.<init>(Unknown Source) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at org.apache.xerces.parsers.ObjectFactory.newInstance(Unknown Source) at org.apache.xerces.parsers.ObjectFactory.findJarServiceProvider(Unknown Source) at org.apache.xerces.parsers.ObjectFactory.createObject(Unknown Source) at org.apache.xerces.parsers.ObjectFactory.createObject(Unknown Source) at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source) at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl.<init>(Unknown Source) at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser(Unknown Source) at org.apache.tools.ant.util.JAXPUtils.newSAXParser(JAXPUtils.java:205) at org.apache.tools.ant.util.JAXPUtils.getNamespaceXMLReader(JAXPUtils.java:163) at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:193) at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:140) at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:91) at org.apache.tools.ant.Main.runBuild(Main.java:653) at org.apache.tools.ant.Main.startAnt(Main.java:187) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67) Total time: 0 seconds java.lang.NoSuchFieldError: fFeatures at org.apache.xerces.parsers.XML11Configuration.<init>(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.<init>(Unknown Source) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at org.apache.xerces.parsers.ObjectFactory.newInstance(Unknown Source) at org.apache.xerces.parsers.ObjectFactory.findJarServiceProvider(Unknown Source) at org.apache.xerces.parsers.ObjectFactory.createObject(Unknown Source) at org.apache.xerces.parsers.ObjectFactory.createObject(Unknown Source) at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source) at org.apache.xerces.parsers.SAXParser.<init>(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl.<init>(Unknown Source) at org.apache.xerces.jaxp.SAXParserFactoryImpl.newSAXParser(Unknown Source) at org.apache.tools.ant.util.JAXPUtils.newSAXParser(JAXPUtils.java:205) at org.apache.tools.ant.util.JAXPUtils.getNamespaceXMLReader(JAXPUtils.java:163) at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:193) at org.apache.tools.ant.helper.ProjectHelper2.parse(ProjectHelper2.java:140) at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:91) at org.apache.tools.ant.Main.runBuild(Main.java:653) at org.apache.tools.ant.Main.startAnt(Main.java:187) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67) fFeatures -- http://groups.google.com/group/Google-Web-Toolkit-Contributors