<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="build" depends="filter" description="Packages the distro">
    <!-- TODO: figure out how to share most of this across platforms -->
    <mkdir dir="${gwt.build.dist}" />
    <gwt.tgz.cat destfile="${project.dist}">
      <!-- jars -->
      <tarfileset file="${gwt.build.lib}/gwt-dev-${dist.platform}.jar" prefix="${project.distname}" />
      <tarfileset file="${gwt.build.lib}/gwt-user.jar" prefix="${project.distname}" />
      <tarfileset file="${gwt.build.lib}/gwt-servlet.jar" prefix="${project.distname}" />
      <tarfileset file="${gwt.build.lib}/gwt-benchmark-viewer.jar" prefix="${project.distname}" />

      <!-- jni libs-->
      <tarfileset dir="${gwt.build.jni}/${dist.platform}" prefix="${project.distname}" />
      <tarfileset dir="${gwt.tools.lib}/eclipse" prefix="${project.distname}">
        <include name="libswt-*carbon-3235.jnilib" />
        <!-- Use our modified version instead of this stock version -->
        <exclude name="libswt-webkit-carbon-3235.jnilib" />
      </tarfileset>

      <!-- raw files -->
      <tarfileset dir="${project.build}" prefix="${project.distname}" mode="755">
        <patternset refid="chmod.executables" />
      </tarfileset>
      <tarfileset dir="${project.build}" prefix="${project.distname}">
        <patternset refid="chmod.not.executables" />
      </tarfileset>
      <tarfileset dir="src" prefix="${project.distname}" mode="755">
        <patternset refid="chmod.executables" />
      </tarfileset>
      <tarfileset dir="src" prefix="${project.distname}">
        <patternset refid="chmod.not.executables" />
      </tarfileset>

      <!-- doc -->
      <tarfileset dir="${gwt.build.out}" prefix="${project.distname}">
        <include name="doc" />
        <include name="doc/html/**" />
        <include name="doc/css/**" />
        <include name="doc/javadoc/**" />
      </tarfileset>

      <!-- samples -->
      <tarfileset dir="${gwt.build.out}" prefix="${project.distname}">
        <include name="samples" />
        <include name="samples/*" />
        <include name="samples/*/src/**" />
        <include name="samples/*/bin/**" />
        <include name="samples/*/www/**" />
        <exclude name="samples/*/www/.*/**" />
      </tarfileset>
      <tarfileset dir="${gwt.build.out}/samples-scripts/${dist.platform}" mode="755" prefix="${project.distname}/samples">
        <include name="*/*-compile" />
        <include name="*/*-shell" />
      </tarfileset>
    </gwt.tgz.cat>

    <if>
      <isset property="build.host.ismac" />
      <then>
        <!--
          Untar distro into the staging directory.  Must use GNU tar
          to handle permissions and symlinks correctly.
        -->
        <mkdir dir="${gwt.build.staging}" />
        <exec executable="tar" failonerror="true">
          <arg value="-xpzf" />
          <arg file="${project.dist}" />
          <arg value="-C" />
          <arg file="${gwt.build.staging}" />
        </exec>
      </then>
    </if>
  </target>
</project>
