Converted all ant files to unix line endings.


git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@113 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/build-tools/build.xml b/build-tools/build.xml
index af2c8c0..7846150 100644
--- a/build-tools/build.xml
+++ b/build-tools/build.xml
@@ -1,36 +1,36 @@
-<project name="buildtools" default="build" basedir=".">

-	<property name="gwt.root" location=".." />

-	<property name="project.tail" value="build-tools" />

-	<import file="${gwt.root}/common.ant.xml" />

-

-	<!-- "build" is the default when subprojects are directly targetted -->

-	<property name="target" value="build" />

-

-	<target name="customchecks" description="Build the checkstyle extensions">

-		<gwt.ant dir="customchecks" />

-	</target>

-	

-	<target name="doctool" description="Build the doctool">

-		<gwt.ant dir="doctool" />

-	</target>

-

-	<target name="-do" depends="customchecks, doctool" description="Run all subprojects"/>

-	

-	<target name="build" description="Builds GWT">

-		<antcall target="-do">

-			<param name="target" value="build" />

-		</antcall>

-	</target>

-

-	<target name="checkstyle" depends="build" description="Static analysis of GWT source">

-		<antcall target="-do">

-			<param name="target" value="checkstyle" />

-		</antcall>

-	</target>

-

-	<target name="test" depends="build" description="Test GWT">

-		<antcall target="-do">

-			<param name="target" value="test" />

-		</antcall>

-	</target>

-</project>

+<project name="buildtools" default="build" basedir=".">
+	<property name="gwt.root" location=".." />
+	<property name="project.tail" value="build-tools" />
+	<import file="${gwt.root}/common.ant.xml" />
+
+	<!-- "build" is the default when subprojects are directly targetted -->
+	<property name="target" value="build" />
+
+	<target name="customchecks" description="Build the checkstyle extensions">
+		<gwt.ant dir="customchecks" />
+	</target>
+	
+	<target name="doctool" description="Build the doctool">
+		<gwt.ant dir="doctool" />
+	</target>
+
+	<target name="-do" depends="customchecks, doctool" description="Run all subprojects"/>
+	
+	<target name="build" description="Builds GWT">
+		<antcall target="-do">
+			<param name="target" value="build" />
+		</antcall>
+	</target>
+
+	<target name="checkstyle" depends="build" description="Static analysis of GWT source">
+		<antcall target="-do">
+			<param name="target" value="checkstyle" />
+		</antcall>
+	</target>
+
+	<target name="test" depends="build" description="Test GWT">
+		<antcall target="-do">
+			<param name="target" value="test" />
+		</antcall>
+	</target>
+</project>
diff --git a/build-tools/customchecks/build.xml b/build-tools/customchecks/build.xml
index 9452789..0e3a2f4 100644
--- a/build-tools/customchecks/build.xml
+++ b/build-tools/customchecks/build.xml
@@ -1,32 +1,32 @@
-<project name="customchecks" default="build" basedir=".">

-	<property name="gwt.root" location="../.." />

-	<property name="project.tail" value="build-tools/customchecks" />

-	<import file="${gwt.root}/common.ant.xml" />

-

-	<target name="compile" description="Compiles this project">

-		<mkdir dir="${javac.out}" />

-		<gwt.javac>

-			<classpath>

-				<pathelement location="${gwt.tools.antlib}/checkstyle-all-4.2.jar" />

-			</classpath>

-		</gwt.javac>

-	</target>

-

-	<target name="build" depends="compile" description="Packages this project into a jar">

-		<mkdir dir="${gwt.build.lib}" />

-		<gwt.jar>

-			<fileset dir="src" />

-			<fileset dir="${javac.out}" />

-		</gwt.jar>

-	</target>

-

-	<target name="checkstyle">

-		<!-- NOTE: This project doesn't have the checkstyle rule since it participates in bootstrapping. -->

-	</target>

-

-	<target name="clean" description="Cleans this project's intermediate and output files">

-		<delete dir="${project.build}" />

-		<delete file="${project.lib}" />

-	</target>

-

-</project>

+<project name="customchecks" default="build" basedir=".">
+	<property name="gwt.root" location="../.." />
+	<property name="project.tail" value="build-tools/customchecks" />
+	<import file="${gwt.root}/common.ant.xml" />
+
+	<target name="compile" description="Compiles this project">
+		<mkdir dir="${javac.out}" />
+		<gwt.javac>
+			<classpath>
+				<pathelement location="${gwt.tools.antlib}/checkstyle-all-4.2.jar" />
+			</classpath>
+		</gwt.javac>
+	</target>
+
+	<target name="build" depends="compile" description="Packages this project into a jar">
+		<mkdir dir="${gwt.build.lib}" />
+		<gwt.jar>
+			<fileset dir="src" />
+			<fileset dir="${javac.out}" />
+		</gwt.jar>
+	</target>
+
+	<target name="checkstyle">
+		<!-- NOTE: This project doesn't have the checkstyle rule since it participates in bootstrapping. -->
+	</target>
+
+	<target name="clean" description="Cleans this project's intermediate and output files">
+		<delete dir="${project.build}" />
+		<delete file="${project.lib}" />
+	</target>
+
+</project>
diff --git a/build-tools/doctool/build.xml b/build-tools/doctool/build.xml
index 53addd6..4de3d0d 100644
--- a/build-tools/doctool/build.xml
+++ b/build-tools/doctool/build.xml
@@ -1,34 +1,34 @@
-<project name="doctool" default="build" basedir=".">

-	<property name="gwt.root" location="../.." />

-	<property name="project.tail" value="build-tools/doctool" />

-	<import file="${gwt.root}/common.ant.xml" />

-

-	<target name="compile" description="Compiles this project">

-		<mkdir dir="${javac.out}" />

-		<gwt.javac>

-			<classpath>

-				<pathelement location="${gwt.tools.lib}/jdk/tools-1.4.2_09.jar" />

-			</classpath>

-		</gwt.javac>

-	</target>

-

-	<target name="build" depends="compile" description="Packages this project into a jar">

-		<mkdir dir="${gwt.build.lib}" />

-		<gwt.jar>

-			<fileset dir="src" />

-			<fileset dir="${javac.out}" />

-		</gwt.jar>

-	</target>

-

-	<target name="checkstyle" description="Static analysis of source">

-		<gwt.checkstyle>

-			<fileset dir="src" />

-		</gwt.checkstyle>

-	</target>

-

-	<target name="clean" description="Cleans this project's intermediate and output files">

-		<delete dir="${project.build}" />

-		<delete file="${project.lib}" />

-	</target>

-

-</project>

+<project name="doctool" default="build" basedir=".">
+	<property name="gwt.root" location="../.." />
+	<property name="project.tail" value="build-tools/doctool" />
+	<import file="${gwt.root}/common.ant.xml" />
+
+	<target name="compile" description="Compiles this project">
+		<mkdir dir="${javac.out}" />
+		<gwt.javac>
+			<classpath>
+				<pathelement location="${gwt.tools.lib}/jdk/tools-1.4.2_09.jar" />
+			</classpath>
+		</gwt.javac>
+	</target>
+
+	<target name="build" depends="compile" description="Packages this project into a jar">
+		<mkdir dir="${gwt.build.lib}" />
+		<gwt.jar>
+			<fileset dir="src" />
+			<fileset dir="${javac.out}" />
+		</gwt.jar>
+	</target>
+
+	<target name="checkstyle" description="Static analysis of source">
+		<gwt.checkstyle>
+			<fileset dir="src" />
+		</gwt.checkstyle>
+	</target>
+
+	<target name="clean" description="Cleans this project's intermediate and output files">
+		<delete dir="${project.build}" />
+		<delete file="${project.lib}" />
+	</target>
+
+</project>
diff --git a/build.xml b/build.xml
index 22cd27b..d00b037 100755
--- a/build.xml
+++ b/build.xml
@@ -1,64 +1,64 @@
-<project name="GWT" default="build" basedir=".">

-	<property name="gwt.root" location="." />

-	<property name="project.tail" value="" />

-	<import file="${gwt.root}/common.ant.xml" />

-

-	<!-- "build" is the default when subprojects are directly targetted -->

-	<property name="target" value="build" />

-

-	<target name="dist" depends="dev, user, servlet, jni, doc, samples" description="Run the distributions">

-		<gwt.ant dir="distro-source" />

-	</target>

-

-	<target name="dev" depends="buildtools" description="Run dev">

-		<gwt.ant dir="dev" />

-	</target>

-

-	<target name="user" depends="buildtools, dev" description="Run user">

-		<gwt.ant dir="user" />

-	</target>

-

-	<target name="servlet" depends="buildtools, user" description="Run servlet">

-		<gwt.ant dir="servlet" />

-	</target>

-

-	<target name="jni" description="Run jni">

-		<gwt.ant dir="jni" />

-	</target>

-

-	<target name="doc" depends="buildtools, user" description="Build doc">

-		<gwt.ant dir="doc" />

-	</target>

-

-	<target name="samples" depends="dev, user" description="Build samples">

-		<gwt.ant dir="samples" />

-	</target>

-

-	<target name="buildtools" description="Build the build tools">

-		<gwt.ant dir="build-tools" />

-	</target>

-

-	<target name="-do" depends="dist" description="Run all subprojects" />

-

-	<target name="build" description="Builds GWT">

-		<antcall target="-do">

-			<param name="target" value="build" />

-		</antcall>

-	</target>

-

-	<target name="checkstyle" description="Static analysis of GWT source">

-		<antcall target="-do">

-			<param name="target" value="checkstyle" />

-		</antcall>

-	</target>

-

-	<target name="test" depends="build" description="Test GWT">

-		<antcall target="-do">

-			<param name="target" value="test" />

-		</antcall>

-	</target>

-

-	<target name="clean" description="Cleans the entire GWT build">

-		<delete dir="${gwt.build}" />

-	</target>

-</project>

+<project name="GWT" default="build" basedir=".">
+	<property name="gwt.root" location="." />
+	<property name="project.tail" value="" />
+	<import file="${gwt.root}/common.ant.xml" />
+
+	<!-- "build" is the default when subprojects are directly targetted -->
+	<property name="target" value="build" />
+
+	<target name="dist" depends="dev, user, servlet, jni, doc, samples" description="Run the distributions">
+		<gwt.ant dir="distro-source" />
+	</target>
+
+	<target name="dev" depends="buildtools" description="Run dev">
+		<gwt.ant dir="dev" />
+	</target>
+
+	<target name="user" depends="buildtools, dev" description="Run user">
+		<gwt.ant dir="user" />
+	</target>
+
+	<target name="servlet" depends="buildtools, user" description="Run servlet">
+		<gwt.ant dir="servlet" />
+	</target>
+
+	<target name="jni" description="Run jni">
+		<gwt.ant dir="jni" />
+	</target>
+
+	<target name="doc" depends="buildtools, user" description="Build doc">
+		<gwt.ant dir="doc" />
+	</target>
+
+	<target name="samples" depends="dev, user" description="Build samples">
+		<gwt.ant dir="samples" />
+	</target>
+
+	<target name="buildtools" description="Build the build tools">
+		<gwt.ant dir="build-tools" />
+	</target>
+
+	<target name="-do" depends="dist" description="Run all subprojects" />
+
+	<target name="build" description="Builds GWT">
+		<antcall target="-do">
+			<param name="target" value="build" />
+		</antcall>
+	</target>
+
+	<target name="checkstyle" description="Static analysis of GWT source">
+		<antcall target="-do">
+			<param name="target" value="checkstyle" />
+		</antcall>
+	</target>
+
+	<target name="test" depends="build" description="Test GWT">
+		<antcall target="-do">
+			<param name="target" value="test" />
+		</antcall>
+	</target>
+
+	<target name="clean" description="Cleans the entire GWT build">
+		<delete dir="${gwt.build}" />
+	</target>
+</project>
diff --git a/common.ant.xml b/common.ant.xml
index a03ab26..20fec0b 100755
--- a/common.ant.xml
+++ b/common.ant.xml
@@ -1,9 +1,9 @@
-<project name="common">

