Optimized build; removed crazy unjar stuff.

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@175 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/common.ant.xml b/common.ant.xml
index cddd93f..d2a3797 100755
--- a/common.ant.xml
+++ b/common.ant.xml
@@ -26,7 +26,6 @@
 	<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" />
@@ -94,7 +93,7 @@
 	</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}" encoding="${javac.encoding}" />
+		<javac srcdir="src" destdir="${javac.out}" debug="${javac.debug}" debuglevel="${javac.debuglevel}" source="${javac.source}" nowarn="${javac.nowarn}" encoding="${javac.encoding}" />
 	</presetdef>
 
 	<presetdef name="gwt.jar">
@@ -154,24 +153,14 @@
 		</sequential>
 	</macrodef>
 
-	<target name="-unjar.maybe" unless="unjar.upToDate">
-		<mkdir dir="${unjar.out}" />
-		<unjar src="${unjar.path}" dest="${unjar.out}" overwrite="true" />
-		<touch file="${unjar.flagFile}" />
-	</target>
-
-	<macrodef name="gwt.unjar">
-		<attribute name="toollib" default="" />
-		<attribute name="path" default="${gwt.tools.lib}/@{toollib}" />
+	<macrodef name="gwt.checkstyle">
+		<element name="sourcepath" implicit="yes" optional="true" />
 		<sequential>
-			<basename property="@{path}.unjar.name" file="@{path}" />
-			<property name="@{path}.unjar.flagFile" value="${project.build}/${@{path}.unjar.name}.unjar" />
-			<uptodate property="@{path}.unjar.upToDate" value="unjar.upToDate" srcfile="@{path}" targetfile="${@{path}.unjar.flagFile}" />
-			<antcall target="-unjar.maybe">
-				<param name="${@{path}.unjar.upToDate}" value="true" />
-				<param name="unjar.path" value="@{path}" />
-				<param name="unjar.flagFile" value="${@{path}.unjar.flagFile}" />
-			</antcall>
+			<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>
 
@@ -186,17 +175,6 @@
 		</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" />
diff --git a/dev/common.ant.xml b/dev/common.ant.xml
index 4827623..3556aff 100755
--- a/dev/common.ant.xml
+++ b/dev/common.ant.xml
@@ -5,16 +5,13 @@
 	<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">
+	<target name="compile" description="Compile all java files">
 		<mkdir dir="${javac.out}" />
 		<gwt.javac>
 			<classpath>
+				<pathelement location="${gwt.tools.lib}/eclipse/${gwt.dev.swt.jar}" />
 				<pathelement location="${gwt.core.build}/bin" />
-				<pathelement location="${gwt.core.build}/unjar" />
+				<pathelement location="${gwt.core.build}/alldeps.jar" />
 			</classpath>
 		</gwt.javac>
 	</target>
@@ -27,8 +24,8 @@
 			<fileset dir="${gwt.core.root}/super" excludes="**/package.html" />
 			<fileset dir="${javac.out}" />
 			<fileset dir="${gwt.core.build}/bin" />
-			<fileset dir="${unjar.out}" />
-			<fileset dir="${gwt.core.build}/unjar" />
+			<zipfileset src="${gwt.tools.lib}/eclipse/${gwt.dev.swt.jar}" />
+			<zipfileset src="${gwt.core.build}/alldeps.jar" />
 			<manifest>
 				<attribute name="Main-Class" value="com.google.gwt.dev.GWTMain" />
 			</manifest>
diff --git a/dev/core/build.xml b/dev/core/build.xml
index 84c7046..3c2cc93 100755
--- a/dev/core/build.xml
+++ b/dev/core/build.xml
@@ -3,38 +3,43 @@
 	<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="apache/ant-1.6.5.jar" />
