113 lines
3.9 KiB
XML
113 lines
3.9 KiB
XML
<!-- 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>
|