-	<property name="test.ant.file" location="${gwt.root}/${project.tail}/build.xml" />

-	<condition property="project.valid">

-		<equals arg1="${ant.file}" arg2="${test.ant.file}" />

-	</condition>

-	<fail unless="project.valid" message="This build file is in an inconsistent state." />

+<project name="common">
+	<property name="test.ant.file" location="${gwt.root}/${project.tail}/build.xml" />
+	<condition property="project.valid">
+		<equals arg1="${ant.file}" arg2="${test.ant.file}" />
+	</condition>
+	<fail unless="project.valid" message="This build file is in an inconsistent state." />
 
 	<condition property="build.host.platform" value="linux">
 		<os family="unix" />
@@ -17,35 +17,35 @@
 		<os family="windows" />
 	</condition>
 	<fail unless="build.host.platform" message="Building on ${os.name} is not supported" />
-

-	<!-- Global Properties -->

-	<property environment="env" />

-	<condition property="gwt.version" value="${env.GWT_VERSION}" else="0.0.0">

-		<isset property="env.GWT_VERSION" />

-	</condition>

-	<condition property="gwt.tools.check" value="${env.GWT_TOOLS}" else="${gwt.root}/../tools">

-		<isset property="env.GWT_TOOLS" />

-	</condition>

-	<property name="gwt.tools" location="${gwt.tools.check}" />

-	<property name="gwt.tools.lib" location="${gwt.tools}/lib" />

-	<property name="gwt.tools.antlib" location="${gwt.tools}/antlib" />

-	<property name="gwt.tools.redist" location="${gwt.tools}/redist" />

-	<property name="gwt.build" location="${gwt.root}/build" />

-	<property name="gwt.build.out" location="${gwt.build}/out" />

-	<property name="gwt.build.lib" location="${gwt.build}/lib" />

-	<property name="gwt.build.jni" location="${gwt.build}/jni" />

-	<property name="gwt.build.staging" location="${gwt.build}/staging" />

-	<property name="gwt.build.dist" location="${gwt.build}/dist" />

-	<property name="project.build" location="${gwt.build.out}/${project.tail}" />

-	<property name="project.lib" location="${gwt.build.lib}/gwt-${ant.project.name}.jar" />

-	<property name="project.jni" location="${gwt.build}/${project.tail}" />

-	<property name="unjar.out" location="${project.build}/unjar" />

+
+	<!-- Global Properties -->
+	<property environment="env" />
+	<condition property="gwt.version" value="${env.GWT_VERSION}" else="0.0.0">
+		<isset property="env.GWT_VERSION" />
+	</condition>
+	<condition property="gwt.tools.check" value="${env.GWT_TOOLS}" else="${gwt.root}/../tools">
+		<isset property="env.GWT_TOOLS" />
+	</condition>
+	<property name="gwt.tools" location="${gwt.tools.check}" />
+	<property name="gwt.tools.lib" location="${gwt.tools}/lib" />
+	<property name="gwt.tools.antlib" location="${gwt.tools}/antlib" />
+	<property name="gwt.tools.redist" location="${gwt.tools}/redist" />
+	<property name="gwt.build" location="${gwt.root}/build" />
+	<property name="gwt.build.out" location="${gwt.build}/out" />
+	<property name="gwt.build.lib" location="${gwt.build}/lib" />
+	<property name="gwt.build.jni" location="${gwt.build}/jni" />
+	<property name="gwt.build.staging" location="${gwt.build}/staging" />
+	<property name="gwt.build.dist" location="${gwt.build}/dist" />
+	<property name="project.build" location="${gwt.build.out}/${project.tail}" />
+	<property name="project.lib" location="${gwt.build.lib}/gwt-${ant.project.name}.jar" />
+	<property name="project.jni" location="${gwt.build}/${project.tail}" />
+	<property name="unjar.out" location="${project.build}/unjar" />
 	<property name="javac.out" location="${project.build}/bin" />
-	<property name="javac.junit.out" location="${project.build}/bin-test" />

-	<property name="javac.debug" value="true" />

-	<property name="javac.debuglevel" value="lines,vars,source" />

-	<property name="javac.source" value="1.4" />

-	<property name="javac.nowarn" value="true" />

+	<property name="javac.junit.out" location="${project.build}/bin-test" />
+	<property name="javac.debug" value="true" />
+	<property name="javac.debuglevel" value="lines,vars,source" />
+	<property name="javac.source" value="1.4" />
+	<property name="javac.nowarn" value="true" />
 	<property name="junit.out" location="${project.build}/test" />
 
 	<property name="gwt.dev.staging.jar" location="${gwt.build.staging}/gwt-${build.host.platform}-${gwt.version}/gwt-dev-${build.host.platform}.jar" />
@@ -55,50 +55,50 @@
 		Comma delimited list of host and path components on which to run remote browser testing.
 	-->
 	<property name="gwt.remote.browsers" value="" />
-

-	<!-- Sanity check -->

-	<available file="${gwt.tools}" type="dir" property="gwt.tools.exists" />

-	<fail unless="gwt.tools.exists" message="Cannot find '${gwt.tools}' tools directory; perhaps you should define the GWT_TOOLS environment variable" />

 
-	<!-- Pulls in tasks defined in ant-contrib, i.e. foreach -->

+	<!-- Sanity check -->
+	<available file="${gwt.tools}" type="dir" property="gwt.tools.exists" />
+	<fail unless="gwt.tools.exists" message="Cannot find '${gwt.tools}' tools directory; perhaps you should define the GWT_TOOLS environment variable" />
+
+	<!-- Pulls in tasks defined in ant-contrib, i.e. foreach -->
 	<taskdef resource="net/sf/antcontrib/antlib.xml">
 		<classpath>
 			<pathelement location="${gwt.tools.antlib}/ant-contrib-1.0b3.jar" />
 		</classpath>
 	</taskdef>
-

-	<!-- Global Custom Tasks -->

-	<presetdef name="gwt.ant">

-		<ant inheritall="false" target="${target}">

-			<propertyset>

+
+	<!-- Global Custom Tasks -->
+	<presetdef name="gwt.ant">
+		<ant inheritall="false" target="${target}">
+			<propertyset>
 				<propertyref name="gwt.version" />
 				<propertyref name="gwt.junit.port" />
-				<propertyref name="gwt.remote.browsers" />

-			</propertyset>

-		</ant>

-	</presetdef>

-

-	<presetdef name="gwt.javac">

-		<javac srcdir="src" destdir="${javac.out}" classpath="${unjar.out}" debug="${javac.debug}" debuglevel="${javac.debuglevel}" source="${javac.source}" nowarn="${javac.nowarn}" />

-	</presetdef>

-

-	<presetdef name="gwt.jar">

-		<jar destfile="${project.lib}" update="true" duplicate="preserve" index="true" />

+				<propertyref name="gwt.remote.browsers" />
+			</propertyset>
+		</ant>
 	</presetdef>
-

+
+	<presetdef name="gwt.javac">
+		<javac srcdir="src" destdir="${javac.out}" classpath="${unjar.out}" debug="${javac.debug}" debuglevel="${javac.debuglevel}" source="${javac.source}" nowarn="${javac.nowarn}" />
+	</presetdef>
+
+	<presetdef name="gwt.jar">
+		<jar destfile="${project.lib}" update="true" duplicate="preserve" index="true" />
+	</presetdef>
+
 	<macrodef name="gwt.junit">
 		<attribute name="test.args" default="" />
 		<attribute name="test.out" default="" />
 		<attribute name="test.reports" default="@{test.out}/reports" />
 		<attribute name="test.cases" default="" />
 		<sequential>
-			<taskdef name="junit" classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask">

-				<classpath>

-					<pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />

-					<pathelement location="${gwt.tools.antlib}/ant-junit-1.6.5.jar" />

-				</classpath>

-			</taskdef>

-

+			<taskdef name="junit" classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask">
+				<classpath>
+					<pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
+					<pathelement location="${gwt.tools.antlib}/ant-junit-1.6.5.jar" />
+				</classpath>
+			</taskdef>
+
 			<echo message="Writing test results to @{test.reports} for @{test.cases}" />
 			<mkdir dir="@{test.reports}" />
 
@@ -126,76 +126,76 @@
 			</junit>
 		</sequential>
 	</macrodef>
-

-	<macrodef name="gwt.untar">

-		<attribute name="src" />

-		<attribute name="dest" />

-		<sequential>

-			<!-- GNU tar handles permissions and symlinks correctly -->

-			<exec executable="tar" failonerror="true">

-				<arg value="-xpzf" />

-				<arg file="@{src}" />

-				<arg value="-C" />

-				<arg file="@{dest}" />

-			</exec>

-		</sequential>

-	</macrodef>

-

-	<target name="antcall.unjar.maybe" unless="unjar.upToDate">

-		<mkdir dir="${unjar.out}" />

-		<unjar src="${unjar.path}" dest="${unjar.out}" overwrite="true" />

-		<touch file="${unjar.flagFile}" />

-	</target>

-

-	<target name="antcall.unjar">

-		<basename property="unjar.name" file="${unjar.path}" />

-		<property name="unjar.flagFile" value="${project.build}/${unjar.name}.unjar" />

-		<uptodate property="unjar.upToDate" srcfile="${unjar.path}" targetfile="${unjar.flagFile}" />

-		<antcall target="antcall.unjar.maybe" />

-	</target>

-

-	<macrodef name="gwt.unjar">

-		<attribute name="toollib" default="" />

-		<attribute name="path" default="${gwt.tools.lib}/@{toollib}" />

-		<sequential>

-			<antcall target="antcall.unjar">

-				<param name="unjar.path" value="@{path}" />

-			</antcall>

-		</sequential>

-	</macrodef>

-

-	<macrodef name="property.ensure">

-		<attribute name="name" />

