Files
FOSSBilling/build.xml
T
Vaidas Lungis c359a5afc5 update ant and travis files
build package only on deploy
2015-03-26 09:50:44 +02:00

152 lines
5.7 KiB
XML

<?xml version="1.0"?>
<project name="BoxBilling" default="build" basedir=".">
<property environment="env" />
<property name="build.dir" value="${basedir}/build" />
<property name="dist.dir" value="${build.dir}/distribution" />
<property name="documentation" value="${build.dir}/documentation" />
<property name="source" value="${build.dir}/source" />
<fileset id="shared-artifacts" dir=".">
<include name="LICENSE"/>
<include name="README.md"/>
<include name="CHANGELOG.md"/>
</fileset>
<fileset id="api-sources" dir="src" followsymlinks="false">
<include name="bb-data/log"/>
<include name="bb-data/cache"/>
<include name="bb-data/uploads"/>
<include name="bb-data/index.html"/>
<include name="bb-data/.htaccess"/>
<exclude name="bb-data/log/*"/>
<exclude name="bb-data/cache/*"/>
<exclude name="bb-data/uploads/*"/>
<include name="bb-vendor/**"/>
<include name="bb-library/**"/>
<include name="bb-modules/**"/>
<include name="bb-locale/**"/>
<include name="bb-themes/**"/>
<include name="bb-uploads/**"/>
<include name="install/**"/>
<include name="bb-config-sample.php"/>
<include name="bb-cron.php"/>
<include name="bb-di.php"/>
<include name="bb-ipn.php"/>
<include name="bb-load.php"/>
<include name="bb-update.php"/>
<include name="rb.php"/>
<include name="index.php"/>
<include name="robots.txt"/>
<include name="htaccess.txt"/>
<exclude name="bb-library/Server/Manager/Directadmin.php"/>
<exclude name="bb-library/Server/Manager/Ispconfig3.php"/>
<exclude name="bb-library/Server/Manager/Kloxo.php"/>
<exclude name="bb-library/Server/Manager/Plesk.php"/>
<exclude name="bb-library/Server/Manager/Virtualmin.php"/>
<exclude name="bb-library/Registrar/includes/**"/>
</fileset>
<target name="clean" description="Clean up and create artifact directories">
<delete dir="src/bb-data/cache"/>
<mkdir dir="src/bb-data/cache"/>
<delete dir="${build.dir}"/>
<mkdir dir="${build.dir}"/>
<mkdir dir="${build.dir}/code-browser"/>
<mkdir dir="${build.dir}/coverage"/>
<mkdir dir="${build.dir}/logs"/>
<mkdir dir="${build.dir}/pdepend"/>
<mkdir dir="${build.dir}/update"/>
<mkdir dir="${dist.dir}"/>
<mkdir dir="${source}"/>
</target>
<target name="clean-vendors" description="Clean up bb-vendors dir for dev dependencies">
<delete dir="src/bb-vendor"/>
<mkdir dir="src/bb-vendor"/>
</target>
<target name="composer" description="Update composer dependencies" depends="clean-vendors">
<exec executable="composer" failonerror="true">
<arg line="--working-dir=src install --no-dev --optimize-autoloader --prefer-dist" />
</exec>
</target>
<target name="composer-dev" description="Update composer dependencies">
<exec executable="composer" failonerror="true">
<arg line="--working-dir=src install --optimize-autoloader --prefer-dist" />
</exec>
</target>
<target name="config" description="Create config file">
<copy file="src/bb-config-sample.php" tofile="src/bb-config.php" overwrite="true"/>
</target>
<target name="test-unit">
<exec executable="src/bb-vendor/bin/phpunit" failonerror="true">
<arg line="tests/bb-library/" />
</exec>
<exec executable="src/bb-vendor/bin/phpunit" failonerror="true">
<arg line="tests/bb-modules/" />
</exec>
</target>
<target name="test-integration">
<exec executable="php" dir="bin" failonerror="true">
<arg line="prepare.php" />
</exec>
<exec executable="src/bb-vendor/bin/phpunit" failonerror="true">
<arg line="--group Core tests/integration/" />
</exec>
</target>
<target name="test-modules">
<exec executable="src/bb-vendor/bin/phpunit" failonerror="true">
<arg line="src/bb-modules/" />
</exec>
</target>
<target name="remove-fonts" description="Remove tFPDF fonts which are not necessary">
<delete>
<fileset dir="${basedir}/src/bb-vendor/rev42/tfpdf/src/font/unifont">
<include name="*"/>
<exclude name="DejaVuSansCondensed-Bold.ttf"/>
<exclude name="DejaVuSansCondensed.ttf"/>
<exclude name="ttfonts.php"/>
</fileset>
</delete>
</target>
<target name="build-api" depends="clean, remove-fonts">
<copy todir="${source}">
<fileset refid="shared-artifacts"/>
</copy>
<copy todir="${source}">
<fileset refid="api-sources"/>
</copy>
<property environment="env"/>
<echo message="Release TAG: ${env.TRAVIS_TAG}" />
<exec executable="sed" failonerror="true" output="${source}/bb-library/Box/Version2.php">
<arg line="s/0.0.1/${env.TRAVIS_TAG}/ ${source}/bb-library/Box/Version.php" />
</exec>
<exec executable="mv" failonerror="true">
<arg line="${source}/bb-library/Box/Version2.php ${source}/bb-library/Box/Version.php" />
</exec>
</target>
<target name="package" depends="remove-fonts">
<zip destfile="${dist.dir}/${ant.project.name}.zip" basedir="${source}" />
</target>
<target name="test" depends="clean, composer-dev, test-unit, test-integration, test-modules"/>
<target name="release" depends="clean, composer, build-api, package" />
<target name="build" depends="config, test"/>
</project>