<!-- Ant build file for Swift Mailer (Standard Edition) --> <project name="Swift Mailer SE" default="bundle"> <!-- Config settings --> <property name="path" value="." /> <property name="builddir" value="${path}/build" /> <property name="src.versionfile" value="${path}/VERSION" /> <!-- Generate version info from VERSION file --> <loadfile property="bundle.name" srcFile="${src.versionfile}"> <filterchain> <striplinebreaks /> </filterchain> </loadfile> <!-- Generate version number --> <loadfile property="bundle.version" srcFile="${src.versionfile}"> <filterchain> <striplinebreaks /> <tokenfilter> <replacestring from="Swift-" to=""/> </tokenfilter> </filterchain> </loadfile> <property name="src.readmefile" value="${path}/README" /> <property name="src.changesfile" value="${path}/CHANGES" /> <property name="src.libdir" value="${path}/lib" /> <property name="src.testsuite" value="${path}/test-suite" /> <property name="src.tests" value="${path}/tests" /> <property name="builddir.package" value="${builddir}/${bundle.name}" /> <property name="runtests" value="" /> <filelist id="src.licenses" dir="${path}"> <file name="LICENSE" /> </filelist> <fileset id="build.simpletest.unneeded" dir="${builddir.package}/test-suite/lib/simpletest"> <include name="docs/" /> <include name="tutorials/" /> <include name="extensions/" /> <include name="test/" /> <include name="packages/" /> </fileset> <!-- Bundle all files into a central location --> <target name="bundle" depends="prepare, clean, copy-classes"> <copy file="${src.versionfile}" todir="${builddir.package}" /> <copy file="${src.changesfile}" todir="${builddir.package}" /> <copy todir="${builddir.package}"> <filelist refid="src.licenses" /> </copy> <copy file="${src.readmefile}" todir="${builddir.package}" /> <move file="${builddir.package}/tests/acceptance.conf.php.default" tofile="${builddir.package}/tests/acceptance.conf.php" /> <move file="${builddir.package}/tests/smoke.conf.php.default" tofile="${builddir.package}/tests/smoke.conf.php" /> </target> <!-- Copy some *.default files to their required files if needed --> <target name="prepare"> <copy file="${src.tests}/acceptance.conf.php.default" tofile="${src.tests}/acceptance.conf.php" /> <copy file="${src.tests}/smoke.conf.php.default" tofile="${src.tests}/smoke.conf.php" /> </target> <!-- Clean out the build directory --> <target name="clean"> <delete includeemptydirs="true"> <fileset dir="${builddir}" includes="**/*" /> </delete> </target> <!-- Copy all classes from the class path to the bundle --> <target name="copy-classes"> <copy todir="${builddir.package}/lib"> <fileset dir="${src.libdir}" /> <filterchain> <replacetokens> <token key="SWIFT_VERSION_NUMBER" value="${bundle.version}"/> </replacetokens> </filterchain> </copy> <copy todir="${builddir.package}/test-suite"> <fileset dir="${src.testsuite}" /> </copy> <copy todir="${builddir.package}/tests"> <fileset dir="${src.tests}" /> </copy> <delete includeemptydirs="true"> <fileset refid="build.simpletest.unneeded" /> </delete> </target> <!-- Package up the project as a gzip file --> <target name="package" depends="bundle"> <tar destfile="${builddir.package}.tar.gz" compression="gzip" longfile="gnu"> <fileset dir="${builddir}" /> </tar> <delete includeemptydirs="true"> <fileset dir="${builddir.package}" includes="**" /> </delete> </target> <!-- Run the included unit tests --> <target name="test" depends="prepare, clean, copy-classes"> <exec executable="php" failonerror="true"> <env key="_" value="php" /> <arg value="${builddir.package}/test-suite/run.php" /> <arg value="${runtests}" /> </exec> </target> </project>