+
+	<macrodef name="gwt.untar">
+		<attribute name="src" />
+		<attribute name="dest" />
+		<sequential>
+			<!-- GNU tar handles permissions and symlinks correctly -->
+			<exec executable="tar" failonerror="true">
+				<arg value="-xpzf" />
+				<arg file="@{src}" />
+				<arg value="-C" />
+				<arg file="@{dest}" />
+			</exec>
+		</sequential>
+	</macrodef>
+
+	<target name="antcall.unjar.maybe" unless="unjar.upToDate">
+		<mkdir dir="${unjar.out}" />
+		<unjar src="${unjar.path}" dest="${unjar.out}" overwrite="true" />
+		<touch file="${unjar.flagFile}" />
+	</target>
+
+	<target name="antcall.unjar">
+		<basename property="unjar.name" file="${unjar.path}" />
+		<property name="unjar.flagFile" value="${project.build}/${unjar.name}.unjar" />
+		<uptodate property="unjar.upToDate" srcfile="${unjar.path}" targetfile="${unjar.flagFile}" />
+		<antcall target="antcall.unjar.maybe" />
+	</target>
+
+	<macrodef name="gwt.unjar">
+		<attribute name="toollib" default="" />
+		<attribute name="path" default="${gwt.tools.lib}/@{toollib}" />
+		<sequential>
+			<antcall target="antcall.unjar">
+				<param name="unjar.path" value="@{path}" />
+			</antcall>
+		</sequential>
+	</macrodef>
+
+	<macrodef name="property.ensure">
+		<attribute name="name" />
 		<attribute name="location" />
-		<attribute name="message" default="Cannot find dependency ${@{name}}" />

-		<sequential>

-			<property name="@{name}" location="@{location}" />

-			<available file="${@{name}}" property="@{name}.exists" />

-			<fail unless="@{name}.exists" message="@{message}" />

-		</sequential>

-	</macrodef>

-

-	<macrodef name="gwt.checkstyle">

-		<element name="sourcepath" implicit="yes" optional="true" />

-		<sequential>

-			<taskdef resource="checkstyletask.properties" classpath="${gwt.tools.antlib}/checkstyle-all-4.2.jar;${gwt.build.lib}/gwt-customchecks.jar" />

-			<checkstyle config="${gwt.root}/eclipse/settings/code-style/gwt-checkstyle.xml" maxWarnings="0">

-				<property key="checkstyle.header.file" file="${gwt.root}/eclipse/settings/code-style/google.header" />

-				<sourcepath />

-			</checkstyle>

-		</sequential>

-	</macrodef>

-

-	<!-- Default implementations of the required targets; projects should

-	override the ones that matter -->

-	<target name="all" depends="verify" />

-	<target name="verify" depends="checkstyle, test" description="Verify this project" />

-	<target name="checkstyle" description="Static analysis of source" />

-	<target name="test" depends="build" description="Test this project" />

-	<target name="build" description="Build and (maybe) package this project" />

-

-	<target name="clean" description="Cleans this project's intermediate and output files">

-		<delete dir="${project.build}" />

-	</target>

-

-</project>

+		<attribute name="message" default="Cannot find dependency ${@{name}}" />
+		<sequential>
+			<property name="@{name}" location="@{location}" />
+			<available file="${@{name}}" property="@{name}.exists" />
+			<fail unless="@{name}.exists" message="@{message}" />
+		</sequential>
+	</macrodef>
+
+	<macrodef name="gwt.checkstyle">
+		<element name="sourcepath" implicit="yes" optional="true" />
+		<sequential>
+			<taskdef resource="checkstyletask.properties" classpath="${gwt.tools.antlib}/checkstyle-all-4.2.jar;${gwt.build.lib}/gwt-customchecks.jar" />
+			<checkstyle config="${gwt.root}/eclipse/settings/code-style/gwt-checkstyle.xml" maxWarnings="0">
+				<property key="checkstyle.header.file" file="${gwt.root}/eclipse/settings/code-style/google.header" />
+				<sourcepath />
+			</checkstyle>
+		</sequential>
+	</macrodef>
+
+	<!-- Default implementations of the required targets; projects should
+	override the ones that matter -->
+	<target name="all" depends="verify" />
+	<target name="verify" depends="checkstyle, test" description="Verify this project" />
+	<target name="checkstyle" description="Static analysis of source" />
+	<target name="test" depends="build" description="Test this project" />
+	<target name="build" description="Build and (maybe) package this project" />
+
+	<target name="clean" description="Cleans this project's intermediate and output files">
+		<delete dir="${project.build}" />
+	</target>
+
+</project>
diff --git a/dev/build.xml b/dev/build.xml
index 7493c64..3f4eea8 100755
--- a/dev/build.xml
+++ b/dev/build.xml
@@ -1,12 +1,12 @@
-<project name="dev" default="build" basedir=".">

-	<property name="gwt.root" location=".." />

-	<property name="project.tail" value="dev" />

-	<import file="${gwt.root}/platforms.ant.xml" />

-

-	<target name="clean" description="Cleans this project's intermediate and output files">

-		<delete dir="${project.build}" failonerror="false" />

-		<delete failonerror="false">

-			<fileset dir="${gwt.build.lib}"  includes="gwt-dev-*.jar"/>

-		</delete>

-	</target>

-</project>

+<project name="dev" default="build" basedir=".">
+	<property name="gwt.root" location=".." />
+	<property name="project.tail" value="dev" />
+	<import file="${gwt.root}/platforms.ant.xml" />
+
+	<target name="clean" description="Cleans this project's intermediate and output files">
+		<delete dir="${project.build}" failonerror="false" />
+		<delete failonerror="false">
+			<fileset dir="${gwt.build.lib}"  includes="gwt-dev-*.jar"/>
+		</delete>
+	</target>
+</project>
diff --git a/dev/common.ant.xml b/dev/common.ant.xml
index e8ceb46..1e131f7 100755
--- a/dev/common.ant.xml
+++ b/dev/common.ant.xml
@@ -1,43 +1,43 @@
-<project name="dev-common">

-	<property name="gwt.root" location="../.." />

-	<import file="${gwt.root}/common.ant.xml" />

-

-	<property.ensure name="gwt.core.root" location="../core" />

-	<property.ensure name="gwt.core.build" location="${project.build}/../core" />

-

-	<target name="unjar.deps" description="Unzips all dependency jars into the output folder">

-		<gwt.unjar toollib="eclipse/${gwt.dev.swt.jar}" />

-	</target>

-

-	<target name="compile" depends="unjar.deps" description="Compile all java files">

-		<mkdir dir="${javac.out}" />

-		<gwt.javac>

-			<classpath>

-				<pathelement location="${gwt.core.build}/bin" />

-				<pathelement location="${gwt.core.build}/unjar" />

-			</classpath>

-		</gwt.javac>

-	</target>

-

-	<target name="build" depends="compile" description="Build and package this project">

-		<mkdir dir="${gwt.build.lib}" />

-		<gwt.jar>

-			<fileset dir="src" />

-			<fileset dir="${gwt.core.root}/src" />

-			<fileset dir="${gwt.core.root}/super" />

-			<fileset dir="${javac.out}" />

-			<fileset dir="${gwt.core.build}/bin" />

-			<fileset dir="${unjar.out}" />

-			<fileset dir="${gwt.core.build}/unjar" />

-			<manifest>

-				<attribute name="Main-Class" value="com.google.gwt.dev.GWTMain" />

-			</manifest>

-		</gwt.jar>

-	</target>

-

-	<target name="clean" description="Cleans this project's intermediate and output files">

-		<delete dir="${project.build}" failonerror="false" />

-		<delete file="${project.lib}" failonerror="false" />

-	</target>

-

-</project>

+<project name="dev-common">
+	<property name="gwt.root" location="../.." />
+	<import file="${gwt.root}/common.ant.xml" />
+
+	<property.ensure name="gwt.core.root" location="../core" />
+	<property.ensure name="gwt.core.build" location="${project.build}/../core" />
+
+	<target name="unjar.deps" description="Unzips all dependency jars into the output folder">
+		<gwt.unjar toollib="eclipse/${gwt.dev.swt.jar}" />
+	</target>
+
+	<target name="compile" depends="unjar.deps" description="Compile all java files">
+		<mkdir dir="${javac.out}" />
+		<gwt.javac>
+			<classpath>
+				<pathelement location="${gwt.core.build}/bin" />
+				<pathelement location="${gwt.core.build}/unjar" />
+			</classpath>
+		</gwt.javac>
+	</target>
+
+	<target name="build" depends="compile" description="Build and package this project">
+		<mkdir dir="${gwt.build.lib}" />
+		<gwt.jar>
+			<fileset dir="src" />
+			<fileset dir="${gwt.core.root}/src" />
+			<fileset dir="${gwt.core.root}/super" />
+			<fileset dir="${javac.out}" />
+			<fileset dir="${gwt.core.build}/bin" />
+			<fileset dir="${unjar.out}" />
+			<fileset dir="${gwt.core.build}/unjar" />
+			<manifest>
+				<attribute name="Main-Class" value="com.google.gwt.dev.GWTMain" />
+			</manifest>
+		</gwt.jar>
+	</target>
+
+	<target name="clean" description="Cleans this project's intermediate and output files">
+		<delete dir="${project.build}" failonerror="false" />
+		<delete file="${project.lib}" failonerror="false" />
+	</target>
+
+</project>
diff --git a/dev/core/build.xml b/dev/core/build.xml
index f877384..d2c8d1e 100755
--- a/dev/core/build.xml
+++ b/dev/core/build.xml
@@ -1,109 +1,109 @@
-<project name="dev-core" default="build" basedir=".">

-	<property name="gwt.root" location="../.." />

-	<property name="project.tail" value="dev/core" />

-	<import file="${gwt.root}/common.ant.xml" />

-

-	<target name="unjar.deps" description="Unzips all dependency jars into the output folder">

-		<gwt.unjar toollib="apache/tapestry-util-text-4.0.2.jar" />

-		<gwt.unjar toollib="eclipse/jdt-3.1.1.jar" />

-		<gwt.unjar toollib="junit/junit-3.8.1.jar" />

-		<gwt.unjar toollib="apache/ant-1.6.1.jar" />

-		<gwt.unjar toollib="tomcat/ant-launcher-1.6.5.jar" />

-		<gwt.unjar toollib="tomcat/catalina-1.0.jar" />

-		<gwt.unjar toollib="tomcat/catalina-optional-1.0.jar" />

-		<gwt.unjar toollib="tomcat/commons-beanutils-1.6.jar" />

-		<gwt.unjar toollib="tomcat/commons-collections-3.1.jar" />

-		<gwt.unjar toollib="tomcat/commons-digester-1.5.jar" />

-		<gwt.unjar toollib="tomcat/commons-el-1.0.jar" />

-		<gwt.unjar toollib="tomcat/commons-logging-1.0.jar" />

-		<gwt.unjar toollib="tomcat/commons-modeler-1.1.jar" />

-		<gwt.unjar toollib="tomcat/jakarta-regexp-1.3.jar" />

-		<gwt.unjar toollib="tomcat/jasper-compiler-1.0.jar" />

-		<gwt.unjar toollib="tomcat/jasper-runtime-1.0.jar" />

-		<gwt.unjar toollib="tomcat/jsp-api-2.0.jar" />

-		<gwt.unjar toollib="tomcat/mx4j-jmx-1.1.jar" />

-		<gwt.unjar toollib="tomcat/naming-common-1.0.jar" />

-		<gwt.unjar toollib="tomcat/naming-factory-1.0.jar" />

-		<gwt.unjar toollib="tomcat/naming-java-1.0.jar" />

-		<gwt.unjar toollib="tomcat/naming-resources-1.0.jar" />

-		<gwt.unjar toollib="tomcat/servlet-api-2.4.jar" />

-		<gwt.unjar toollib="tomcat/servlets-common-1.0.jar" />

-		<gwt.unjar toollib="tomcat/servlets-default-1.0.jar" />

