<?xml version="1.0" encoding="UTF-8"?> <!-- PRADO 3.1 build file - Copyright (C) 2006 PradoSoft Requirements ============ xdebug >= 2.0.0beta4 --> <project name="prado" basedir="." default="help"> <taskdef name="prado-version-check" classname="PradoVersionTask" classpath="buildscripts/phing/tasks"/> <taskdef name="prado-doc" classname="PradoDocTask" classpath="buildscripts/phing/tasks"/> <!-- <taskdef name="prado-pear" classname="PradoPearTask" classpath="buildscripts/phing/tasks"/>--> <taskdef name="prado-quickstart-index" classname="QuickstartIndexTask" classpath="buildscripts/phing/tasks"/> <taskdef name="prado-api-index" classname="ManualIndexTask" classpath="buildscripts/phing/tasks"/> <!-- <taskdef name="prado-test" classname="PradoTestTask" classpath="buildscripts/phing/tasks"/>--> <taskdef name="compact-package" classname="PradoPackageTask" classpath="buildscripts/phing/tasks"/> <taskdef name="prado-quickstart-docs" classname="PradoQuickStartDocs" classpath="buildscripts/phing/tasks" /> <!-- generates ${prado.version} and ${prado.revision} --> <prado-version-check /> <!-- these are required external commands --> <property name="php" value="php" /> <!-- PHP parser --> <property name="hhc" value="hhc" /> <!-- compile phpdoc into CHM --> <property name="pdflatex" value="pdflatex" /> <!-- generates PDF from LaTex --> <property name="zip" value="zip" /> <!-- zip compression --> <property name="pkgname" value="${phing.project.name}-${prado.version}.r${prado.revision}"/> <property name="compact-strip-comments" value="false" /> <property name="build.base.dir" value="build"/> <property name="build.dist.dir" value="${build.base.dir}/dist"/> <property name="build.src.dir" value="${build.base.dir}/${pkgname}"/> <property name="build.doc.dir" value="${build.base.dir}/docs"/> <property name="build.pear.dir" value="${build.base.dir}/pear"/> <property name="build.web.dir" value="${build.base.dir}/web"/> <property name="build.test.dir" value="${build.base.dir}/test-reports"/> <property name="build.coverage.dir" value="${build.base.dir}/code-coverage"/> <property name="build.snapshot.dir" value="${build.base.dir}/snapshot"/> <property name="build.compact.dir" value="${build.base.dir}/${pkgname}/compact" /> <!-- All Source Files in framework --> <fileset dir="." id="framework"> <exclude name="**/.svn"/> <exclude name="**/*.bak"/> <exclude name="**/*~"/> <exclude name="**/pradolite.php" /><!-- will be generated --> <exclude name="**/prado-cli.php" /><!-- will be copied later --> <include name="framework/**/*"/> </fileset> <!-- Surrounding files --> <fileset dir="." id="misc"> <exclude name="**/.svn"/> <exclude name="**/*.bak"/> <exclude name="**/*~"/> <include name="COPYRIGHT"/> <include name="HISTORY"/> <include name="UPGRADE"/> <include name="index.html"/> <include name="requirements/*"/> </fileset> <!-- Documentation ???? --> <fileset dir="." id="docs"> <exclude name="**/.svn"/> <exclude name="**/*.bak"/> <exclude name="**/*~"/> <exclude name="**/latex" /> <exclude name="**/sqlmap_tut.pdf" /> <include name="docs/specs/*"/> <include name="docs/sqlmap/sqlmap.pdf" /> </fileset> <!-- Demos --> <fileset dir="." id="demos"> <exclude name="**/.svn"/> <exclude name="**/*.bak"/> <exclude name="**/*~"/> <exclude name="**/runtime/*"/> <exclude name="**/assets/*"/> <exclude name="**/runtime/*/**"/> <exclude name="**/assets/*/**"/> <exclude name="demos/blog/protected/Data/Blog.db" /> <include name="demos/address-book/**/*"/> <include name="demos/blog/**/*"/> <include name="demos/blog-tutorial/**/*"/> <include name="demos/chat/**/*"/> <include name="demos/composer/**/*"/> <include name="demos/currency-converter/**/*"/> <include name="demos/helloworld/**/*"/> <include name="demos/northwind-db/**/*"/> <include name="demos/personal/**/*"/> <include name="demos/quickstart/**/*"/> <include name="demos/soap/**/*"/> <include name="demos/sqlmap/**/*"/> <include name="demos/time-tracker/**/*"/> </fileset> <!-- Test tools --> <fileset dir="." id="test-tools"> <include name="tests/test_tools/**/*"/> </fileset> <!-- Writable files and directories --> <fileset dir="." id="writables"> <include name="${build.src.dir}/demos/**/runtime" /> <include name="${build.src.dir}/demos/**/assets" /> <include name="${build.src.dir}/demos/blog/protected/Data" /> </fileset> <target name="help"> <echo> Welcome to use PRADO build script! ---------------------------------- You may use the following command format to build a target: phing <target name> where <target name> can be one of the following: For all PRADO developers: - test : run unit tests (results are under /build/test-reports); For PRADO release manager: - dist : create release files; - build : prepare a directory for distribution; - clean : clean up the build directory; - rebuild : clean first and then build; - docs : generate documentation; - pear : generate PEAR packages; - snapshot: generate nightly snapshot; </echo> </target> <!-- bulid compact prado package definitions --> <target name="compact-collections" description="Collections"> <mkdir dir="${build.compact.dir}" /> <mkdir dir="${build.compact.dir}/docs" /> <mkdir dir="${build.compact.dir}/prado-dao" /> <compact-package output="${build.compact.dir}/prado-dao/collections.php" strip="${compact-strip-comments}"> <filelist dir="framework" files="PradoBase.php,TComponent.php,Exceptions/TException.php,interfaces.php" /> <filelist dir="framework/Collections" files="TList.php,TMap.php,TAttributeCollection.php,TPagedList.php,TPagedDataSource.php" /> </compact-package> <delete file="${build.compact.dir}/prado-dao/messages.txt" /> <copy file="framework/Exceptions/messages/messages.txt" tofile="${build.compact.dir}/prado-dao/messages.txt" /> <copy file="COPYRIGHT" tofile="${build.compact.dir}/COPYRIGHT" /> <copy file="HISTORY" tofile="${build.compact.dir}/HISTORY" /> <delete file="${build.compact.dir}/readme.txt" /> <append destFile="${build.compact.dir}/readme.txt">PRADO Framework for PHP 5, version ${prado.version}. See docs/ directory for documentation.</append> <prado-quickstart-docs output="${build.compact.dir}/docs" pages="Advanced/Collections.page,Fundamentals/Components.page"/> </target> <target name="compact-db" description="Database" depends="compact-collections"> <compact-package output="${build.compact.dir}/prado-dao/db.php" strip="${compact-strip-comments}"> <filelist dir="framework/Data" files="TDbConnection.php, TDbCommand.php, TDbDataReader.php, TDbTransaction.php"/> <filelist dir="framework/Data/Common" files="TDbTableInfo.php, TDbTableColumn.php, TDbCommandBuilder.php, TDbMetaData.php" /> </compact-package> <prado-quickstart-docs output="${build.compact.dir}/docs" pages="Database/DAO.page" /> </target> <target name="compact-db-sqlite" description="Sqlite Database" depends="compact-db"> <compact-package output="${build.compact.dir}/prado-dao/db-sqlite.php" strip="${compact-strip-comments}"> <filelist dir="framework/Data/Common/Sqlite" files="TSqliteCommandBuilder.php,TSqliteMetaData.php,TSqliteTableColumn.php,TSqliteTableInfo.php" /> </compact-package> </target> <target name="compact-db-mysql" description="Mysql Database" depends="compact-db"> <compact-package output="${build.compact.dir}/prado-dao/db-mysql.php" strip="${compact-strip-comments}"> <filelist dir="framework/Data/Common/Mysql" files="TMysqlCommandBuilder.php,TMysqlMetaData.php,TMysqlTableColumn.php,TMysqlTableInfo.php" /> </compact-package> </target> <target name="compact-db-pgsql" description="Pgsql Database" depends="compact-db"> <compact-package output="${build.compact.dir}/prado-dao/db-pgsql.php" strip="${compact-strip-comments}"> <filelist dir="framework/Data/Common/Pgsql" files="TPgsqlCommandBuilder.php,TPgsqlMetaData.php,TPgsqlTableColumn.php,TPgsqlTableInfo.php" /> </compact-package> </target> <target name="compact-db-mssql" description="Mssql Database" depends="compact-db"> <compact-package output="${build.compact.dir}/prado-dao/db-mssql.php" strip="${compact-strip-comments}"> <filelist dir="framework/Data/Common/Mssql" files="TMssqlCommandBuilder.php,TMssqlMetaData.php,TMssqlTableColumn.php,TMssqlTableInfo.php" /> </compact-package> </target> <!-- all the db common classes and drivers --> <target name="compact-db-all" depends="compact-db-sqlite,compact-db-mysql,compact-db-pgsql,compact-db-mssql" /> <target name="compact-table-gateway" description="Package Active Record" depends="compact-db-all"> <compact-package output="${build.compact.dir}/prado-dao/table-gateway.php" strip="${compact-strip-comments}"> <filelist dir="framework/Data/DataGateway" files="TDataGatewayCommand.php, TSqlCriteria.php, TTableGateway.php"/> </compact-package> </target> <target name="compact-active-record" description="Package Active Record" depends="compact-table-gateway"> <compact-package output="${build.compact.dir}/prado-dao/active-record.php" strip="${compact-strip-comments}"> <filelist dir="framework/Data/ActiveRecord" files="TActiveRecord.php,TActiveRecordManager.php,Exceptions/TActiveRecordException.php,TActiveRecordCriteria.php,TActiveRecordGateway.php" /> <filelist dir="framework/Data/ActiveRecord/Relations" files="TActiveRecordRelation.php,TActiveRecordRelationContext.php,TActiveRecordHasOne.php,TActiveRecordHasManyAssociation.php,TActiveRecordHasMany.php,TActiveRecordBelongsTo.php" /> </compact-package> <append file="framework/Data/ActiveRecord/Exceptions/messages.txt" destfile="${build.compact.dir}/prado-dao/messages.txt" /> <prado-quickstart-docs output="${build.compact.dir}/docs" pages="Database/ActiveRecord.page" /> </target> <target name="compact-sqlmap" description="Package SqlMap" depends="compact-db-all"> <compact-package output="${build.compact.dir}/prado-dao/sqlmap.php" strip="${compact-strip-comments}"> <filelist dir="framework/Data/SqlMap" files="TSqlMapManager.php,TSqlMapGateway.php" /> <filelist dir="framework/Data/SqlMap/DataMapper" files="TSqlMapException.php,TSqlMapTypeHandlerRegistry.php,TSqlMapCache.php,TPropertyAccess.php,TLazyLoadList.php,TSqlMapPagedList.php"/> <filelist dir="framework/Data/SqlMap/Configuration" files="TSqlMapStatement.php,TDiscriminator.php,TInlineParameterMapParser.php,TParameterMap.php,TParameterProperty.php,TResultMap.php,TResultProperty.php,TSimpleDynamicParser.php,TSqlMapCacheModel.php,TSqlMapXmlConfiguration.php" /> <filelist dir="framework/Data/SqlMap/Statements" files="IMappedStatement.php,TMappedStatement.php,TCachingStatement.php,TUpdateMappedStatement.php,TDeleteMappedStatement.php,TInsertMappedStatement.php,TPreparedCommand.php,TPreparedStatement.php,TPreparedStatementFactory.php,TSelectMappedStatement.php,TSimpleDynamicSql.php,TStaticSql.php"/> </compact-package> <append file="framework/Data/SqlMap/DataMapper/messages.txt" destfile="${build.compact.dir}/prado-dao/messages.txt" /> <prado-quickstart-docs output="${build.compact.dir}/docs" pages="Database/SqlMap.page" /> </target> <target name="compact-northwind" description="Northwind example"> <copy todir="${build.compact.dir}/examples"> <fileset dir="demos/northwind-db/protected/" > <include name="database/**/*"/> <include name="data/**/*"/> </fileset> </copy> <delete file="${build.compact.dir}/examples/example.php" /> <append destfile="${build.compact.dir}/examples/example.php"><![CDATA[<?php include('../prado-dao/collections.php'); include('../prado-dao/db.php'); include('../prado-dao/db-sqlite.php'); include('../prado-dao/table-gateway.php'); include('../prado-dao/active-record.php'); include('../prado-dao/sqlmap.php'); $sqlite_dir = './data'; $sqlite_db = $sqlite_dir.'/Northwind.db'; if(!is_file($sqlite_db)) die("Unable to find database file $sqlite_db"); if(!is_writable($sqlite_dir)) die("Please make sure that the directory $sqlite_dir is writable by PHP process."); if(!is_writable($sqlite_db)) die("Please make sure that the sqlite database file $sqlite_db is writable by PHP process."); //add directory "database" for autoload $class_dir = realpath(dirname(__FILE__).'/database'); set_include_path(get_include_path().PATH_SEPARATOR.$class_dir); spl_autoload_register(array('PradoBase', 'autoload')); //other forms of auto load may be used. $conn = new TDbConnection("sqlite:$sqlite_db"); //set default database connection TActiveRecordManager::getInstance()->setDbConnection($conn); //start playing foreach(Employee::finder()->findAll() as $employee) var_dump($employee->LastName); //fetch all regions and its territories. foreach(Region::finder()->withTerritories()->findAll() as $region) { var_dump($region->RegionDescription); foreach($region->Territories as $territory) var_dump($territory->TerritoryDescription); } //sqlmap example $manager = new TSqlMapManager($conn); $manager->configureXml('./database/sqlmap.xml'); $sqlmap = $manager->getSqlMapGateway(); var_dump($sqlmap->queryForList('products-with-price', 50)); //similar query, but not identical //Product::finder()->withCategory()->findAll('UnitPrice < ?', 50) ?>]]></append> </target> <target name="compact-dao" description="All packages" depends="compact-active-record,compact-sqlmap,compact-northwind" /> <!-- end compact packaging --> <target name="build" description="Building standard PRADO package v${prado.version}.${prado.revision}"> <echo>Building pradolite.php...</echo> <delete file="framework/pradolite.php"/> <exec command="${php} build.php" dir="buildscripts/phpbuilder" passthru="true"/> <echo>Copying files to build directory...</echo> <copy todir="${build.src.dir}"> <fileset refid="demos"/> <fileset refid="docs"/> <fileset refid="framework"/> <fileset refid="misc"/> <fileset refid="test-tools" /> </copy> <copy file="buildscripts/classtree/DWExtensionReadme.txt" tofile="${build.src.dir}/editors/Dreamweaver/readme.txt" /> <copy file="framework/pradolite.php" tofile="${build.src.dir}/framework/pradolite.php" /> <copy file="framework/prado-cli.php" tofile="${build.src.dir}/framework/prado-cli.php" /> <echo>Changing file permissions...</echo> <chmod mode="0777"> <fileset refid="writables" /> </chmod> <echo>Building quickstart demo search indices...</echo> <prado-quickstart-index todir="${build.src.dir}/demos/quickstart/protected/index/quickstart" /> </target> <target name="clean"> <echo>Cleaning up the mess</echo> <delete dir="${build.base.dir}"/> </target> <target name="rebuild" depends="clean,build" /> <target name="docs" depends="build"> <echo>Build PDF + CHM + HTML Docs, it may take about 30 mins</echo> <echo>Building quickstart.pdf...</echo> <delete> <fileset dir="."> <include name="buildscripts/texbuilder/quickstart/*.aux" /> </fileset> </delete> <exec command="${php} build.php" dir="buildscripts/texbuilder/quickstart" passthru="true"/> <exec command="${pdflatex} quickstart.tex -interaction=nonstopmode -max-print-line=120" dir="buildscripts/texbuilder/quickstart" passthru="true"/> <exec command="${pdflatex} quickstart.tex -interaction=nonstopmode -max-print-line=120" dir="buildscripts/texbuilder/quickstart" passthru="true"/> <exec command="${pdflatex} quickstart.tex -interaction=nonstopmode -max-print-line=120" dir="buildscripts/texbuilder/quickstart" passthru="true"/> <move file="buildscripts/texbuilder/quickstart/quickstart.pdf" todir="${build.doc.dir}"/> <echo>Building API manuals...</echo> <delete dir="${build.doc.dir}/manual"/> <mkdir dir="${build.doc.dir}/manual" /> <prado-doc phpdoc="${php} buildscripts/PhpDocumentor/phpdoc" title="PRADO v${prado.version} API Manual" destdir="${build.doc.dir}/manual" sourcepath="${build.src.dir}/framework" ignorelist="*pradolite.php,*prado-cli.php,*3rdParty/*,*Javascripts/*,*I18N/core/*" output="HTML:frames:default,CHM:default:default,HTML:Smarty:PradoSoft" /> <echo>Indexing API manuals...</echo> <prado-api-index docdir="${build.doc.dir}/manual/HTMLSmartyConverter" todir="${build.doc.dir}/manual/HTMLSmartyConverter" /> <copy file="buildscripts/index/search.php" todir="${build.doc.dir}/manual/HTMLSmartyConverter" /> <exec command="${php} build.php" dir="buildscripts/classtree" passthru="true"/> <echo>Generating CHM Content (Quickstart + ClassDocs)</echo> <exec command="${php} build.php" dir="buildscripts/chmbuilder" passthru="true"/> <!-- done on project website <echo>Generating CHM Content (WIKI)</echo> <exec command="${php} build.php" dir="buildscripts/wikibuilder" passthru="true"/> --> <if> <equals arg1="${prado.winbuild}" arg2="true"/> <then> <exec command="${hhc} ${build.doc.dir}/prado3_manual.hhp" /> </then> </if> </target> <target name="dist" depends="rebuild,docs"> <echo>Moving doc files to build...</echo> <mkdir dir="${build.dist.dir}" /> <move file="${build.doc.dir}/quickstart.pdf" todir="${build.src.dir}/docs" /> <move todir="${build.src.dir}/docs/manual"> <fileset dir="${build.doc.dir}/manual/HTMLframesConverter"> <include name="**/**" /> </fileset> </move> <if> <equals arg1="${prado.winbuild}" arg2="true"/> <then> <move file="${build.doc.dir}/prado3_manual.chm" tofile="${build.src.dir}/docs/prado3_manual.chm" /> </then> </if> <echo>Generating compressed distribution files...</echo> <if> <equals arg1="${prado.winbuild}" arg2="false"/> <then> <exec command="tar czvf ${pkgname}.tar.gz ${pkgname}" dir="${build.base.dir}"/> <move file="${build.base.dir}/${pkgname}.tar.gz" todir="${build.dist.dir}" /> </then> </if> <!-- <exec command="zip ${pkgname}.zip -r ${pkgname}" dir="${build.base.dir}" /> <move file="${build.base.dir}/${pkgname}.zip" todir="${build.dist.dir}" /> --> <echo>Generating files for pradosoft.com...</echo> <echo>Compiling class docs...</echo> <exec command="${php} build.php" dir="buildscripts/classtree" passthru="true"/> <move file="buildscripts/classtree/classes.data" todir="${build.web.dir}/protected/Data" /> <echo>Moving HTML docs to Web folder...</echo> <mkdir dir="${build.web.dir}" /> <move todir="${build.web.dir}/docs/manual"> <fileset dir="${build.doc.dir}/manual/HTMLSmartyConverter"> <include name="**/**" /> </fileset> </move> <echo> Distribution Not Completed Yet!!! The following steps need to be manually performed in order to complete the PRADO distribution: 1. Package DreamWeaver extension by running DW extension manager with buildscripts/classtree/PRADO.mxi and saving the generated file as "${build.src.dir}/editors/Dreamweaver/PRADO.mxp" 2. Use winzip (on Windows) and gzip (on Linux) to generate the compressed release files of the direcotry "${build.src.dir}". </echo> </target> <target name="test" description="Running unit tests"> <delete dir="${build.test.dir}"/> <mkdir dir="${build.test.dir}"/> <prado-test codecoverage="false" haltonfailure="false" haltonerror="false" printsummary="true"> <batchtest> <fileset dir="tests/unit"> <include name="**/*Test.php"/> </fileset> </batchtest> <formatter type="xml" todir="${build.test.dir}" outfile="unit-tests.xml"/> </prado-test> <phpunit2report infile="${build.test.dir}/unit-tests.xml" format="frames" styledir="buildscripts/phing/style" todir="${build.test.dir}"/> </target> <target name="snapshot" depends="rebuild"> <echo>Generating compressed distribution files...</echo> <if> <equals arg1="${prado.winbuild}" arg2="false"/> <then> <exec command="tar czvf ${pkgname}.tar.gz ${pkgname}" dir="${build.base.dir}"/> <move file="${build.base.dir}/${pkgname}.tar.gz" todir="${build.dist.dir}" /> </then> </if> <exec command="zip ${pkgname}.zip -r ${pkgname}" dir="${build.base.dir}" /> <move file="${build.base.dir}/${pkgname}.zip" tofile="${build.snapshot.dir}/prado-latest.zip" /> <copy file="${build.src.dir}/HISTORY" tofile="${build.snapshot.dir}/changelog-latest.txt" /> </target> <!-- <taskdef name="phplint" classname="PhpLintTask" classpath="buildscripts/phing/tasks"/> <taskdef name="xmllint" classname="XmlLintTask" classpath="buildscripts/phing/tasks"/> <taskdef name="analyze" classname="ZendCodeAnalyzerTask" classpath="buildscripts/phing/tasks"/> <taskdef name="pear-package" classname="BuildPradoPEARPackageTask" classpath="buildscripts/phing/tasks"/> <target name="pear" depends="" description="Creating PEAR package"> <mkdir dir="${build.pear.dir}" /> <prado-pear pkgdir="${build.pear.dir}" channel="pear.php.net" version="${prado.version}" state="stable" category="framework" package="prado" summary="PRADO is a ...." pkgdescription="detailed description..." notes="www.pradosoft.com" license="BSD" /> </target> <target name="test" description="Run unit tests"> <echo>Preparing directory structure</echo> <delete dir="${reports.dir}"/> <mkdir dir="${reports.dir}"/> <delete dir="${reports.unit.dir}"/> <delete dir="${reports.codecoverage.dir}"/> <if> <equals arg1="${codecoverage}" arg2="true"/> <then> <mkdir dir="${reports.codecoverage.dir}"/> <echo>Preparing Code Coverage Database</echo> <coverage-setup database="${reports.codecoverage.dir}/coverage.db"> <fileset dir="${src.dir}"> <include name="**/*.php"/> <exclude name="Web/Javascripts/js/clientscripts.php"/> <exclude name="Data/TCache.php"/> <exclude name="DataAccess/**/*.php"/> <exclude name="I18N/core/Gettext/MO.php"/> <exclude name="I18N/core/Gettext/PO.php"/> <exclude name="I18N/core/util.php"/> <exclude name="I18N/TGlobalization.php"/> <exclude name="I18N/TGlobalizationAutoDetect.php"/> <exclude name="Security/TUserManager.php"/> <exclude name="Security/TMembershipManager.php"/> <exclude name="core.php"/> <exclude name="3rdParty/**/*.php"/> <exclude name="pradolite.php"/> <exclude name="prado.php"/> </fileset> </coverage-setup> </then> </if> <echo>Running Unit Tests</echo> <phpunit2 codecoverage="${codecoverage}" haltonfailure="false" haltonerror="false" printsummary="true"> <batchtest> <fileset dir="${tests.dir}"> <include name="**/*Test.php"/> </fileset> </batchtest> <formatter type="xml" todir="${reports.dir}" outfile="logfile.xml"/> </phpunit2> <echo>Creating Unit Test Report</echo> <mkdir dir="${reports.unit.dir}"/> <phpunit2report infile="${reports.dir}/logfile.xml" format="frames" styledir="${reports.style.dir}" todir="${reports.unit.dir}"/> <if> <equals arg1="${codecoverage}" arg2="true"/> <then> <echo>Creating Code Coverage Report</echo> <coverage-report outfile="${reports.dir}/coverage.xml" geshipath="${reports.geshi.dir}" geshilanguagespath="${reports.geshi.dir}/geshi"> <report todir="${reports.codecoverage.dir}" styledir="${reports.style.dir}"/> </coverage-report> </then> </if> </target> <target name="lint" description="Check syntax of PHP source files"> <phplint> <fileset refid="src"/> </phplint> </target> <target name="lint-demos" description="Check syntax of demo files and configuration files"> <echo>Validate application configuration</echo> <xmllint schema="${application.xsd}"> <fileset dir="demos"> <exclude name="**/.svn"/> <include name="**/application.xml"/> </fileset> </xmllint> <echo>Validate page configuration</echo> <xmllint schema="${config.xsd}"> <fileset dir="demos"> <exclude name="**/.svn"/> <include name="**/config.xml"/> </fileset> </xmllint> <phplint> <fileset dir="demos"> <exclude name="**/.svn"/> <include name="**/*.php"/> </fileset> </phplint> </target> <target name="build-pear-package"> <echo>Preparing files for PEAR package...</echo> <delete dir="${build.pear.dir}"/> <mkdir dir="${build.pear.dir}"/> <copy todir="${build.pear.dir}"> <fileset refid="framework"/> <fileset dir="${build.base.dir}"> <include name="${prado.lite}"/> </fileset> </copy> <echo>Creating package.xml...</echo> <pear-package dir="${build.pear.dir}" destFile="${build.base.dir}/pear/package.xml" version="${version}" state="${pear.state}" notes="${notes}"> <fileset refid="framework"/> <fileset dir="${build.base.dir}"> <include name="${prado.lite}"/> </fileset> </pear-package> </target> <target name="dist-pear" depends="build-pear-package" description="Create PRADO PEAR package"> <delete file="${dist.pearfile}"/> <mkdir dir="${dist.base.dir}"/> <exec command="pear package" dir="${build.pear.dir}" passthru="true"/> <move file="${build.pear.dir}/prado3-${version}.tgz" tofile="${dist.pearfile}"/> </target> <target name="analyze" description="Analyze PHP source files with Zend Code Analyzer"> <analyze analyzerPath="${zca}" disable="var-ref-notmodified,var-use-before-def,var-arg-unused,if-if-else"> <fileset refid="src"/> </analyze> </target> <target name="install" description="Install PEAR package locally"> <exec command="sudo pear install ${dist.pearfile}" dir="." passthru="true"/> </target> <target name="uninstall" description="Uninstall PEAR package locally"> <exec command="sudo pear uninstall pear.pradosoft.com/prado3" dir="." passthru="true"/> </target> --> </project>