<?xml version="1.0"?> <!-- This build file packages the phing files, builds a package.xml (version 2) for installation using PEAR and creates the TAR and TGZ files. --> <project name="phing" basedir="." default="main"> <property name="phing.home" value=".."/> <property name="build.base.dir" value="build"/> <property name="pkgname" value="phing-${version}"/> <property name="build.src.dir" value="${build.base.dir}/${pkgname}"/> <!-- some default properties --> <property name="notes">This is the latest release of Phing.</property> <property name="state" value="stable"/> <taskdef name="pear-package" classname="BuildPhingPEARPackageTask" classpath="."/> <fileset dir="${phing.home}/classes/phing" id="classes"> <include name="**"/> </fileset> <fileset dir="${phing.home}/docs" id="docs"> <include name="example/**"/> <include name="phing_guide/book/**"/> </fileset> <fileset dir="${phing.home}" id="etc"> <include name="etc/**"/> <exclude name="etc/VERSION.TXT"/> </fileset> <fileset dir="${phing.home}" id="scripts"> <include name="bin/pear-*"/> <include name="bin/phing.php"/> </fileset> <fileset dir="${phing.home}" id="misc"> <include name="CHANGELOG"/> <include name="CREDITS"/> <include name="README"/> <include name="TODO"/> <exclude name="INSTALL*"/> </fileset> <!-- ============================================== Main entry point ============================================== --> <target name="main" if="version" depends="versioncheck,copy-files,create-package-xml,tar"/> <!-- =================================================================== Target: checks if language was given, otherwise fail =================================================================== --> <target name="versioncheck" unless="version"> <echo message="====================================================="/> <echo message="Version not specified. You must enter a version. In"/> <echo message="the future you can add this to build.properties or"/> <echo message="enter it on the command line: "/> <echo message=" "/> <echo message="-Dversion=2.0.0b1"/> <echo message="====================================================="/> <input propertyname="version" promptChar=":">Phing version for package</input> <property name="pkgname" value="phing-${version}" override="true"/> <property name="build.src.dir" value="${build.base.dir}/${pkgname}" override="true"/> </target> <!-- ============================================== Copy the desired files into the build/ dir making sure to put them in the directory structure that will be needed for PEAR install ============================================== --> <target name="copy-files"> <echo>-----------------------------</echo> <echo>| Creating directory layout |</echo> <echo>-----------------------------</echo> <delete dir="${build.base.dir}"/> <copy todir="${build.src.dir}"> <fileset refid="classes"/> <fileset refid="docs"/> <fileset refid="etc"/> <fileset refid="scripts"/> <fileset refid="misc"/> </copy> <append destFile="${build.src.dir}/etc/VERSION.TXT">Phing version ${version}</append> <chmod file="${build.src.dir}/bin/pear-phing" mode="755"/> </target> <!-- ============================================== Create a PEAR package.xml which will guide the installation. ============================================== --> <target name="create-package-xml" depends="versioncheck" if="version"> <echo>-----------------------------</echo> <echo>| Creating PEAR package.xml |</echo> <echo>-----------------------------</echo> <echo></echo> <echo>... (This step may take some time) ...</echo> <delete file="${tarfile}"/> <pear-package dir="${build.src.dir}" destFile="${build.base.dir}/package.xml" version="${version}" state="${state}" notes="${notes}"> <fileset refid="classes"/> <fileset refid="docs"/> <fileset refid="etc"/> <fileset refid="misc"/> <fileset refid="scripts"/> <fileset dir="${build.src.dir}"> <include name="etc/VERSION.TXT"/> </fileset> </pear-package> </target> <!-- ============================================== Create a tar.gz of the files, which will be installed by pear package manager. ============================================== --> <target name="tar"> <echo>-----------------------------</echo> <echo>| Creating TAR packages |</echo> <echo>-----------------------------</echo> <property name="tgzfile" value="${build.base.dir}/${pkgname}.tgz"/> <delete file="${tgzfile}"/> <tar compression="gzip" destFile="${tgzfile}" basedir="${build.base.dir}" /> <property name="tarfile" value="${build.base.dir}/${pkgname}.tar"/> <delete file="${tarfile}"/> <tar compression="none" destFile="${tarfile}" basedir="${build.base.dir}" /> </target> </project>