summaryrefslogtreecommitdiff
path: root/build.xml
diff options
context:
space:
mode:
authorCiro Mattia Gonano <ciromattia@gmail.com>2013-09-11 15:56:48 +0200
committerCiro Mattia Gonano <ciromattia@gmail.com>2013-09-11 15:57:07 +0200
commit3069eaf35e833ffe4a1c1c7829dd7e168ae27420 (patch)
treed0c2e4d934cc34ba7d4232f759923b5a257dcb21 /build.xml
parentb833247ce597ec26159b46c8dfbea7f1e265950b (diff)
Merge up to r3319
Diffstat (limited to 'build.xml')
-rw-r--r--build.xml1019
1 files changed, 351 insertions, 668 deletions
diff --git a/build.xml b/build.xml
index f15698ba..3d6100d1 100644
--- a/build.xml
+++ b/build.xml
@@ -1,668 +1,351 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- PRADO 3.2 build file - Copyright (C) 2013 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="phpunitreporttask" classname="PhpUnitReportTask" 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 &lt;target name&gt;
-
- where &lt;target name&gt; can be one of the following:
-
- For all PRADO developers:
- - test : run unit tests (results are under /build/test-reports);
- - lint : run lint on framework
- - lint-demos : run lint on demos
-
- 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/ExtensionReadme.html" tofile="${build.src.dir}/editors/ExtensionReadme.html" />
- <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"/>
- <!-- use -interaction=nonstopmode to see compilation errors in the shell output -->
- <exec command="${pdflatex} -interaction=batchmode quickstart.tex" 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/source/*,*packages.php,*JSMin.php,*I18N/core/*,*WebControls/assets/*"
- 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" />
- <copy todir="${build.src.dir}/docs/manual">
- <fileset dir="${build.doc.dir}/manual/HTMLframesConverter">
- <include name="**/**" />
- </fileset>
- </copy>
- <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}" />
- <copy todir="${build.web.dir}/docs/manual">
- <fileset dir="${build.doc.dir}/manual/HTMLSmartyConverter">
- <include name="**/**" />
- </fileset>
- </copy>
-
- <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>
- <phpunitreporttask infile="${build.test.dir}/unit-tests.xml" format="frames" 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="jslint" classname="JslLintTask" 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/jsmin.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 source files">
- <echo>Checking php files..</echo>
- <phplint deprecatedAsError="true" >
- <fileset dir="framework">
- <exclude name="**/.svn"/>
- <exclude name="**/*.bak"/>
- <exclude name="**/*~"/>
- <include name="**/*.php"/>
- </fileset>
- </phplint>
-
- <echo>Checking js files..</echo>
- <jsllint>
- <fileset dir="framework">
- <exclude name="**/.svn"/>
- <exclude name="**/*.bak"/>
- <exclude name="**/*~"/>
- <include name="**/*.js"/>
- </fileset>
- </jsllint>
-
- <echo>Checking xml files..</echo>
- <xmllint>
- <fileset dir="framework">
- <exclude name="**/.svn"/>
- <exclude name="**/*.bak"/>
- <exclude name="**/*~"/>
- <include name="**/*.xml"/>
- </fileset>
- </xmllint>
- </target>
-
- <target name="lint-demos" description="Check syntax of demo files">
- <echo>Checking php files..</echo>
- <phplint deprecatedAsError="true" >
- <fileset dir="demos">
- <exclude name="**/.svn"/>
- <exclude name="**/*.bak"/>
- <exclude name="**/*~"/>
- <include name="**/*.php"/>
- </fileset>
- </phplint>
-
- <echo>Checking js files..</echo>
- <jsllint>
- <fileset dir="demos">
- <exclude name="**/.svn"/>
- <exclude name="**/*.bak"/>
- <exclude name="**/*~"/>
- <include name="**/*.js"/>
- </fileset>
- </jsllint>
-
- <echo>Checking xml files..</echo>
- <xmllint>
- <fileset dir="demos">
- <exclude name="**/.svn"/>
- <exclude name="**/*.bak"/>
- <exclude name="**/*~"/>
- <include name="**/*.xml"/>
- </fileset>
- </xmllint>
- </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>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ PRADO 3.2 build file - Copyright (C) 2013 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-quickstart-index" classname="QuickstartIndexTask" classpath="buildscripts/phing/tasks"/>
+ <taskdef name="prado-api-index" classname="ManualIndexTask" classpath="buildscripts/phing/tasks"/>
+ <taskdef name="phpunitreporttask" classname="PhpUnitReportTask" 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="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.web.dir" value="${build.base.dir}/web"/>
+ <property name="build.test.dir" value="${build.base.dir}/test-reports"/>
+ <property name="build.snapshot.dir" value="${build.base.dir}/snapshot"/>
+
+ <!--
+ 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 &lt;target name&gt;
+
+ where &lt;target name&gt; can be one of the following:
+
+ For all PRADO developers:
+ - test : run unit tests (results are under /build/test-reports);
+ - lint : run lint on framework
+ - lint-demos : run lint on demos
+
+ 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;
+ - snapshot: generate nightly snapshot;
+ </echo>
+ </target>
+
+ <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/ExtensionReadme.html" tofile="${build.src.dir}/editors/ExtensionReadme.html"/>
+ <copy file="framework/pradolite.php" tofile="${build.src.dir}/framework/pradolite.php"/>
+ <copy file="bin/prado-cli.php" tofile="${build.src.dir}/bin/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="api-manual" depends="build">
+ <echo>Building API manuals...</echo>
+ <delete dir="${build.doc.dir}/manual"/>
+ <mkdir dir="${build.doc.dir}/manual"/>
+ <apigen
+ executable="bin/apigen.php"
+ source="${build.src.dir}/framework"
+ destination="${build.doc.dir}/manual"
+ exclude="*pradolite.php,*prado-cli.php,*3rdParty/*,*Javascripts/source/*,*packages.php,*JSMin.php,*I18N/core/*,*WebControls/assets/*"
+ title="PRADO v${prado.version} API Manual"
+ deprecated="true"
+ todo="true"
+ sourcecode="false"
+ php="false"
+ templateconfig="buildscripts/apigen/pradosoft/config.neon"
+ />
+ <echo>Cleaning svn directories from API manuals...</echo>
+ <delete dir="${build.doc.dir}/manual/resources/.svn" includeemptydirs="true" failonerror="true" />
+
+ <echo>Indexing API manuals...</echo>
+ <prado-api-index docdir="${build.doc.dir}/manual" todir="${build.doc.dir}/manual"/>
+ <copy file="buildscripts/index/search.php" todir="${build.doc.dir}/manual" />
+ </target>
+
+ <target name="docs" depends="build,api-manual">
+ <echo>Build PDF + HTML Docs, it may take about 5 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"/>
+ <!-- use -interaction=nonstopmode to see compilation errors in the shell output -->
+ <exec command="${pdflatex} -interaction=batchmode quickstart.tex" dir="buildscripts/texbuilder/quickstart" passthru="true"/>
+ <move file="buildscripts/texbuilder/quickstart/quickstart.pdf" todir="${build.doc.dir}"/>
+
+ <exec command="${php} build.php" dir="buildscripts/classtree" passthru="true"/>
+ </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"/>
+ <copy todir="${build.src.dir}/docs/manual">
+ <fileset dir="${build.doc.dir}/manual">
+ <include name="**/**"/>
+ </fileset>
+ </copy>
+
+ <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>
+
+ <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}"/>
+ <copy todir="${build.web.dir}/docs/manual">
+ <fileset dir="${build.doc.dir}/manual">
+ <include name="**/**"/>
+ </fileset>
+ </copy>
+
+ <echo>
+ Distribution Completed!!!
+ </echo>
+ </target>
+
+ <target name="test" description="Running unit tests">
+ <delete dir="${build.test.dir}"/>
+ <mkdir dir="${build.test.dir}"/>
+ <phpunit 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"/>
+ </phpunit>
+ <phpunitreporttask infile="${build.test.dir}/unit-tests.xml" format="frames" 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="jslint" classname="JslLintTask" classpath="buildscripts/phing/tasks"/>
+
+ <target name="lint" description="Check syntax of source files">
+ <echo>Checking php files..</echo>
+ <phplint deprecatedAsError="true">
+ <fileset dir="framework">
+ <exclude name="**/.svn"/>
+ <exclude name="**/*.bak"/>
+ <exclude name="**/*~"/>
+ <include name="**/*.php"/>
+ </fileset>
+ </phplint>
+
+ <echo>Checking js files..</echo>
+ <jsllint>
+ <fileset dir="framework">
+ <exclude name="**/.svn"/>
+ <exclude name="**/*.bak"/>
+ <exclude name="**/*~"/>
+ <include name="**/*.js"/>
+ </fileset>
+ </jsllint>
+
+ <echo>Checking xml files..</echo>
+ <xmllint>
+ <fileset dir="framework">
+ <exclude name="**/.svn"/>
+ <exclude name="**/*.bak"/>
+ <exclude name="**/*~"/>
+ <include name="**/*.xml"/>
+ </fileset>
+ </xmllint>
+ </target>
+
+ <target name="lint-demos" description="Check syntax of demo files">
+ <echo>Checking php files..</echo>
+ <phplint deprecatedAsError="true">
+ <fileset dir="demos">
+ <exclude name="**/.svn"/>
+ <exclude name="**/*.bak"/>
+ <exclude name="**/*~"/>
+ <include name="**/*.php"/>
+ </fileset>
+ </phplint>
+
+ <echo>Checking js files..</echo>
+ <jsllint>
+ <fileset dir="demos">
+ <exclude name="**/.svn"/>
+ <exclude name="**/*.bak"/>
+ <exclude name="**/*~"/>
+ <include name="**/*.js"/>
+ </fileset>
+ </jsllint>
+
+ <echo>Checking xml files..</echo>
+ <xmllint>
+ <fileset dir="demos">
+ <exclude name="**/.svn"/>
+ <exclude name="**/*.bak"/>
+ <exclude name="**/*~"/>
+ <include name="**/*.xml"/>
+ </fileset>
+ </xmllint>
+ </target>
+
+</project>