Last active
January 3, 2017 15:54
-
-
Save Caffe1neAdd1ct/0bc2ef4a36dc870e83fed62493bc882b to your computer and use it in GitHub Desktop.
Cake 1.3 Phing Build Script with Composer
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<project name="my-project-name" default="bundle" basedir="." description="Build file for my-project-name."> | |
<property name="export.dir" value="build/export" /> | |
<autoloader autoloaderpath="vendor/autoload.php"/> | |
<fileset dir="app/tmp/" id="tmp"> | |
<include name="**" /> | |
<exclude name="**/.gitkeep" /> | |
<exclude name=".gitkeep" /> | |
</fileset> | |
<fileset dir="${export.dir}/logs/" id="logs"> | |
<include name="**"/> | |
</fileset> | |
<fileset dir="." id ="all"> | |
<include name="**" /> | |
<exclude name="build/**" /> | |
<exclude name="mvc/**" /> | |
<exclude name="docs/**" /> | |
<exclude name="logs/**" /> | |
<exclude name=".gitignore" /> | |
<exclude name=".gitmodules" /> | |
<exclude name="apidoc.json" /> | |
<exclude name="build.xml" /> | |
<exclude name="public_html/vendor" /> | |
<exclude name="public_html/vendor/**" /> | |
<exclude name="public_html/router.php" /> | |
<exclude name="vendor" /> | |
<exclude name="vendor/**" /> | |
<exclude name="nbproject" /> | |
<exclude name="nbproject/**" /> | |
<exclude name=".gitkeep" /> | |
</fileset> | |
<target name="clean" description="Clean tmp, cache and other generated files."> | |
<delete includeemptydirs="false"> | |
<fileset refid="tmp" /> | |
</delete> | |
<phingcall target="cleanExport" /> | |
</target> | |
<target name="cleanExport" description=""> | |
<delete includeemptydirs="true" failonerror="true"> | |
<fileset dir="${export.dir}" defaultexcludes="false"> | |
<include name="**/**" /> | |
<exclude name=".gitkeep" /> | |
</fileset> | |
</delete> | |
</target> | |
<target name="copy" depends="cleanExport" description="Copy project to export directory ready for bundle prep."> | |
<copy todir="${export.dir}" haltonerror="true"> | |
<fileset refid="all" /> | |
</copy> | |
</target> | |
<target name="composer" depends="copy" description=""> | |
<if> | |
<not> | |
<available file="build/bin/composer.phar" type="file" /> | |
</not> | |
<then> | |
<phingcall target="getComposer"></phingcall> | |
</then> | |
</if> | |
<composer composer="build/bin/composer.phar" command="install"> | |
<arg value="--no-dev" /> | |
<arg value="--working-dir" /> | |
<arg file="${export.dir}" /> | |
</composer> | |
</target> | |
<target name="getComposer" description=""> | |
<httpget url="https://getcomposer.org/composer.phar" dir="build/bin"></httpget> | |
</target> | |
<target name="prepare" depends="composer" description=""> | |
</target> | |
<target name="bundle" depends="prepare" description="Bundle code into artifact file and clean export directory"> | |
<tstamp> | |
<format property="artifact.date" pattern="%Y-%m-%d-%H-%M-%S" locale="en_GB"/> | |
</tstamp> | |
<tar destfile="build/artifacts/release-${artifact.date}.tar.gz" basedir="" compression="gzip" includeemptydirs="true"> | |
<fileset dir="${export.dir}/."> | |
<include name="**/**" /> | |
<exclude name=".gitkeep" /> | |
</fileset> | |
</tar> | |
<phingcall target="cleanExport" /> | |
</target> | |
<target name="cleanLocal" description="Clean local project cache"> | |
<delete> | |
<fileset dir="app/tmp/"> | |
<include name="**" /> | |
</fileset> | |
</delete> | |
</target> | |
</project> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment