<?xml version="1.0" encoding="UTF-8"?>
<project name="Simplesamlphp Saml2" default="build">
<target name="build"
depends="prepare,composer-run-install,php-lint-ci,phpmd-ci,phpcs-ci,phpcpd-ci,php-security-checker,phpunit-ci"/>
<target name="clean" description="Cleanup build artifacts">
<delete dir="build/artifacts/coverage"/>
<delete dir="build/artifacts/logs"/>
</target>
<target name="prepare-dev" description="Prepare for dev build">
</target>
<target name="prepare" depends="clean" description="Prepare for build">
<mkdir dir="build/artifacts/coverage"/>
<mkdir dir="build/artifacts/logs"/>
</target>
<target name="check-composer">
<available file="composer.phar" property="composer.installed"/>
</target>
<target name="composer-install" depends="check-composer" unless="composer.installed">
<get src="http://getcomposer.org/composer.phar" dest="composer.phar"/>
</target>
<target name="composer-update" depends="composer-install">
<exec executable="php" failonerror="true">
<arg line="composer.phar self-update"/>
</exec>
</target>
<target name="composer-run-install" depends="composer-update">
<exec executable="php" failonerror="true">
<arg line="composer.phar install --dev --prefer-source"/>
</exec>
</target>
<target name="php-lint-ci" description="Perform syntax check of sourcecode files">
<apply executable="php" failonerror="true">
<arg value="-l"/>
<fileset dir="src">
<include name="**/*.php"/>
<modified/>
</fileset>
</apply>
</target>
<target name="php-security-checker" description="Check your composer dependencies for insecure components">
<exec executable="vendor/bin/security-checker" failonerror="false">
<arg value="security:check"/>
<arg value="--verbose"/>
<arg value="composer.lock"/>
</exec>
</target>
<target name="phpmd" description="Perform project mess detection using PHPMD and print human readable output. Intended for usage on the command line before committing.">
<exec executable="vendor/bin/phpmd" failonerror="true">
<arg path="src"/>
<arg value="text"/>
<arg value="tools/phpmd/ruleset.xml"/>
<!-- These classes are already messes, exclude them for now... -->
<arg value="--exclude" />
<arg value="${basedir}/src/SAML2/AuthnRequest.php,${basedir}/src/SAML2/Assertion.php,${basedir}/src/SAML2/SOAP.php,${basedir}/src/SAML2/SOAPClient.php,${basedir}/src/SAML2/Utils.php,${basedir}/src/SAML2/XML/md/EntityDescriptor.php,${basedir}/src/SAML2/XML/md/RoleDescriptor.php,${basedir}/src/SAML2/XML/saml/SubjectConfirmationData.php" />
</exec>
</target>
<target name="phpmd-ci"
description="Perform project mess detection using PHPMD creating a log file for the continuous integration server">
<exec executable="vendor/bin/phpmd" output="/dev/null" failonerror="true">
<arg path="src"/>
<arg value="xml"/>
<arg value="tools/phpmd/ruleset.xml"/>
<arg value="--reportfile"/>
<arg value="build/artifacts/logs/pmd.xml"/>
<!-- These classes are already messes, exclude them for now... -->
<arg value="--exclude" />
<arg value="${basedir}/src/SAML2/AuthnRequest.php,${basedir}/src/SAML2/Assertion.php,${basedir}/src/SAML2/SOAP.php,${basedir}/src/SAML2/SOAPClient.php,${basedir}/src/SAML2/Utils.php,${basedir}/src/SAML2/XML/md/EntityDescriptor.php,${basedir}/src/SAML2/XML/md/RoleDescriptor.php,${basedir}/src/SAML2/XML/saml/SubjectConfirmationData.php" />
</exec>
</target>
<target name="phpcs"
description="Find coding standard violations using PHP_CodeSniffer">
<exec executable="vendor/bin/phpcs" failonerror="true">
<arg value="--standard=tools/phpcs/ruleset.xml"/>
<arg value="--extensions=php"/>
<arg path="src"/>
</exec>
</target>
<target name="phpcs-ci"
description="Find coding standard violations using PHP_CodeSniffer creating a log file for the continuous integration server">
<exec executable="vendor/bin/phpcs" output="/dev/null" failonerror="true">
<arg value="--report-checkstyle=build/artifacts/logs/checkstyle-php.xml"/>
<arg value="--standard=tools/phpcs/ruleset.xml"/>
<arg value="--extensions=php"/>
<arg path="src"/>
</exec>
</target>
<target name="phpcpd-ci" description="Find duplicate code using PHPCPD">
<exec executable="vendor/bin/phpcpd" failonerror="false">
<arg value="--log-pmd"/>
<arg value="build/artifacts/logs/pmd-cpd.xml"/>
<arg path="src"/>
</exec>
</target>
<target name="phpunit" description="Run unit tests with PHPUnit">
<exec executable="vendor/bin/phpunit" failonerror="true">
<arg line="--configuration=${basedir}/tools/phpunit"/>
</exec>
</target>
<target name="phpunit-ci" description="Run unit tests with PHPUnit">
<exec executable="vendor/bin/phpunit" failonerror="true">
<arg line="--configuration=${basedir}/tools/phpunit"/>
<arg line="--coverage-html=build/artifacts/coverage"/>
<arg line="--log-junit=build/artifacts/logs/junit.xml"/>
<arg line="--coverage-clover=build/artifacts/logs/clover.xml"/>
</exec>
</target>
</project>
|