<?xml version="1.0" encoding="UTF-8" ?>
<project name="master" default="process">
  <import file="build-autonomous.xml" />

  <target name="build" description="Builds SmartSprites binaries">
    <mkdir dir="tmp/classes" />

    <javac destdir="tmp/classes" encoding="UTF-8" source="1.5" target="1.5"
           debug="true" debuglevel="lines,source">
      <classpath>
        <fileset dir="lib">
          <include name="**/*.jar" />
        </fileset>
      </classpath>
      <src path="src" />
      <src path="src-test" />
    </javac>
  </target>

  <target name="jar" depends="build" description="Builds SmartSprites JAR file">
    <property file="smartsprites.version" />

    <jar destfile="lib/smartsprites-${smartsprites.version}.jar">
      <fileset dir="tmp/classes">
        <exclude name="*Test.class" />
        <exclude name="**/test" />
        <exclude name="**/test/**" />
      </fileset>
      <fileset dir="src">
        <include name="**/smartsprites.xml" />
      </fileset>
    </jar>
  </target>

  <target name="test"
          description="Executes SmartSprites unit tests"
          depends="build">
    <mkdir dir="tmp/test-results" />

    <junit printsummary="yes" fork="yes" haltonfailure="yes" dir="${basedir}">
      <classpath>
        <fileset dir="lib">
          <include name="**/*.jar" />
        </fileset>
        <pathelement location="tmp/classes" />
        <pathelement location="resources" />
      </classpath>

      <formatter type="plain" />
      <batchtest fork="yes" todir="tmp/test-results">
        <fileset dir="src-test">
          <include name="**/*Test.java" />
        </fileset>
      </batchtest>
    </junit>
  </target>

  <target name="process"
          description="Performs CSS sprite processing"
          depends="jar, smartsprites.process" />

  <target name="dist"
          depends="test, jar"
          description="Builds SmartSprites distribution">
    <property file="smartsprites.version" />
    <mkdir dir="tmp/dist" />

    <zip destfile="tmp/dist/smartsprites-${smartsprites.version}.zip">
      <zipfileset dir="." prefix="smartsprites">
        <include name="lib/*" />
        <exclude name="lib/compile-time" />
        <include name="test/**" />
        <include name="smartsprites.cmd" />
        <include name="smartsprites.LICENSE" />
        <include name="readme.txt" />
      </zipfileset>
      <zipfileset dir="." includes="build-autonomous.xml" fullpath="smartsprites/build.xml" />
      <zipfileset dir="." includes="smartsprites.sh" prefix="smartsprites" filemode="755" />
      <zipfileset dir="." includes="smartsprites.properties.example" fullpath="smartsprites/smartsprites.properties" />
      <zipfileset dir="doc/website" prefix="smartsprites/doc" />
      <zipfileset dir="lib/compile-time" includes="junit*" prefix="smartsprites/lib" />
    </zip>
  </target>

  <target name="clean" description="Deletes all temporary files">
    <delete dir="tmp" />
    <delete>
      <fileset dir="lib">
        <include name="smartsprites-*.jar" />
      </fileset>
    </delete>
  </target>
</project>


