mirror of
https://github.com/joomla/joomla-cms.git
synced 2024-08-05 10:40:29 +00:00
168 lines
6.4 KiB
XML
168 lines
6.4 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<project name="joomla" default="build" basedir=".">
|
|
<property name="source" value="." />
|
|
<property name="joomlasource" value="administrator,cli,components,includes,installation,language/en-GB,libraries/cms,modules,plugins,templates" />
|
|
|
|
<target name="clean" description="Clean up and create artifact directories">
|
|
<delete dir="${basedir}/build/api" />
|
|
<delete dir="${basedir}/build/coverage" />
|
|
<delete dir="${basedir}/build/logs" />
|
|
<delete dir="${basedir}/build/pdepend" />
|
|
|
|
<mkdir dir="${basedir}/build/api" />
|
|
<mkdir dir="${basedir}/build/coverage" />
|
|
<mkdir dir="${basedir}/build/logs" />
|
|
<mkdir dir="${basedir}/build/pdepend" />
|
|
</target>
|
|
|
|
<target name="phpunit" description="Run unit tests using PHPUnit and generates junit.xml and clover.xml">
|
|
<exec executable="${basedir}/libraries/vendor/bin/phpunit">
|
|
<arg value="-d" />
|
|
<arg value="zend.enable_gc=0" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="parallelTasks" description="Run the pdepend, phpmd and phpcs tasks in parallel using a maximum of 2 threads.">
|
|
<parallel threadCount="2">
|
|
<sequential>
|
|
<antcall target="pdepend" />
|
|
<antcall target="phpmd" />
|
|
</sequential>
|
|
<antcall target="phpcs" />
|
|
</parallel>
|
|
</target>
|
|
|
|
<target name="phpcs" description="Generate checkstyle.xml using PHP_CodeSniffer">
|
|
<exec executable="phpcs">
|
|
<arg value="--report=checkstyle" />
|
|
<arg value="--extensions=php" />
|
|
<arg value="--encoding=utf-8" />
|
|
<arg value="-p" />
|
|
<arg value="--report-file=${basedir}/build/logs/checkstyle.xml" />
|
|
<arg value="--standard=${basedir}/libraries/vendor/joomla/cms-coding-standards/lib/Joomla-CMS" />
|
|
<arg path="${source}" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="pdepend" description="Generate jdepend.xml and software metrics charts using PHP_Depend">
|
|
<exec executable="pdepend">
|
|
<arg value="--jdepend-xml=${basedir}/build/logs/jdepend.xml" />
|
|
<arg value="--jdepend-chart=${basedir}/build/pdepend/dependencies.svg" />
|
|
<arg value="--overview-pyramid=${basedir}/build/pdepend/overview-pyramid.svg" />
|
|
<arg value="--ignore=build,tests" />
|
|
<arg path="${source}" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="installdep" description="Install build dependencies using composer">
|
|
<exec executable="composer">
|
|
<arg value="update" />
|
|
<arg value="--no-dev" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="phpmd" description="Generate pmd.xml using PHPMD">
|
|
<exec executable="phpmd">
|
|
<arg path="${joomlasource}" />
|
|
<arg value="xml" />
|
|
<arg value="${basedir}/build/phpmd.xml" />
|
|
<arg value="--reportfile" />
|
|
<arg value="${basedir}/build/logs/pmd.xml" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="phpdoc" description="Generate API documentation using phpDocumentor">
|
|
<exec executable="phpdoc">
|
|
<arg value="-i" />
|
|
<arg path="${basedir}/libraries/vendor/joomla/*/Tests/,${basedir}/libraries/vendor/joomla/string/src/phputf8/,${basedir}/libraries/vendor/composer/,${basedir}/libraries/vendor/joomla/event/vendor/,${basedir}/libraries/vendor/joomla/session/Joomla/Session/_Tests/,${basedir}/libraries/vendor/joomla/session/Joomla/Session/Tests/,${basedir}/libraries/idna_convert/" />
|
|
<arg value="-d" />
|
|
<arg path="${basedir}/libraries/cms/,${basedir}/libraries/joomla/,${basedir}/libraries/legacy/,${basedir}/libraries/src/,${basedir}/libraries/vendor/joomla/" />
|
|
<arg value="-f" />
|
|
<arg path="${basedir}/libraries/loader.php" />
|
|
<arg value="-t" />
|
|
<arg path="${basedir}/build/api/" />
|
|
<arg value="--template" />
|
|
<arg value="joomla" />
|
|
<arg value="--title" />
|
|
<arg value="Joomla! CMS 4.0 API" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="lint" description="Perform syntax check of source code files">
|
|
<apply executable="php" failonerror="true">
|
|
<arg value="-l" />
|
|
|
|
<fileset dir="${basedir}/administrator">
|
|
<include name="**/*.php" />
|
|
<modified />
|
|
</fileset>
|
|
|
|
<fileset dir="${basedir}/cli">
|
|
<include name="**/*.php" />
|
|
<modified />
|
|
</fileset>
|
|
|
|
<fileset dir="${basedir}/components">
|
|
<include name="**/*.php" />
|
|
<modified />
|
|
</fileset>
|
|
|
|
<fileset dir="${basedir}/installation">
|
|
<include name="**/*.php" />
|
|
<modified />
|
|
</fileset>
|
|
|
|
<fileset dir="${basedir}/includes">
|
|
<include name="**/*.php" />
|
|
<modified />
|
|
</fileset>
|
|
|
|
<fileset dir="${basedir}/language/en-GB">
|
|
<include name="**/*.php" />
|
|
<modified />
|
|
</fileset>
|
|
|
|
<fileset dir="${basedir}/libraries">
|
|
<include name="**/*.php" />
|
|
<modified />
|
|
</fileset>
|
|
|
|
<fileset dir="${basedir}/modules">
|
|
<include name="**/*.php" />
|
|
<modified />
|
|
</fileset>
|
|
|
|
<fileset dir="${basedir}/templates">
|
|
<include name="**/*.php" />
|
|
<modified />
|
|
</fileset>
|
|
</apply>
|
|
</target>
|
|
|
|
<target name="make-updatecomponent" description="Create an installable package from the com_joomlaupdate component" >
|
|
<delete dir="${basedir}/build/com_joomlaupdate-pkg" includeemptydirs="true" failonerror="false" />
|
|
<mkdir dir="${basedir}/build/com_joomlaupdate-pkg" />
|
|
<echo message="Create com_joomlaupdate package" />
|
|
<mkdir dir="${basedir}/build/com_joomlaupdate-pkg/staging" />
|
|
<mkdir dir="${basedir}/build/com_joomlaupdate-pkg/staging/admin" />
|
|
<copy todir="${basedir}/build/com_joomlaupdate-pkg/staging/admin">
|
|
<fileset dir="${basedir}/administrator/components/com_joomlaupdate" />
|
|
</copy>
|
|
<move file="${basedir}/build/com_joomlaupdate-pkg/staging/admin/joomlaupdate.xml" todir="${basedir}/build/com_joomlaupdate-pkg/staging" />
|
|
<echo message="Copy the media folder" />
|
|
<copy todir="${basedir}/build/com_joomlaupdate-pkg/staging/media/js">
|
|
<fileset dir="${basedir}/media/com_joomlaupdate/js" />
|
|
</copy>
|
|
<echo message="Copy language files" />
|
|
<mkdir dir="${basedir}/build/com_joomlaupdate-pkg/staging/admin/language" />
|
|
<copyfile src="${basedir}/administrator/language/en-GB/en-GB.com_joomlaupdate.ini" dest="${basedir}/build/com_joomlaupdate-pkg/staging/admin/language/en-GB.com_joomlaupdate.ini"/>
|
|
<copyfile src="${basedir}/administrator/language/en-GB/en-GB.com_joomlaupdate.sys.ini" dest="${basedir}/build/com_joomlaupdate-pkg/staging/admin/language/en-GB.com_joomlaupdate.sys.ini"/>
|
|
<echo message="Archiving package" />
|
|
<mkdir dir="${basedir}/build/com_joomlaupdate-pkg/packages" />
|
|
<zip destfile="${basedir}/build/com_joomlaupdate-pkg/packages/com_joomlaupdate.zip" basedir="${basedir}/build/com_joomlaupdate-pkg/staging" />
|
|
</target>
|
|
|
|
<target name="build" depends="clean,phpunit,parallelTasks" />
|
|
</project>
|