-		<gwt.unjar toollib="tomcat/servlets-invoker-1.0.jar" />

-		<gwt.unjar toollib="tomcat/tomcat-coyote-1.0.jar" />

-		<gwt.unjar toollib="tomcat/tomcat-http11-1.0.jar" />

-		<gwt.unjar toollib="tomcat/tomcat-jk2-2.1.jar" />

-		<gwt.unjar toollib="tomcat/tomcat-util-5.1.jar" />

-		<gwt.unjar toollib="xerces/xerces-2.0.2.jar" />

-		<gwt.unjar toollib="xerces/xml-apis-2.0.2.jar" />

-	</target>

-

-	<property name="filter.pattern" value="com/google/gwt/dev/About.java" />

-

-	<target name="-filter.src" description="Creates filtered copies of source files" unless="filter.uptodate">

-		<delete dir="${src.filtered}" failonerror="false" />

-		<mkdir dir="${src.filtered}" />

-		<copy todir="${src.filtered}" overwrite="true">

-			<fileset dir="src" includes="${filter.pattern}" />

-			<filterset>

-				<filter token="GWT_VERSION" value="${gwt.version}" />

-			</filterset>

-		</copy>

-		<touch file="${src.filtered}/gwt.version-${gwt.version}" />

-	</target>

-

-	<target name="build" depends="unjar.deps" description="Compiles this project">

-		<!--

-		There are classes missing from dev/core that are necessary

-		to compile the rest of dev/core (e.g. BootStrapPlatform); these are

-		provided by each platform implementation, but in order to compile the

-		core standalone, we need a dummy version of the class to build against.

-		-->

-		<property name="javac.out-dummy" location="${project.build}/bin-dummy" />

-		<mkdir dir="${javac.out-dummy}" />

-		<gwt.javac srcdir="src-dummy" destdir="${javac.out-dummy}" />

-

-		<!-- Files with hardcoded version information must be filtered -->

-		<property name="src.filtered" location="${project.build}/src-filtered" />

-		<condition property="filter.uptodate">

-			<and>

-				<available file="${src.filtered}/gwt.version-${gwt.version}" />

-				<uptodate>

-					<srcfiles dir="src" includes="${filter.pattern}"/>

-					<globmapper from="*" to="${src.filtered}/*"/>

-				</uptodate>

-			</and>

-		</condition>

-		<antcall target="-filter.src" />

-

-		<mkdir dir="${javac.out}" />

-		<gwt.javac srcdir="${src.filtered}" />

-		<gwt.javac srcdir="src" excludes="${filter.pattern}">

-			<classpath>

-				<pathelement location="${javac.out-dummy}" />

-				<pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />

-				<!-- Must build against a version of SWT; just pick one -->

-				<pathelement location="${gwt.tools.lib}/eclipse/org.eclipse.swt.gtk-linux-3.2.1.jar" />

-			</classpath>

-		</gwt.javac>

-	</target>

-

-	<target name="checkstyle" description="Static analysis of source">

-		<gwt.checkstyle>

-			<fileset dir="src">

-				<filename name="com/google/gwt/dev/js/rhino/**/*.java" negate="yes" />

-				<filename name="org/eclipse/**/*.java" negate="yes" />

-				<filename name="org/apache/**/*.java" negate="yes" />

-			</fileset>

-		</gwt.checkstyle>

-

-		<gwt.checkstyle>

-			<fileset dir="super/com/google/gwt/dev/jjs/intrinsic" />

-		</gwt.checkstyle>

-	</target>

-

-	<target name="clean" description="Cleans this project's intermediate and output files">

-		<delete dir="${project.build}" />

-		<delete file="${project.lib}" />

-	</target>

-</project>

+<project name="dev-core" default="build" basedir=".">
+	<property name="gwt.root" location="../.." />
+	<property name="project.tail" value="dev/core" />
+	<import file="${gwt.root}/common.ant.xml" />
+
+	<target name="unjar.deps" description="Unzips all dependency jars into the output folder">
+		<gwt.unjar toollib="apache/tapestry-util-text-4.0.2.jar" />
+		<gwt.unjar toollib="eclipse/jdt-3.1.1.jar" />
+		<gwt.unjar toollib="junit/junit-3.8.1.jar" />
+		<gwt.unjar toollib="apache/ant-1.6.1.jar" />
+		<gwt.unjar toollib="tomcat/ant-launcher-1.6.5.jar" />
+		<gwt.unjar toollib="tomcat/catalina-1.0.jar" />
+		<gwt.unjar toollib="tomcat/catalina-optional-1.0.jar" />
+		<gwt.unjar toollib="tomcat/commons-beanutils-1.6.jar" />
+		<gwt.unjar toollib="tomcat/commons-collections-3.1.jar" />
+		<gwt.unjar toollib="tomcat/commons-digester-1.5.jar" />
+		<gwt.unjar toollib="tomcat/commons-el-1.0.jar" />
+		<gwt.unjar toollib="tomcat/commons-logging-1.0.jar" />
+		<gwt.unjar toollib="tomcat/commons-modeler-1.1.jar" />
+		<gwt.unjar toollib="tomcat/jakarta-regexp-1.3.jar" />
+		<gwt.unjar toollib="tomcat/jasper-compiler-1.0.jar" />
+		<gwt.unjar toollib="tomcat/jasper-runtime-1.0.jar" />
+		<gwt.unjar toollib="tomcat/jsp-api-2.0.jar" />
+		<gwt.unjar toollib="tomcat/mx4j-jmx-1.1.jar" />
+		<gwt.unjar toollib="tomcat/naming-common-1.0.jar" />
+		<gwt.unjar toollib="tomcat/naming-factory-1.0.jar" />
+		<gwt.unjar toollib="tomcat/naming-java-1.0.jar" />
+		<gwt.unjar toollib="tomcat/naming-resources-1.0.jar" />
+		<gwt.unjar toollib="tomcat/servlet-api-2.4.jar" />
+		<gwt.unjar toollib="tomcat/servlets-common-1.0.jar" />
+		<gwt.unjar toollib="tomcat/servlets-default-1.0.jar" />
+		<gwt.unjar toollib="tomcat/servlets-invoker-1.0.jar" />
+		<gwt.unjar toollib="tomcat/tomcat-coyote-1.0.jar" />
+		<gwt.unjar toollib="tomcat/tomcat-http11-1.0.jar" />
+		<gwt.unjar toollib="tomcat/tomcat-jk2-2.1.jar" />
+		<gwt.unjar toollib="tomcat/tomcat-util-5.1.jar" />
+		<gwt.unjar toollib="xerces/xerces-2.0.2.jar" />
+		<gwt.unjar toollib="xerces/xml-apis-2.0.2.jar" />
+	</target>
+
+	<property name="filter.pattern" value="com/google/gwt/dev/About.java" />
+
+	<target name="-filter.src" description="Creates filtered copies of source files" unless="filter.uptodate">
+		<delete dir="${src.filtered}" failonerror="false" />
+		<mkdir dir="${src.filtered}" />
+		<copy todir="${src.filtered}" overwrite="true">
+			<fileset dir="src" includes="${filter.pattern}" />
+			<filterset>
+				<filter token="GWT_VERSION" value="${gwt.version}" />
+			</filterset>
+		</copy>
+		<touch file="${src.filtered}/gwt.version-${gwt.version}" />
+	</target>
+
+	<target name="build" depends="unjar.deps" description="Compiles this project">
+		<!--
+		There are classes missing from dev/core that are necessary
+		to compile the rest of dev/core (e.g. BootStrapPlatform); these are
+		provided by each platform implementation, but in order to compile the
+		core standalone, we need a dummy version of the class to build against.
+		-->
+		<property name="javac.out-dummy" location="${project.build}/bin-dummy" />
+		<mkdir dir="${javac.out-dummy}" />
+		<gwt.javac srcdir="src-dummy" destdir="${javac.out-dummy}" />
+
+		<!-- Files with hardcoded version information must be filtered -->
+		<property name="src.filtered" location="${project.build}/src-filtered" />
+		<condition property="filter.uptodate">
+			<and>
+				<available file="${src.filtered}/gwt.version-${gwt.version}" />
+				<uptodate>
+					<srcfiles dir="src" includes="${filter.pattern}"/>
+					<globmapper from="*" to="${src.filtered}/*"/>
+				</uptodate>
+			</and>
+		</condition>
+		<antcall target="-filter.src" />
+
+		<mkdir dir="${javac.out}" />
+		<gwt.javac srcdir="${src.filtered}" />
+		<gwt.javac srcdir="src" excludes="${filter.pattern}">
+			<classpath>
+				<pathelement location="${javac.out-dummy}" />
+				<pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
+				<!-- Must build against a version of SWT; just pick one -->
+				<pathelement location="${gwt.tools.lib}/eclipse/org.eclipse.swt.gtk-linux-3.2.1.jar" />
+			</classpath>
+		</gwt.javac>
+	</target>
+
+	<target name="checkstyle" description="Static analysis of source">
+		<gwt.checkstyle>
+			<fileset dir="src">
+				<filename name="com/google/gwt/dev/js/rhino/**/*.java" negate="yes" />
+				<filename name="org/eclipse/**/*.java" negate="yes" />
+				<filename name="org/apache/**/*.java" negate="yes" />
+			</fileset>
+		</gwt.checkstyle>
+
+		<gwt.checkstyle>
+			<fileset dir="super/com/google/gwt/dev/jjs/intrinsic" />
+		</gwt.checkstyle>
+	</target>
+
+	<target name="clean" description="Cleans this project's intermediate and output files">
+		<delete dir="${project.build}" />
+		<delete file="${project.lib}" />
+	</target>
+</project>
diff --git a/dev/linux/build.xml b/dev/linux/build.xml
index 6d68ba7..4d18953 100755
--- a/dev/linux/build.xml
+++ b/dev/linux/build.xml
@@ -1,5 +1,5 @@
-<project name="dev-linux" default="build" basedir=".">

-	<property name="project.tail" value="dev/linux" />

-	<property name="gwt.dev.swt.jar" value="org.eclipse.swt.gtk-linux-3.2.1.jar"/>

-	<import file="../common.ant.xml" />

-</project>

+<project name="dev-linux" default="build" basedir=".">
+	<property name="project.tail" value="dev/linux" />
+	<property name="gwt.dev.swt.jar" value="org.eclipse.swt.gtk-linux-3.2.1.jar"/>
+	<import file="../common.ant.xml" />
+</project>
diff --git a/dev/mac/build.xml b/dev/mac/build.xml
index 20e2930..fb66cb1 100755
--- a/dev/mac/build.xml
+++ b/dev/mac/build.xml
@@ -1,5 +1,5 @@
-<project name="dev-mac" default="build" basedir=".">

-	<property name="project.tail" value="dev/mac" />

-	<property name="gwt.dev.swt.jar" value="org.eclipse.swt.carbon-macosx-3.2.1.jar"/>

-	<import file="../common.ant.xml" />

-</project>

+<project name="dev-mac" default="build" basedir=".">
+	<property name="project.tail" value="dev/mac" />
+	<property name="gwt.dev.swt.jar" value="org.eclipse.swt.carbon-macosx-3.2.1.jar"/>
+	<import file="../common.ant.xml" />
+</project>
diff --git a/distro-source/build.xml b/distro-source/build.xml
index bfc6d13..62604a5 100755
--- a/distro-source/build.xml
+++ b/distro-source/build.xml
@@ -1,10 +1,10 @@
-<project name="dist" default="build" basedir=".">

