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

Reply via email to