-		<gwt.unjar toollib="eclipse/jdt-3.1.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" />
+	<property name="alldeps.jar" location="${project.build}/alldeps.jar" />
+
+	<target name="build.alldeps.jar" description="Merges all dependency jars into a single jar">
+		<mkdir dir="${project.build}" />
+		<gwt.jar destfile="${alldeps.jar}">
+			<zipfileset src="${gwt.tools.lib}/apache/tapestry-util-text-4.0.2.jar" />
+			<zipfileset src="${gwt.tools.lib}/apache/ant-1.6.5.jar" />
+			<zipfileset src="${gwt.tools.lib}/eclipse/jdt-3.1.1.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/ant-launcher-1.6.5.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/catalina-1.0.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/catalina-optional-1.0.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/commons-beanutils-1.6.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/commons-collections-3.1.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/commons-digester-1.5.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/commons-el-1.0.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/commons-logging-1.0.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/commons-modeler-1.1.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/jakarta-regexp-1.3.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/jasper-compiler-1.0.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/jasper-runtime-1.0.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/jsp-api-2.0.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/mx4j-jmx-1.1.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/naming-common-1.0.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/naming-factory-1.0.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/naming-java-1.0.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/naming-resources-1.0.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.4.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/servlets-common-1.0.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/servlets-default-1.0.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/servlets-invoker-1.0.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/tomcat-coyote-1.0.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/tomcat-http11-1.0.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/tomcat-jk2-2.1.jar" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/tomcat-util-5.1.jar" />
+			<zipfileset src="${gwt.tools.lib}/xerces/xerces-2.0.2.jar" />
+			<zipfileset src="${gwt.tools.lib}/xerces/xml-apis-2.0.2.jar" />
+		</gwt.jar>
 	</target>
 
 	<property name="filter.pattern" value="com/google/gwt/dev/About.java" />
@@ -51,7 +56,7 @@
 		<touch file="${src.filtered}/gwt.version-${gwt.version}" />
 	</target>
 
-	<target name="build" depends="unjar.deps" description="Compiles this project">
+	<target name="build" depends="build.alldeps.jar" 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
@@ -68,8 +73,8 @@
 			<and>
 				<available file="${src.filtered}/gwt.version-${gwt.version}" />
 				<uptodate>
-					<srcfiles dir="src" includes="${filter.pattern}"/>
-					<globmapper from="*" to="${src.filtered}/*"/>
+					<srcfiles dir="src" includes="${filter.pattern}" />
+					<globmapper from="*" to="${src.filtered}/*" />
 				</uptodate>
 			</and>
 		</condition>
@@ -80,6 +85,7 @@
 		<gwt.javac srcdir="src" excludes="${filter.pattern}">
 			<classpath>
 				<pathelement location="${javac.out-dummy}" />
+				<pathelement location="${alldeps.jar}" />
 				<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" />
diff --git a/user/build.xml b/user/build.xml
index 74c88fd..ca2d370 100755
--- a/user/build.xml
+++ b/user/build.xml
@@ -73,14 +73,11 @@
 	<!-- Platform shouldn't matter here, just picking one -->
 	<property.ensure name="gwt.dev.jar" location="${gwt.build.lib}/gwt-dev-linux.jar" />
 
-	<target name="unjar.deps" description="Unzips all dependency jars into the output folder">
-		<gwt.unjar toollib="tomcat/servlet-api-2.4.jar" />
-	</target>
-
-	<target name="compile" depends="unjar.deps" description="Compile all class files">
+	<target name="compile" description="Compile all class files">
 		<mkdir dir="${javac.out}" />
 		<gwt.javac>
 			<classpath>
+				<pathelement location="${gwt.tools.lib}/tomcat/servlet-api-2.4.jar" />
 				<pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
 				<pathelement location="${gwt.dev.jar}" />
 			</classpath>
@@ -108,7 +105,7 @@
 			<fileset dir="src" excludes="**/package.html" />
 			<fileset dir="super" excludes="**/package.html" />
 			<fileset dir="${javac.out}" />
-			<fileset dir="${unjar.out}" />
+			<zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.4.jar" />
 		</gwt.jar>
 	</target>