-	<property name="gwt.root" location=".." />

-	<property name="project.tail" value="distro-source" />

-	<import file="${gwt.root}/platforms.ant.xml" />

-

-	<target name="clean" description="Cleans this project's intermediate and output files">

-		<delete dir="${gwt.build.dist}" failonerror="false" />

-		<delete dir="${gwt.build.staging}" failonerror="false" />

-	</target>

-</project>

+<project name="dist" default="build" basedir=".">
+	<property name="gwt.root" location=".." />
+	<property name="project.tail" value="distro-source" />
+	<import file="${gwt.root}/platforms.ant.xml" />
+
+	<target name="clean" description="Cleans this project's intermediate and output files">
+		<delete dir="${gwt.build.dist}" failonerror="false" />
+		<delete dir="${gwt.build.staging}" failonerror="false" />
+	</target>
+</project>
diff --git a/distro-source/common.ant.xml b/distro-source/common.ant.xml
index 4c0c54a..5f344c9 100755
--- a/distro-source/common.ant.xml
+++ b/distro-source/common.ant.xml
@@ -1,88 +1,88 @@
-<project name="dist-common">

-	<property name="gwt.root" location="../.." />

-	<property name="project.tail" value="distro-source/${dist.platform}" />

-	<import file="${gwt.root}/common.ant.xml" />

-

-	<property name="project.distname" value="gwt-${dist.platform}-${gwt.version}" />

-	<property name="project.staging" location="${gwt.build.staging}/${project.distname}" />

-

-	<!-- copies a single sample into the staging directory -->

-	<macrodef name="stage.sample">

-		<attribute name="lname" />

-		<attribute name="uname" />

-		<sequential>

-			<mkdir dir="${project.staging}/samples/@{uname}" />

-			<copy todir="${project.staging}/samples/@{uname}">

-				<fileset dir="${gwt.root}/samples/@{lname}">

-					<include name="src/**" />

-				</fileset>

-				<fileset dir="${gwt.build.out}/samples/@{lname}">

-					<include name="bin/**" />

-					<include name="www/**" />

-				</fileset>

-				<fileset dir="${gwt.build.out}/samples/@{lname}/scripts/${dist.platform}">

-					<include name="*" />

-				</fileset>

-			</copy>

-			<chmod perm="a+x">

-				<fileset dir="${project.staging}/samples/@{uname}">

-					<include name="@{uname}-compile*" />

-					<include name="@{uname}-shell*" />

-				</fileset>

-			</chmod>

-		</sequential>

-	</macrodef>

-

-	<target name="stage" description="Copies items into the staging area">

-		<mkdir dir="${project.staging}" />

-

-		<copy todir="${project.staging}">

-			<fileset file="${gwt.build.lib}/gwt-dev-${dist.platform}.jar" />

-			<fileset file="${gwt.build.lib}/gwt-user.jar" />

-			<fileset file="${gwt.build.lib}/gwt-servlet.jar" />

-			<fileset dir="${gwt.build.jni}/${dist.platform}" />

-			<fileset dir="src" />

-		</copy>

-

-		<mkdir dir="${project.staging}/doc" />

-		<copy todir="${project.staging}/doc">

-			<fileset dir="${gwt.build.out}/doc">

-				<include name="html/**" />

-				<include name="css/**" />

-				<include name="javadoc/**" />

-			</fileset>

-		</copy>

-

-		<copy todir="${project.staging}">

-			<fileset dir="../core/src" />

-			<filterset>

-				<filter token="GWT_VERSION" value="${gwt.version}" />

-			</filterset>

-		</copy>

-

-		<stage.sample lname="dynatable" uname="DynaTable" />

-		<stage.sample lname="hello" uname="Hello" />

-		<stage.sample lname="i18n" uname="I18N" />

-		<stage.sample lname="json" uname="JSON" />

-		<stage.sample lname="kitchensink" uname="KitchenSink" />

-		<stage.sample lname="mail" uname="Mail" />

-		<stage.sample lname="simplexml" uname="SimpleXML" />

-

-		<antcall target="stage.platform" />

-		<chmod perm="a+r">

-			<dirset dir="${project.staging}" />

-			<fileset dir="${project.staging}" />

-		</chmod>

-		<chmod perm="a+x">

-			<dirset dir="${project.staging}" />

-			<fileset dir="${project.staging}">

-				<include name="*Creator*" />

-			</fileset>

-		</chmod>

-	</target>

-

-	<target name="clean" description="Cleans this project's intermediate and output files">

-		<delete dir="${project.staging}" failonerror="false" />

-		<delete file="${project.dist}" failonerror="false" />

-	</target>

-</project>

+<project name="dist-common">
+	<property name="gwt.root" location="../.." />
+	<property name="project.tail" value="distro-source/${dist.platform}" />
+	<import file="${gwt.root}/common.ant.xml" />
+
+	<property name="project.distname" value="gwt-${dist.platform}-${gwt.version}" />
+	<property name="project.staging" location="${gwt.build.staging}/${project.distname}" />
+
+	<!-- copies a single sample into the staging directory -->
+	<macrodef name="stage.sample">
+		<attribute name="lname" />
+		<attribute name="uname" />
+		<sequential>
+			<mkdir dir="${project.staging}/samples/@{uname}" />
+			<copy todir="${project.staging}/samples/@{uname}">
+				<fileset dir="${gwt.root}/samples/@{lname}">
+					<include name="src/**" />
+				</fileset>
+				<fileset dir="${gwt.build.out}/samples/@{lname}">
+					<include name="bin/**" />
+					<include name="www/**" />
+				</fileset>
+				<fileset dir="${gwt.build.out}/samples/@{lname}/scripts/${dist.platform}">
+					<include name="*" />
+				</fileset>
+			</copy>
+			<chmod perm="a+x">
+				<fileset dir="${project.staging}/samples/@{uname}">
+					<include name="@{uname}-compile*" />
+					<include name="@{uname}-shell*" />
+				</fileset>
+			</chmod>
+		</sequential>
+	</macrodef>
+
+	<target name="stage" description="Copies items into the staging area">
+		<mkdir dir="${project.staging}" />
+
+		<copy todir="${project.staging}">
+			<fileset file="${gwt.build.lib}/gwt-dev-${dist.platform}.jar" />
+			<fileset file="${gwt.build.lib}/gwt-user.jar" />
+			<fileset file="${gwt.build.lib}/gwt-servlet.jar" />
+			<fileset dir="${gwt.build.jni}/${dist.platform}" />
+			<fileset dir="src" />
+		</copy>
+
+		<mkdir dir="${project.staging}/doc" />
+		<copy todir="${project.staging}/doc">
+			<fileset dir="${gwt.build.out}/doc">
+				<include name="html/**" />
+				<include name="css/**" />
+				<include name="javadoc/**" />
+			</fileset>
+		</copy>
+
+		<copy todir="${project.staging}">
+			<fileset dir="../core/src" />
+			<filterset>
+				<filter token="GWT_VERSION" value="${gwt.version}" />
+			</filterset>
+		</copy>
+
+		<stage.sample lname="dynatable" uname="DynaTable" />
+		<stage.sample lname="hello" uname="Hello" />
+		<stage.sample lname="i18n" uname="I18N" />
+		<stage.sample lname="json" uname="JSON" />
+		<stage.sample lname="kitchensink" uname="KitchenSink" />
+		<stage.sample lname="mail" uname="Mail" />
+		<stage.sample lname="simplexml" uname="SimpleXML" />
+
+		<antcall target="stage.platform" />
+		<chmod perm="a+r">
+			<dirset dir="${project.staging}" />
+			<fileset dir="${project.staging}" />
+		</chmod>
+		<chmod perm="a+x">
+			<dirset dir="${project.staging}" />
+			<fileset dir="${project.staging}">
+				<include name="*Creator*" />
+			</fileset>
+		</chmod>
+	</target>
+
+	<target name="clean" description="Cleans this project's intermediate and output files">
+		<delete dir="${project.staging}" failonerror="false" />
+		<delete file="${project.dist}" failonerror="false" />
+	</target>
+</project>
diff --git a/distro-source/linux/build.xml b/distro-source/linux/build.xml
index 62523d7..cefc2cb 100755
--- a/distro-source/linux/build.xml
+++ b/distro-source/linux/build.xml
@@ -1,26 +1,26 @@
-<project name="dist-linux" default="build" basedir=".">

-	<property name="dist.platform" value="linux" />

-	<import file="../common.ant.xml" />

-	<property name="project.dist" location="${gwt.build.dist}/${project.distname}.tar.gz" />

-

-	<target name="stage.platform" description="Copies platform-specific items into the staging area">

-		<gwt.untar src="${gwt.tools.redist}/mozilla/mozilla-1.7.12.tar.gz" dest="${project.staging}" />

-		<copy todir="${project.staging}">

-			<fileset dir="${gwt.tools.lib}/eclipse">

-				<include name="libswt-*gtk-3235.so" />

-			</fileset>

-		</copy>

-	</target>

-

-	<target name="build" depends="stage" description="Packages the distro staging area">

-		<mkdir dir="${gwt.build.dist}" />

-		<!-- GNU tar handles permissions and symlinks correctly -->

-		<exec executable="tar" failonerror="true">

-			<arg value="-cpzf" />

-			<arg value="${project.dist}" />

-			<arg value="-C" />

-			<arg file="${gwt.build.staging}" />

-			<arg value="${project.distname}" />

-		</exec>

-	</target>

-</project>

+<project name="dist-linux" default="build" basedir=".">
+	<property name="dist.platform" value="linux" />
+	<import file="../common.ant.xml" />
+	<property name="project.dist" location="${gwt.build.dist}/${project.distname}.tar.gz" />
+
+	<target name="stage.platform" description="Copies platform-specific items into the staging area">
+		<gwt.untar src="${gwt.tools.redist}/mozilla/mozilla-1.7.12.tar.gz" dest="${project.staging}" />
+		<copy todir="${project.staging}">
+			<fileset dir="${gwt.tools.lib}/eclipse">
+				<include name="libswt-*gtk-3235.so" />
+			</fileset>
+		</copy>
+	</target>
+
+	<target name="build" depends="stage" description="Packages the distro staging area">
+		<mkdir dir="${gwt.build.dist}" />
+		<!-- GNU tar handles permissions and symlinks correctly -->
+		<exec executable="tar" failonerror="true">
+			<arg value="-cpzf" />
+			<arg value="${project.dist}" />
+			<arg value="-C" />
+			<arg file="${gwt.build.staging}" />
+			<arg value="${project.distname}" />
+		</exec>
+	</target>
+</project>
diff --git a/distro-source/mac/build.xml b/distro-source/mac/build.xml
index 07e8b96..4c9d901 100755
--- a/distro-source/mac/build.xml
+++ b/distro-source/mac/build.xml
@@ -1,28 +1,28 @@
-<project name="dist-mac" default="build" basedir=".">

-	<property name="dist.platform" value="mac" />

-	<import file="../common.ant.xml" />

-	<property name="project.dist" location="${gwt.build.dist}/${project.distname}.tar.gz" />

-

