Fixes Issue #1792
Added separate build targets on OSX for 10.4 and 10.5 and updated
hosted mode and junit support to work around a 10.5 issues.

Patch by: fabbott, knorton
Review by: jat (desk)



git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@2000 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/common.ant.xml b/common.ant.xml
index 8a5afa2..8575f4d 100755
--- a/common.ant.xml
+++ b/common.ant.xml
@@ -17,7 +17,7 @@
 		<equals arg1="${ant.file}" arg2="${test.ant.file}"
                   casesensitive="${gwt.build.iscasesensitivefs}"/>
 	</condition>
-	<fail unless="project.valid" message="This build file is in an inconsistent state." />
+	<fail unless="project.valid" message="This build file is in an inconsistent state (${ant.file} != ${test.ant.file})." />
 
 	<!-- Global Properties -->
 	<property environment="env" />
@@ -74,7 +74,19 @@
 		</and>
 	</condition>
 	<condition property="build.host.platform" value="mac">
-		<isset property="build.host.ismac" />
+            <isset property="build.host.ismac" />
+	</condition>
+	<condition property="build.host.platform.detail" value="mac_10.5">
+		<and>
+			<isset property="build.host.ismac" />
+			<contains string="${os.version}" substring="10.5." />
+		</and>
+	</condition>
+	<condition property="build.host.platform.detail" value="mac_10.4">
+		<and>
+			<isset property="build.host.ismac" />
+			<contains string="${os.version}" substring="10.4." />
+		</and>
 	</condition>
 
 	<condition property="build.host.iswindows">
@@ -85,12 +97,17 @@
 	</condition>
 	<fail unless="build.host.platform" message="Building on ${os.name} is not supported" />
 
+	<!-- for OS's that don't need to set a detail revision 
+             (i.e. as of 3mar08, all but MacOS) -->
+	<property name="build.host.platform.detail" 
+	          value="${build.host.platform}" />
+
 	<condition property="junit.platform.args" value="-XstartOnFirstThread" else="">
-		<equals arg1="${build.host.platform}" arg2="mac" casesensitive="false" />
+		<isset property="build.host.ismac" />
 	</condition>
 
 	<!-- JUnit support -->
-	<property name="gwt.dev.staging.jar" location="${gwt.build.staging}/gwt-${build.host.platform}-${gwt.version}/gwt-dev-${build.host.platform}.jar" />
+	<property name="gwt.dev.staging.jar" location="${gwt.build.staging}/gwt-${build.host.platform.detail}-${gwt.version}/gwt-dev-${build.host.platform}.jar" />
 	<property name="gwt.junit.port" value="8888" />
 	<property name="gwt.junit.testcase.includes" value="**/*Suite.class"/>
 	
@@ -172,7 +189,7 @@
 		<element name="tar.elements" implicit="true" optional="true" />
 		<sequential>
 			<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.cat destfile="@{destfile}" compression="gzip" longfile="gnu">
 				<tar.elements />
 			</tar.cat>
 		</sequential>