Author: kentam
Date: Mon Feb 28 20:15:01 2005
New Revision: 155753

URL: http://svn.apache.org/viewcvs?view=rev&rev=155753
Log:
BEEHIVE-86: tar.gz file probs from build.dist.archives

Delegate to an external tar program when building archives under Windows.


Modified:
    incubator/beehive/trunk/build.xml
    incubator/beehive/trunk/distribution.xml

Modified: incubator/beehive/trunk/build.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/build.xml?view=diff&r1=155752&r2=155753
==============================================================================
--- incubator/beehive/trunk/build.xml (original)
+++ incubator/beehive/trunk/build.xml Mon Feb 28 20:15:01 2005
@@ -212,7 +212,7 @@
         <!-- check to see if the JUnit classes are available -->
         <available classname="junit.framework.TestCase" 
property="junit.available"/>
         <fail unless="junit.available" 
-              message="The classes in junit.jar do not seem to be avaialble.  
Please ensure junit.jar is available in ${os.ANT_home}/lib"/>
+              message="The classes in junit.jar do not seem to be available.  
Please ensure junit.jar is available in ${os.ANT_home}/lib"/>
         <echo>junit.jar appears to be available since the class 
"junit.framework.TestCase" was successfully loaded</echo>
 
         <!-- note, to ease the transition when removing Tomcat from the build, 
this will check a hard reference to CATALINA_HOME -->

Modified: incubator/beehive/trunk/distribution.xml
URL: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/distribution.xml?view=diff&r1=155752&r2=155753
==============================================================================
--- incubator/beehive/trunk/distribution.xml (original)
+++ incubator/beehive/trunk/distribution.xml Mon Feb 28 20:15:01 2005
@@ -385,6 +385,12 @@
         -->
     </target>
 
+    <target name="identify_os">
+        <condition property="isWindows">
+            <os family="windows"/>
+        </condition>
+    </target>
+
     <target name="build.dist.zip" description="Builds a Beehive distribution 
zipfile">
         <fail unless="beehive.version" message="Could not build distribution 
archive; beehive.version was not specified"/>
 
@@ -392,17 +398,45 @@
         <zip destfile="${dist.archives.dir}/${dist.name}.zip" 
includes="${dist.name}/**" basedir="${dist.base.dir}"/>
     </target>
 
-    <target name="build.dist.tgz" description="Builds a Beehive distribution 
tarball (.tar.gz)">
+    <target name="build.dist.tgz" description="Builds a Beehive distribution 
tarball (.tar.gz)" depends="identify_os">
         <fail unless="beehive.version" message="Could not build distribution 
archive; beehive.version was not specified"/>
 
         <mkdir dir="${dist.archives.dir}"/>
+        <!-- the <tar> task has a bug under Windows, so we special-case it to 
call out to an external tar program -->
+        <antcall target="build.dist.tgz.windows"/>
+        <antcall target="build.dist.tgz.non_windows"/>
+    </target>
+
+    <target name="build.dist.tgz.windows" if="isWindows">
+        <exec executable="tar" dir="${dist.base.dir}">
+            <arg value="-cvzf"/>
+            <arg value="${dist.archives.dir}/${dist.name}.tar.gz"/>
+            <arg value="${dist.name}"/>
+        </exec>
+    </target>
+
+    <target name="build.dist.tgz.non_windows" unless="isWindows">
         <tar destfile="${dist.archives.dir}/${dist.name}.tar.gz" 
basedir="${dist.base.dir}" includes="${dist.name}/**" compression="gzip"/>
     </target>
 
-    <target name="build.dist.lib.tgz" description="Builds a Beehive library 
distribution tarball (.tar.gz)">
+    <target name="build.dist.lib.tgz" description="Builds a Beehive library 
distribution tarball (.tar.gz)" depends="identify_os">
         <fail unless="beehive.version" message="Could not build distribution 
archive; beehive.version was not specified"/>
 
         <mkdir dir="${dist.archives.dir}"/>
+        <!-- the <tar> task has a bug under Windows, so we special-case it to 
call out to an external tar program -->
+        <antcall target="build.dist.lib.tgz.windows"/>
+        <antcall target="build.dist.lib.tgz.non_windows"/>
+    </target>
+
+    <target name="build.dist.lib.tgz.windows" if="isWindows">
+        <exec executable="tar" dir="${dist.base.dir}">
+            <arg value="-cvzf"/>
+            <arg value="${dist.archives.dir}/${dist.lib.name}.tar.gz"/>
+            <arg value="${dist.lib.name}"/>
+        </exec>
+    </target>
+
+    <target name="build.dist.lib.tgz.non_windows" unless="isWindows">
         <tar destfile="${dist.archives.dir}/${dist.lib.name}.tar.gz" 
basedir="${dist.base.dir}" includes="${dist.lib.name}/**" compression="gzip"/>
     </target>
 
@@ -434,7 +468,7 @@
         <delete dir="${tmpdocsdir}" />
     </target>
 
-    <target name="build.dist.docs.tgz" description="Builds a Beehive 
distribution docs tarball (.tar.gz)">
+    <target name="build.dist.docs.tgz" description="Builds a Beehive 
distribution docs tarball (.tar.gz)" depends="identify_os">
         <property name="tmpdocsdir" 
location="${dist.tmp.dir}/${dist.name}-docs" />
         <copy todir="${tmpdocsdir}">
            <fileset dir="${dist.dir}/docs" />
@@ -443,10 +477,25 @@
         <fail unless="beehive.version" message="Could not build distribution 
archive; beehive.version was not specified"/>
 
         <mkdir dir="${dist.archives.dir}"/>
-        <tar destfile="${dist.archives.dir}/${dist.name}-docs.tar.gz" 
basedir="${dist.tmp.dir}" includes="${dist.name}-docs/**" compression="gzip"/>
+
+        <!-- the <tar> task has a bug under Windows, so we special-case it to 
call out to an external tar program -->
+        <antcall target="build.dist.docs.tgz.windows"/>
+        <antcall target="build.dist.docs.tgz.non_windows"/>
 
         <delete dir="${tmpdocsdir}" />
     </target>  
+
+    <target name="build.dist.docs.tgz.windows" if="isWindows">
+        <exec executable="tar" dir="${dist.tmp.dir}">
+            <arg value="-cvzf"/>
+            <arg value="${dist.archives.dir}/${dist.name}-docs.tar.gz"/>
+            <arg value="${dist.name}-docs"/>
+        </exec>
+    </target>
+
+    <target name="build.dist.docs.tgz.non_windows" unless="isWindows">
+        <tar destfile="${dist.archives.dir}/${dist.name}-docs.tar.gz" 
basedir="${dist.tmp.dir}" includes="${dist.name}-docs/**" compression="gzip"/>
+    </target>
 
     <target name="build.livesite" description="Builds a zipfile of the current 
live site.">
         <property name="tmpdocsdir" 
location="${dist.tmp.dir}/${dist.name}-docs" />


Reply via email to