Implemented a TarCat Ant task to slurp tars directly into other tars.  This allows us to preserve things like permissions and symlinks on hostile operating systems.

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@174 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/common.ant.xml b/common.ant.xml
index c01d278..cddd93f 100755
--- a/common.ant.xml
+++ b/common.ant.xml
@@ -143,17 +143,14 @@
 		</sequential>
 	</macrodef>
 
-	<macrodef name="gwt.untar">
-		<attribute name="src" />
-		<attribute name="dest" />
+	<macrodef name="gwt.tgz.cat">
+		<attribute name="destfile" />
+		<element name="tar.elements" implicit="true" optional="true" />
 		<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>
+			<taskdef name="tar.cat" classname="com.google.gwt.ant.taskdefs.TarCat" classpath="${gwt.build.lib}/ant-gwt.jar" />
+			<tar.cat destfile="${project.dist}" compression="gzip" longfile="gnu">
+				<tar.elements />
+			</tar.cat>
 		</sequential>
 	</macrodef>