-	<target name="stage.platform" description="Copies platform-specific items into the staging area">

-		<gwt.untar src="${gwt.tools.redist}/webkit/WebKit-418.9.tar.gz" dest="${project.staging}" />

-		<copy todir="${project.staging}">

-			<fileset dir="${gwt.tools.lib}/eclipse">

-				<include name="libswt-*carbon-3235.jnilib" />

-				<!-- User our modified version instead of this stock version -->

-				<exclude name="libswt-webkit-carbon-3235.jnilib" />

-			</fileset>

-		</copy>

-	</target>

-

-	<target name="build" depends="stage" description="Packages the distro staging area">

-		<mkdir dir="${gwt.build.dist}" />

-		<!-- GNU tar handles permissions and symlinks correctly -->

-		<exec executable="tar" failonerror="true">

-			<arg value="-cpzf" />

-			<arg value="${project.dist}" />

-			<arg value="-C" />

-			<arg file="${gwt.build.staging}" />

-			<arg value="${project.distname}" />

-		</exec>

-	</target>

-</project>

+<project name="dist-mac" default="build" basedir=".">
+	<property name="dist.platform" value="mac" />
+	<import file="../common.ant.xml" />
+	<property name="project.dist" location="${gwt.build.dist}/${project.distname}.tar.gz" />
+
+	<target name="stage.platform" description="Copies platform-specific items into the staging area">
+		<gwt.untar src="${gwt.tools.redist}/webkit/WebKit-418.9.tar.gz" dest="${project.staging}" />
+		<copy todir="${project.staging}">
+			<fileset dir="${gwt.tools.lib}/eclipse">
+				<include name="libswt-*carbon-3235.jnilib" />
+				<!-- User our modified version instead of this stock version -->
+				<exclude name="libswt-webkit-carbon-3235.jnilib" />
+			</fileset>
+		</copy>
+	</target>
+
+	<target name="build" depends="stage" description="Packages the distro staging area">
+		<mkdir dir="${gwt.build.dist}" />
+		<!-- GNU tar handles permissions and symlinks correctly -->
+		<exec executable="tar" failonerror="true">
+			<arg value="-cpzf" />
+			<arg value="${project.dist}" />
+			<arg value="-C" />
+			<arg file="${gwt.build.staging}" />
+			<arg value="${project.distname}" />
+		</exec>
+	</target>
+</project>
diff --git a/distro-source/windows/build.xml b/distro-source/windows/build.xml
index 9e2843e..38361a3 100755
--- a/distro-source/windows/build.xml
+++ b/distro-source/windows/build.xml
@@ -1,22 +1,22 @@
-<project name="dist-windows" default="build" basedir=".">

-	<property name="dist.platform" value="windows" />

-	<import file="../common.ant.xml" />

-	<property name="project.dist" location="${gwt.build.dist}/${project.distname}.zip" />

-

-	<target name="stage.platform" description="Copies platform-specific items into the staging area">

-		<copy todir="${project.staging}">

-			<fileset dir="${gwt.tools.lib}/eclipse">

-				<include name="swt-*win32-3235.dll" />

-			</fileset>

-		</copy>

-	</target>

-

-	<target name="build" depends="stage" description="Packages the distro staging area">

-		<mkdir dir="${gwt.build.dist}" />

-		<zip destfile="${project.dist}">

-			<fileset dir="${gwt.build.staging}">

-				<include name="${project.distname}/**" />

-			</fileset>

-		</zip>

-	</target>

-</project>

+<project name="dist-windows" default="build" basedir=".">
+	<property name="dist.platform" value="windows" />
+	<import file="../common.ant.xml" />
+	<property name="project.dist" location="${gwt.build.dist}/${project.distname}.zip" />
+
+	<target name="stage.platform" description="Copies platform-specific items into the staging area">
+		<copy todir="${project.staging}">
+			<fileset dir="${gwt.tools.lib}/eclipse">
+				<include name="swt-*win32-3235.dll" />
+			</fileset>
+		</copy>
+	</target>
+
+	<target name="build" depends="stage" description="Packages the distro staging area">
+		<mkdir dir="${gwt.build.dist}" />
+		<zip destfile="${project.dist}">
+			<fileset dir="${gwt.build.staging}">
+				<include name="${project.distname}/**" />
+			</fileset>
+		</zip>
+	</target>
+</project>
diff --git a/jni/build.xml b/jni/build.xml
index 443c659..147493b 100755
--- a/jni/build.xml
+++ b/jni/build.xml
@@ -1,5 +1,5 @@
-<project name="jni" default="build" basedir=".">

-	<property name="gwt.root" location=".." />

-	<property name="project.tail" value="jni" />

-	<import file="${gwt.root}/platforms.ant.xml" />

-</project>

+<project name="jni" default="build" basedir=".">
+	<property name="gwt.root" location=".." />
+	<property name="project.tail" value="jni" />
+	<import file="${gwt.root}/platforms.ant.xml" />
+</project>
diff --git a/jni/linux/build.xml b/jni/linux/build.xml
index f0be89a..2bd2a20 100755
--- a/jni/linux/build.xml
+++ b/jni/linux/build.xml
@@ -1,18 +1,18 @@
-<project name="jni-linux" default="build" basedir=".">

-	<property name="gwt.root" location="../.." />

-	<property name="project.tail" value="jni/linux" />

-	<import file="${gwt.root}/common.ant.xml" />

-

-	<target name="build" description="Builds a JNI lib">

-		<mkdir dir="${project.jni}" />

-		<!-- TODO: Actually build this from source! -->

-		<copy todir="${project.jni}">

-			<fileset dir="prebuilt" />

-		</copy>

-	</target>

-

-	<target name="clean" description="Cleans this project's intermediate and output files">

-		<delete dir="${project.build}" failonerror="false" />

-		<delete dir="${project.jni}" failonerror="false" />

-	</target>

-</project>

+<project name="jni-linux" default="build" basedir=".">
+	<property name="gwt.root" location="../.." />
+	<property name="project.tail" value="jni/linux" />
+	<import file="${gwt.root}/common.ant.xml" />
+
+	<target name="build" description="Builds a JNI lib">
+		<mkdir dir="${project.jni}" />
+		<!-- TODO: Actually build this from source! -->
+		<copy todir="${project.jni}">
+			<fileset dir="prebuilt" />
+		</copy>
+	</target>
+
+	<target name="clean" description="Cleans this project's intermediate and output files">
+		<delete dir="${project.build}" failonerror="false" />
+		<delete dir="${project.jni}" failonerror="false" />
+	</target>
+</project>
diff --git a/jni/mac/build.xml b/jni/mac/build.xml
index 6526780..2bb1631 100755
--- a/jni/mac/build.xml
+++ b/jni/mac/build.xml
@@ -1,18 +1,18 @@
-<project name="jni-mac" default="build" basedir=".">

-	<property name="gwt.root" location="../.." />

-	<property name="project.tail" value="jni/mac" />

-	<import file="${gwt.root}/common.ant.xml" />

-

-	<target name="build" description="Builds a JNI lib">

-		<mkdir dir="${project.jni}" />

-		<!-- TODO: Actually build this from source! -->

-		<copy todir="${project.jni}">

-			<fileset dir="prebuilt" />

-		</copy>

-	</target>

-

-	<target name="clean" description="Cleans this project's intermediate and output files">

-		<delete dir="${project.build}" failonerror="false" />

-		<delete dir="${project.jni}" failonerror="false" />

-	</target>

-</project>

+<project name="jni-mac" default="build" basedir=".">
+	<property name="gwt.root" location="../.." />
+	<property name="project.tail" value="jni/mac" />
+	<import file="${gwt.root}/common.ant.xml" />
+
+	<target name="build" description="Builds a JNI lib">
+		<mkdir dir="${project.jni}" />
+		<!-- TODO: Actually build this from source! -->
+		<copy todir="${project.jni}">
+			<fileset dir="prebuilt" />
+		</copy>
+	</target>
+
+	<target name="clean" description="Cleans this project's intermediate and output files">
+		<delete dir="${project.build}" failonerror="false" />
+		<delete dir="${project.jni}" failonerror="false" />
+	</target>
+</project>
diff --git a/jni/windows/build.xml b/jni/windows/build.xml
index 20b1b66..a97d383 100755
--- a/jni/windows/build.xml
+++ b/jni/windows/build.xml
@@ -1,18 +1,18 @@
-<project name="jni-windows" default="build" basedir=".">

-	<property name="gwt.root" location="../.." />

-	<property name="project.tail" value="jni/windows" />

-	<import file="${gwt.root}/common.ant.xml" />

-

-	<target name="build" description="Builds a JNI lib">

-		<mkdir dir="${project.jni}" />

-		<!-- TODO: Actually build this from source! -->

-		<copy todir="${project.jni}">

-			<fileset dir="prebuilt" />

-		</copy>

-	</target>

-

-	<target name="clean" description="Cleans this project's intermediate and output files">

-		<delete dir="${project.build}" failonerror="false" />

-		<delete dir="${project.jni}" failonerror="false" />

-	</target>

-</project>

+<project name="jni-windows" default="build" basedir=".">
+	<property name="gwt.root" location="../.." />
+	<property name="project.tail" value="jni/windows" />
+	<import file="${gwt.root}/common.ant.xml" />
+
+	<target name="build" description="Builds a JNI lib">
+		<mkdir dir="${project.jni}" />
+		<!-- TODO: Actually build this from source! -->
+		<copy todir="${project.jni}">
+			<fileset dir="prebuilt" />
+		</copy>
+	</target>
+
+	<target name="clean" description="Cleans this project's intermediate and output files">
+		<delete dir="${project.build}" failonerror="false" />
+		<delete dir="${project.jni}" failonerror="false" />
+	</target>
+</project>
diff --git a/platforms.ant.xml b/platforms.ant.xml
index 35d9f30..fb1d531 100755
--- a/platforms.ant.xml
+++ b/platforms.ant.xml
@@ -1,44 +1,44 @@
-<project name="platforms">

-	<import file="${gwt.root}/common.ant.xml" />

-

-	<!-- "build" is the default when subprojects are directly targetted -->

-	<property name="target" value="build" />

-

-	<available file="core/build.xml" type="file" property="core.exists" />

-	<target name="core" description="Run core" if="core.exists">

-		<gwt.ant dir="core" />

-	</target>

-

-	<target name="linux" depends="core" description="Run linux">

-		<gwt.ant dir="linux" />

-	</target>

-

-	<target name="windows" depends="core" description="Run windows">

-		<gwt.ant dir="windows" />

-	</target>

-

-	<target name="mac" depends="core" description="Run mac">

-		<gwt.ant dir="mac" />

-	</target>

-

-	<target name="-do" depends="linux, windows, mac" description="Run all platforms" />

-

-	<target name="build" description="Build each platforms">

-		<antcall target="-do">

-			<param name="target" value="build" />

-		</antcall>

-	</target>

-

-	<target name="checkstyle" description="Static analysis of source for each platform">

-		<antcall target="-do">

-			<param name="target" value="checkstyle" />

-		</antcall>

-	</target>

-

-	<target name="test" depends="build" description="Test each platform">

-		<antcall target="-do">

-			<param name="target" value="test" />

-		</antcall>

-	</target>

-

-</project>

