123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- <?xml version="1.0" encoding="UTF-8"?>
- <project name="phpcpd" default="setup">
- <target name="setup" depends="clean,install-dependencies"/>
- <target name="clean" description="Cleanup build artifacts">
- <delete dir="${basedir}/vendor"/>
- <delete file="${basedir}/composer.lock"/>
- <delete>
- <fileset dir="${basedir}/build">
- <include name="**/phpcpd*.phar"/>
- <include name="**/phpcpd*.phar.asc"/>
- </fileset>
- </delete>
- </target>
- <target name="install-dependencies" unless="dependencies-installed" depends="-dependencies-installed" description="Install dependencies with Composer">
- <exec executable="composer" taskname="composer">
- <arg value="update"/>
- <arg value="--no-interaction"/>
- <arg value="--no-progress"/>
- <arg value="--no-ansi"/>
- <arg value="--no-suggest"/>
- </exec>
- </target>
- <target name="install-tools" unless="tools-installed" depends="-tools-installed" description="Install tools using phive">
- <exec executable="phive" taskname="phive">
- <arg value="install"/>
- </exec>
- </target>
- <target name="test" depends="install-dependencies,install-tools" description="Run tests with PHPUnit">
- <exec executable="${basedir}/tools/phpunit" failonerror="true"/>
- </target>
- <target name="signed-phar" description="Create signed PHAR archive of PHPCPD and all its dependencies (release)" depends="phar">
- <exec executable="bash" outputproperty="version">
- <arg value="-c" />
- <arg value="${basedir}/phpcpd --version | awk 'BEGIN { ORS = ""; } {print $2}'" />
- </exec>
- <exec executable="gpg" failonerror="true">
- <arg value="--armor" />
- <arg value="--detach-sign" />
- <arg path="${basedir}/build/phpcpd-${version}.phar" />
- </exec>
- </target>
- <target name="phar" description="Create PHAR archive of phpcpd and all its dependencies" depends="setup,phar-build">
- </target>
- <target name="phar-build">
- <exec executable="bash" outputproperty="version">
- <arg value="-c" />
- <arg value="${basedir}/phpcpd --version | awk 'BEGIN { ORS = ""; } {print $2}'" />
- </exec>
- <copy todir="${basedir}/build/phar/src">
- <fileset dir="${basedir}/src">
- <include name="**/*.php" />
- </fileset>
- </copy>
- <copy todir="${basedir}/build/phar/finder-facade">
- <fileset dir="${basedir}/vendor/sebastian/finder-facade/src">
- <include name="**/*.php" />
- <exclude name="**/autoload.php" />
- </fileset>
- </copy>
- <copy todir="${basedir}/build/phar/version">
- <fileset dir="${basedir}/vendor/sebastian/version/src">
- <include name="**/*.php" />
- <exclude name="**/autoload.php" />
- </fileset>
- </copy>
- <copy todir="${basedir}/build/phar/php-timer">
- <fileset dir="${basedir}/vendor/phpunit/php-timer/src">
- <include name="**/*.php" />
- </fileset>
- </copy>
- <copy todir="${basedir}/build/phar/symfony">
- <fileset dir="${basedir}/vendor/symfony">
- <include name="**/*.php" />
- <exclude name="**/Tests/**" />
- </fileset>
- </copy>
- <copy todir="${basedir}/build/phar/fdomdocument">
- <fileset dir="${basedir}/vendor/theseer/fdomdocument/src"/>
- </copy>
- <exec executable="${basedir}/build/phar-manifest.php" output="${basedir}/build/phar/manifest.txt"/>
- <exec executable="${basedir}/tools/phpab">
- <arg value="--all" />
- <arg value="--phar" />
- <arg value="--output" />
- <arg path="${basedir}/build/phpcpd-${version}.phar" />
- <arg value="--template" />
- <arg path="${basedir}/build/phar-autoload.php.in" />
- <arg value="--indent" />
- <arg value=" " />
- <arg path="${basedir}/build/phar" />
- </exec>
- <chmod file="${basedir}/build/phpcpd-${version}.phar" perm="ugo+rx"/>
- <delete dir="${basedir}/build/phar"/>
- </target>
- <target name="-dependencies-installed">
- <available file="${basedir}/vendor" property="dependencies-installed" type="dir"/>
- </target>
- <target name="-tools-installed">
- <available file="${basedir}/tools" property="tools-installed" type="dir"/>
- </target>
- </project>
|