<project name="dist-linux" default="build" basedir=".">
  <property name="dist.platform" value="linux" />
  <import file="../common.ant.xml" />
  <property name="project.dist" location="${gwt.build.dist}/${project.distname}.tar.bz2" />

  <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}" compression="bzip2">
      <!-- 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.war" prefix="${project.distname}" />
      <tarfileset file="${gwt.build.lib}/gwt-api-checker.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-*gtk-3235.so" />
      </tarfileset>

      <!-- raw files -->
      <tarfileset dir="${dist.resources}" prefix="${project.distname}" mode="755">
        <patternset refid="chmod.executables" />
      </tarfileset>
      <tarfileset dir="${dist.resources}" 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/*/war/**" />
      </tarfileset>
      <tarfileset dir="${gwt.build.out}/samples-scripts/${dist.platform}" mode="755" prefix="${project.distname}/samples">
        <include name="*/*" />
      </tarfileset>

      <includetar src="${gwt.tools.redist}/mozilla/mozilla-1.7.12.tar.gz" compression="gzip" prefix="${project.distname}" />
    </gwt.tgz.cat>

    <if>
      <isset property="build.host.islinux" />
      <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="-xpjf" />
          <arg file="${project.dist}" />
          <arg value="-C" />
          <arg file="${gwt.build.staging}" />
        </exec>
      </then>
    </if>
  </target>
</project>