+<project name="platforms">
+	<import file="${gwt.root}/common.ant.xml" />
+
+	<!-- "build" is the default when subprojects are directly targetted -->
+	<property name="target" value="build" />
+
+	<available file="core/build.xml" type="file" property="core.exists" />
+	<target name="core" description="Run core" if="core.exists">
+		<gwt.ant dir="core" />
+	</target>
+
+	<target name="linux" depends="core" description="Run linux">
+		<gwt.ant dir="linux" />
+	</target>
+
+	<target name="windows" depends="core" description="Run windows">
+		<gwt.ant dir="windows" />
+	</target>
+
+	<target name="mac" depends="core" description="Run mac">
+		<gwt.ant dir="mac" />
+	</target>
+
+	<target name="-do" depends="linux, windows, mac" description="Run all platforms" />
+
+	<target name="build" description="Build each platforms">
+		<antcall target="-do">
+			<param name="target" value="build" />
+		</antcall>
+	</target>
+
+	<target name="checkstyle" description="Static analysis of source for each platform">
+		<antcall target="-do">
+			<param name="target" value="checkstyle" />
+		</antcall>
+	</target>
+
+	<target name="test" depends="build" description="Test each platform">
+		<antcall target="-do">
+			<param name="target" value="test" />
+		</antcall>
+	</target>
+
+</project>
diff --git a/samples/build.xml b/samples/build.xml
index 8152cd0..53cf7a0 100644
--- a/samples/build.xml
+++ b/samples/build.xml
@@ -1,56 +1,56 @@
-<project name="samples" default="build" basedir=".">

-	<property name="gwt.root" location=".." />

-	<property name="project.tail" value="samples" />

-	<import file="${gwt.root}/common.ant.xml" />

-

-	<!-- "build" is the default when subprojects are directly targetted -->

-	<property name="target" value="build" />

-

-	<target name="dynatable" description="Build dynatable">

-		<gwt.ant dir="dynatable" />

-	</target>

-

-	<target name="hello" description="Build hello">

-		<gwt.ant dir="hello" />

-	</target>

-

-	<target name="i18n" description="Build i18n">

-		<gwt.ant dir="i18n" />

-	</target>

-

-	<target name="json" description="Build json">

-		<gwt.ant dir="json" />

-	</target>

-

-	<target name="kitchensink" description="Build kitchensink">

-		<gwt.ant dir="kitchensink" />

-	</target>

-

-	<target name="mail" description="Build mail">

-		<gwt.ant dir="mail" />

-	</target>

-

-	<target name="simplexml" description="Build simplexml">

-		<gwt.ant dir="simplexml" />

-	</target>

-

-	<target name="-do" depends="dynatable, hello, i18n, json, kitchensink, mail, simplexml" description="Run all subprojects" />

-

-	<target name="build" description="Builds GWT">

-		<antcall target="-do">

-			<param name="target" value="build" />

-		</antcall>

-	</target>

-

-	<target name="checkstyle" description="Static analysis of GWT source">

-		<antcall target="-do">

-			<param name="target" value="checkstyle" />

-		</antcall>

-	</target>

-

-	<target name="test" depends="build" description="Test GWT">

-		<antcall target="-do">

-			<param name="target" value="test" />

-		</antcall>

-	</target>

-</project>

+<project name="samples" default="build" basedir=".">
+	<property name="gwt.root" location=".." />
+	<property name="project.tail" value="samples" />
+	<import file="${gwt.root}/common.ant.xml" />
+
+	<!-- "build" is the default when subprojects are directly targetted -->
+	<property name="target" value="build" />
+
+	<target name="dynatable" description="Build dynatable">
+		<gwt.ant dir="dynatable" />
+	</target>
+
+	<target name="hello" description="Build hello">
+		<gwt.ant dir="hello" />
+	</target>
+
+	<target name="i18n" description="Build i18n">
+		<gwt.ant dir="i18n" />
+	</target>
+
+	<target name="json" description="Build json">
+		<gwt.ant dir="json" />
+	</target>
+
+	<target name="kitchensink" description="Build kitchensink">
+		<gwt.ant dir="kitchensink" />
+	</target>
+
+	<target name="mail" description="Build mail">
+		<gwt.ant dir="mail" />
+	</target>
+
+	<target name="simplexml" description="Build simplexml">
+		<gwt.ant dir="simplexml" />
+	</target>
+
+	<target name="-do" depends="dynatable, hello, i18n, json, kitchensink, mail, simplexml" description="Run all subprojects" />
+
+	<target name="build" description="Builds GWT">
+		<antcall target="-do">
+			<param name="target" value="build" />
+		</antcall>
+	</target>
+
+	<target name="checkstyle" description="Static analysis of GWT source">
+		<antcall target="-do">
+			<param name="target" value="checkstyle" />
+		</antcall>
+	</target>
+
+	<target name="test" depends="build" description="Test GWT">
+		<antcall target="-do">
+			<param name="target" value="test" />
+		</antcall>
+	</target>
+</project>
diff --git a/samples/common.ant.xml b/samples/common.ant.xml
index fa5ec0f..6f20812 100755
--- a/samples/common.ant.xml
+++ b/samples/common.ant.xml
@@ -1,68 +1,68 @@
-<project name="samples-common">

-	<property name="gwt.root" location="../.." />

-	<property name="project.tail" value="samples/${sample.root}" />

-	<import file="${gwt.root}/common.ant.xml" />

-

-	<property name="sample.package" value="${sample.root}" />

-	<property name="sample.main" value="${sample.module}" />

-

-	<property.ensure name="gwt.user.jar" location="${gwt.build.lib}/gwt-user.jar" />

-	<!-- Platform shouldn't matter here, just picking one -->

-	<property.ensure name="gwt.dev.jar" location="${gwt.build.lib}/gwt-dev-linux.jar" />

-

-	<target name="compile" description="Compile all java files">

-		<mkdir dir="${javac.out}" />

-		<gwt.javac>

-			<classpath>

-				<pathelement location="${gwt.user.jar}" />

-				<pathelement location="${gwt.dev.jar}" />

-			</classpath>

-		</gwt.javac>

-	</target>

-

-	<target name="gwtc" description="Compile to JavaScript">

-		<mkdir dir="${project.build}/www" />

-		<java dir="${project.build}" classname="com.google.gwt.dev.GWTCompiler" classpath="src:${gwt.user.jar}:${gwt.dev.jar}" fork="yes" failonerror="true">

-			<classpath>

-				<pathelement location="${src}" />

-				<pathelement location="${gwt.user.jar}" />

-				<pathelement location="${gwt.dev.jar}" />

-			</classpath>

-			<arg value="-out" />

-			<arg file="${project.build}/www" />

-			<arg value="com.google.gwt.sample.${sample.package}.${sample.module}" />

-		</java>

-	</target>

-

-	<target name="antcall.script" description="Create launch scripts for a particular platform">

-		<mkdir dir="${project.build}/scripts/${platform}" />

-		<java classname="com.google.gwt.user.tools.ApplicationCreator" classpath="${gwt.user.jar}:${gwt.dev.jar}" failonerror="true">

-			<!-- Relative path is important! Paths will be relative in final distro -->

-			<sysproperty key="gwt.devjar" value="../../gwt-dev-${platform}.jar" />

-			<arg value="-ignore" />

-			<arg value="-out" />

-			<arg file="${project.build}/scripts/${platform}" />

-			<arg value="com.google.gwt.sample.${sample.package}.client.${sample.main}" />

-		</java>

-	</target>

-

-	<target name="scripts" description="Create launch scripts">

-		<antcall target="antcall.script">

-			<param name="platform" value="linux" />

-		</antcall>

-		<antcall target="antcall.script">

-			<param name="platform" value="windows" />

-		</antcall>

-		<antcall target="antcall.script">

-			<param name="platform" value="mac" />

-		</antcall>

-	</target>

-

-	<target name="build" depends="compile, gwtc, scripts" description="Build and package this project" />

-

-	<target name="checkstyle" description="Static analysis of source">

-		<gwt.checkstyle>

-                        <fileset dir="src"/>

-                </gwt.checkstyle>

-	</target>

-</project>

+<project name="samples-common">
+	<property name="gwt.root" location="../.." />
+	<property name="project.tail" value="samples/${sample.root}" />
+	<import file="${gwt.root}/common.ant.xml" />
+
+	<property name="sample.package" value="${sample.root}" />
+	<property name="sample.main" value="${sample.module}" />
+
+	<property.ensure name="gwt.user.jar" location="${gwt.build.lib}/gwt-user.jar" />
+	<!-- Platform shouldn't matter here, just picking one -->
+	<property.ensure name="gwt.dev.jar" location="${gwt.build.lib}/gwt-dev-linux.jar" />
+
+	<target name="compile" description="Compile all java files">
+		<mkdir dir="${javac.out}" />
+		<gwt.javac>
+			<classpath>
+				<pathelement location="${gwt.user.jar}" />
+				<pathelement location="${gwt.dev.jar}" />
+			</classpath>
+		</gwt.javac>
+	</target>
+
+	<target name="gwtc" description="Compile to JavaScript">
+		<mkdir dir="${project.build}/www" />
+		<java dir="${project.build}" classname="com.google.gwt.dev.GWTCompiler" classpath="src:${gwt.user.jar}:${gwt.dev.jar}" fork="yes" failonerror="true">
+			<classpath>
+				<pathelement location="${src}" />
+				<pathelement location="${gwt.user.jar}" />
+				<pathelement location="${gwt.dev.jar}" />
+			</classpath>
+			<arg value="-out" />
+			<arg file="${project.build}/www" />
+			<arg value="com.google.gwt.sample.${sample.package}.${sample.module}" />
+		</java>
+	</target>
+
+	<target name="antcall.script" description="Create launch scripts for a particular platform">
+		<mkdir dir="${project.build}/scripts/${platform}" />
+		<java classname="com.google.gwt.user.tools.ApplicationCreator" classpath="${gwt.user.jar}:${gwt.dev.jar}" failonerror="true">
+			<!-- Relative path is important! Paths will be relative in final distro -->
+			<sysproperty key="gwt.devjar" value="../../gwt-dev-${platform}.jar" />
+			<arg value="-ignore" />
+			<arg value="-out" />
+			<arg file="${project.build}/scripts/${platform}" />
+			<arg value="com.google.gwt.sample.${sample.package}.client.${sample.main}" />
+		</java>
+	</target>
+
+	<target name="scripts" description="Create launch scripts">
+		<antcall target="antcall.script">
+			<param name="platform" value="linux" />
+		</antcall>
+		<antcall target="antcall.script">
+			<param name="platform" value="windows" />
+		</antcall>
+		<antcall target="antcall.script">
+			<param name="platform" value="mac" />
+		</antcall>
+	</target>
+
+	<target name="build" depends="compile, gwtc, scripts" description="Build and package this project" />
+
+	<target name="checkstyle" description="Static analysis of source">
+		<gwt.checkstyle>
+                        <fileset dir="src"/>
+                </gwt.checkstyle>
+	</target>
+</project>
diff --git a/samples/dynatable/build.xml b/samples/dynatable/build.xml
index b19ba5f..436aa88 100755
--- a/samples/dynatable/build.xml
+++ b/samples/dynatable/build.xml
@@ -1,5 +1,5 @@
-<project name="dynatable" default="build" basedir=".">

