Files
Ivolution/build.xml

125 lines
4.2 KiB
XML

<?xml version="1.0"?>
<project name="FaceMovie build script" default="print" basedir=".">
<taskdef resource="pyAntTasks.properties"/>
<!-- INIT : Initialize properties and classpath -->
<target name="init">
<!-- Properties -->
<property name="version" value="0.9"/>
<property name="base.dir" value="."/>
<property name="src.dir" value="${base.dir}/facemovie"/>
<property name="haar.dir" value="${src.dir}/haarcascades"/>
<property name="test.dir" value="${base.dir}/test"/>
<property name="doc.dir" location="${base.dir}/doc"/>
<property name="pkg.dir" value="${base.dir}/packaging"/>
<property name="samples.dir" value="data/inputs/samples"/>
<!-- Specialized packaging folders -->
<property name="old.pkg.dir" value="${pkg.dir}/old"/>
<property name="curr.pkg.dir" value="${pkg.dir}/current"/>
<property name="new.pkg.dir" value="${curr.pkg.dir}/${version}"/>
<!-- Archive files -->
<property name="haar.zip" value="${new.pkg.dir}/haarcascades.zip"/>
<property name="samples.zip" value="${new.pkg.dir}/samples.zip"/>
<property name="exe.zip" value="${new.pkg.dir}/Facemovie-${version}-exe.zip"/>
<!-- Time -->
<tstamp>
<format property="TODAY" pattern="yyyy-MM-dd" />
</tstamp>
</target>
<!-- CLEAN : Removes all compiled stuff -->
<target name="clean" depends="init" description="Removes all compiled stuff">
<echo message="Removes build folder"/>
<delete dir="${base.dir}/build"/>
<echo message="Removes dist folder"/>
<delete dir="${base.dir}/dist"/>
<echo message="Removes all compiled Python files"/>
<delete>
<fileset dir="${base.dir}" includes="**/*.pyc"/>
</delete>
<echo message="Removes old doc"/>
<delete includeEmptyDirs="true">
<fileset dir="${doc.dir}/build" includes="**/*"/>
</delete>
</target>
<!-- COMPILE : Checks that all Python files compile before packaging -->
<target name="compile" depends="init" >
<py-compile dir="${src.dir}" pythonpath="${src.dir}" optimize="0"/>
<py-compile dir="${test.dir}" pythonpath="${test.dir}" optimize="0"/>
</target>
<!-- DOC : Generates documentation for the project -->
<target name="doc" depends="init,compile">
<exec dir="." executable="sphinx-build">
<arg line="${doc.dir}/source ${doc.dir}/build"/>
</exec>
</target>
<!-- EXE : Generates single Windows executable -->
<target name="exe" depends="init">
<py-run script="setup.py" pythonpath="${base.dir}" optimize="0">
<arg value="build"/>
</py-run>
</target>
<!-- PACKAGING -->
<!-- package.clean : Moves old packages into proper folder -->
<target name="package.clean" depends="init">
<move todir="${old.pkg.dir}">
<fileset dir="${curr.pkg.dir}">
<include name="*/*"/>
</fileset>
</move>
<delete includeEmptyDirs="true">
<fileset dir="${curr.pkg.dir}" includes="**/*"/>
</delete>
</target>
<!-- package.create : Creates the new output folder and saves static data in it -->
<target name="package.create" depends="init">
<echo message="Creating output folder"/>
<mkdir dir="${new.pkg.dir}"/>
<echo message="Compressing HaarCascades"/>
<delete file="${haar.zip}"/>
<zip destfile="${haar.zip}" update="true">
<zipfileset dir="${haar.dir}" prefix="haarcascades" excludes="*.py"/>
</zip>
<echo message="Compressing Samples"/>
<delete file="${samples.zip}"/>
<zip destfile="${samples.zip}" update="true">
<zipfileset dir="${samples.dir}" prefix="samples" excludes="*.py"/>
</zip>
<echo message="Compressing Samples"/>
<delete file="${samples.zip}"/>
<zip destfile="${samples.zip}" update="true">
<zipfileset dir="${samples.dir}" prefix="samples" excludes="*.py"/>
</zip>
</target>
<!-- package.win : Creates the application package for Windows -->
<target name="package.win" depends="init,package.create">
<echo message="Creating Windows archive"/>
<delete file="${exe.zip}"/>
<zip destfile="${exe.zip}">
<zipfileset dir="${base.dir}/dist" includes="Facemoviefier.exe"/>
<zipfileset dir="${base.dir}" includes="README.markdown"/>
<zipfileset dir="${haar.dir}" excludes="*.py" prefix="haarcascades"/>
</zip>
</target>
<!-- -->
<target name="print" description="Just prints some information">
</target>
</project>