-	<property name="sample.root" value="dynatable" />

-	<property name="sample.module" value="DynaTable" />

-	<import file="../common.ant.xml" />

-</project>

+<project name="dynatable" default="build" basedir=".">
+	<property name="sample.root" value="dynatable" />
+	<property name="sample.module" value="DynaTable" />
+	<import file="../common.ant.xml" />
+</project>
diff --git a/samples/hello/build.xml b/samples/hello/build.xml
index f855f09..5d6836c 100755
--- a/samples/hello/build.xml
+++ b/samples/hello/build.xml
@@ -1,5 +1,5 @@
-<project name="hello" default="build" basedir=".">

-	<property name="sample.root" value="hello" />

-	<property name="sample.module" value="Hello" />

-	<import file="../common.ant.xml" />

-</project>

+<project name="hello" default="build" basedir=".">
+	<property name="sample.root" value="hello" />
+	<property name="sample.module" value="Hello" />
+	<import file="../common.ant.xml" />
+</project>
diff --git a/samples/i18n/build.xml b/samples/i18n/build.xml
index c9f18f4..5e28f84 100755
--- a/samples/i18n/build.xml
+++ b/samples/i18n/build.xml
@@ -1,5 +1,5 @@
-<project name="i18n" default="build" basedir=".">

-	<property name="sample.root" value="i18n" />

-	<property name="sample.module" value="I18N" />

-	<import file="../common.ant.xml" />

-</project>

+<project name="i18n" default="build" basedir=".">
+	<property name="sample.root" value="i18n" />
+	<property name="sample.module" value="I18N" />
+	<import file="../common.ant.xml" />
+</project>
diff --git a/samples/json/build.xml b/samples/json/build.xml
index e8dfe0a..feb838f 100755
--- a/samples/json/build.xml
+++ b/samples/json/build.xml
@@ -1,5 +1,5 @@
-<project name="json" default="build" basedir=".">

-	<property name="sample.root" value="json" />

-	<property name="sample.module" value="JSON" />

-	<import file="../common.ant.xml" />

-</project>

+<project name="json" default="build" basedir=".">
+	<property name="sample.root" value="json" />
+	<property name="sample.module" value="JSON" />
+	<import file="../common.ant.xml" />
+</project>
diff --git a/samples/kitchensink/build.xml b/samples/kitchensink/build.xml
index 78354c8..6056a9e 100755
--- a/samples/kitchensink/build.xml
+++ b/samples/kitchensink/build.xml
@@ -1,5 +1,5 @@
-<project name="kitchensink" default="build" basedir=".">

-	<property name="sample.root" value="kitchensink" />

-	<property name="sample.module" value="KitchenSink" />

-	<import file="../common.ant.xml" />

-</project>

+<project name="kitchensink" default="build" basedir=".">
+	<property name="sample.root" value="kitchensink" />
+	<property name="sample.module" value="KitchenSink" />
+	<import file="../common.ant.xml" />
+</project>
diff --git a/samples/mail/build.xml b/samples/mail/build.xml
index 0cc2b4a..f95fe01 100755
--- a/samples/mail/build.xml
+++ b/samples/mail/build.xml
@@ -1,5 +1,5 @@
-<project name="mail" default="build" basedir=".">

-	<property name="sample.root" value="mail" />

-	<property name="sample.module" value="Mail" />

-	<import file="../common.ant.xml" />

-</project>

+<project name="mail" default="build" basedir=".">
+	<property name="sample.root" value="mail" />
+	<property name="sample.module" value="Mail" />
+	<import file="../common.ant.xml" />
+</project>
diff --git a/samples/simplexml/build.xml b/samples/simplexml/build.xml
index a1ed93b..1d915f2 100755
--- a/samples/simplexml/build.xml
+++ b/samples/simplexml/build.xml
@@ -1,5 +1,5 @@
-<project name="simplexml" default="build" basedir=".">

-	<property name="sample.root" value="simplexml" />

-	<property name="sample.module" value="SimpleXML" />

-	<import file="../common.ant.xml" />

-</project>

+<project name="simplexml" default="build" basedir=".">
+	<property name="sample.root" value="simplexml" />
+	<property name="sample.module" value="SimpleXML" />
+	<import file="../common.ant.xml" />
+</project>
diff --git a/servlet/build.xml b/servlet/build.xml
index 3318736..dfad836 100755
--- a/servlet/build.xml
+++ b/servlet/build.xml
@@ -1,32 +1,32 @@
-<project name="servlet" default="build" basedir=".">

-	<property name="gwt.root" location=".." />

-	<property name="project.tail" value="servlet" />

-	<import file="${gwt.root}/common.ant.xml" />

-

-	<property.ensure name="gwt.user.root" location="${gwt.root}/user" />

-	<property.ensure name="gwt.user.build" location="${gwt.build.out}/user" />

-	<property.ensure name="gwt.user.bin" location="${gwt.user.build}/bin" />

-

-	<target name="build" description="Packages this project into a jar">

-		<mkdir dir="${gwt.build.lib}" />

-		<gwt.jar>

-			<fileset dir="${gwt.user.bin}">

-				<exclude name="com/google/gwt/i18n/rebind/**" />

-				<exclude name="com/google/gwt/i18n/tools/**" />

-				<exclude name="com/google/gwt/json/**" />

-				<exclude name="com/google/gwt/junit/*" />

-				<exclude name="com/google/gwt/junit/client/GWTTestCase.*" />

-				<exclude name="com/google/gwt/junit/rebind/**" />

-				<exclude name="com/google/gwt/junit/remote/**" />

-				<exclude name="com/google/gwt/junit/server/**" />

-				<exclude name="com/google/gwt/junit/tools/**" />

-				<exclude name="com/google/gwt/user/rebind/**" />

-				<exclude name="com/google/gwt/user/tools/**" />

-			</fileset>

-		</gwt.jar>

-	</target>

-

-	<target name="clean" description="Cleans this project's intermediate and output files">

-		<delete file="${project.lib}" />

-	</target>

-</project>

+<project name="servlet" default="build" basedir=".">
+	<property name="gwt.root" location=".." />
+	<property name="project.tail" value="servlet" />
+	<import file="${gwt.root}/common.ant.xml" />
+
+	<property.ensure name="gwt.user.root" location="${gwt.root}/user" />
+	<property.ensure name="gwt.user.build" location="${gwt.build.out}/user" />
+	<property.ensure name="gwt.user.bin" location="${gwt.user.build}/bin" />
+
+	<target name="build" description="Packages this project into a jar">
+		<mkdir dir="${gwt.build.lib}" />
+		<gwt.jar>
+			<fileset dir="${gwt.user.bin}">
+				<exclude name="com/google/gwt/i18n/rebind/**" />
+				<exclude name="com/google/gwt/i18n/tools/**" />
+				<exclude name="com/google/gwt/json/**" />
+				<exclude name="com/google/gwt/junit/*" />
+				<exclude name="com/google/gwt/junit/client/GWTTestCase.*" />
+				<exclude name="com/google/gwt/junit/rebind/**" />
+				<exclude name="com/google/gwt/junit/remote/**" />
+				<exclude name="com/google/gwt/junit/server/**" />
+				<exclude name="com/google/gwt/junit/tools/**" />
+				<exclude name="com/google/gwt/user/rebind/**" />
+				<exclude name="com/google/gwt/user/tools/**" />
+			</fileset>
+		</gwt.jar>
+	</target>
+
+	<target name="clean" description="Cleans this project's intermediate and output files">
+		<delete file="${project.lib}" />
+	</target>
+</project>
diff --git a/user/build.xml b/user/build.xml
index 8b191c4..3a179ef 100755
--- a/user/build.xml
+++ b/user/build.xml
@@ -1,8 +1,8 @@
-<project name="user" default="build" basedir=".">

-	<property name="gwt.root" location=".." />

-	<property name="project.tail" value="user" />

-	<import file="${gwt.root}/common.ant.xml" />

-

+<project name="user" default="build" basedir=".">
+	<property name="gwt.root" location=".." />
+	<property name="project.tail" value="user" />
+	<import file="${gwt.root}/common.ant.xml" />
+
 	<!--
 		Default hosted mode test cases
 	-->
@@ -65,23 +65,23 @@
 		<include name="**/*Test.class" />
 	</fileset>
 
-	<!-- Platform shouldn't matter here, just picking one -->

-	<property.ensure name="gwt.dev.jar" location="${gwt.build.lib}/gwt-dev-linux.jar" />

-

-	<target name="compile" description="Compile all class files">

-		<mkdir dir="${javac.out}" />

-		<gwt.javac>

-			<classpath>

-				<pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />

-				<pathelement location="${gwt.dev.jar}" />

-			</classpath>

+	<!-- Platform shouldn't matter here, just picking one -->
+	<property.ensure name="gwt.dev.jar" location="${gwt.build.lib}/gwt-dev-linux.jar" />
+
+	<target name="compile" description="Compile all class files">
+		<mkdir dir="${javac.out}" />
+		<gwt.javac>
+			<classpath>
+				<pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
+				<pathelement location="${gwt.dev.jar}" />
+			</classpath>
 		</gwt.javac>
 
 		<!-- Build the BrowserManagerServer_Stub to allow remote browser testing -->
 		<rmic base="${javac.out}" classname="com.google.gwt.junit.remote.BrowserManagerServer">
 			<compilerarg value="-v1.2"/>
 		</rmic>		
-	</target>

+	</target>
 
 	<target name="compile.tests"
 	        description="Compiles the test code for this project">
@@ -93,22 +93,22 @@
 			</classpath>
 		</gwt.javac>
 	</target>
-

-	<target name="build" depends="compile" description="Build and package this project">

-		<mkdir dir="${gwt.build.lib}" />

-		<gwt.jar>

-			<fileset dir="src" />

-			<fileset dir="super" />

-			<fileset dir="${javac.out}" />

-		</gwt.jar>

-	</target>

-

-	<target name="checkstyle" description="Static analysis of source">

-		<gwt.checkstyle>

-			<fileset dir="super/com/google/gwt/emul" />

-			<fileset dir="super/com/google/gwt/junit/translatable" />

-		</gwt.checkstyle>

-	</target>

+
+	<target name="build" depends="compile" description="Build and package this project">
+		<mkdir dir="${gwt.build.lib}" />
+		<gwt.jar>
+			<fileset dir="src" />
+			<fileset dir="super" />
+			<fileset dir="${javac.out}" />
+		</gwt.jar>
+	</target>
+
+	<target name="checkstyle" description="Static analysis of source">
+		<gwt.checkstyle>
+			<fileset dir="super/com/google/gwt/emul" />
+			<fileset dir="super/com/google/gwt/junit/translatable" />
+		</gwt.checkstyle>
+	</target>
 
 	<target name="remoteweb-test"
 	        description="Run a remoteweb test at the given host and path">
@@ -149,10 +149,10 @@
 			         param="gwt.remote.browser" />
 		</parallel>
 	</target>
-

-	<target name="clean" description="Cleans this project's intermediate and output files">

-		<delete dir="${project.build}" />

-		<delete file="${project.lib}" />

-	</target>

-

-</project>

+
+	<target name="clean" description="Cleans this project's intermediate and output files">
+		<delete dir="${project.build}" />
+		<delete file="${project.lib}" />
+	</target>
+
+</project>