1 <?xml version="1.0" encoding="utf-8"?>
2 <project name="phorkie" default="zip" basedir=".">
4 phorkie phing build file.
5 This script should provide a one-stop tool for all administrative
6 tasks around phorkie, like creating a release version,
9 <property name="version" value="0.9.0" />
10 <property name="stability" value="beta" />
12 <property name="libdir" value="${phing.dir}/lib"/>
14 <property name="zipfile" value="${phing.project.name}-${version}.tar.bz2" />
15 <property name="pharfile" value="${phing.project.name}-${version}.phar" />
17 <property name="pharpath" value="${phing.dir}/dist/${pharfile}" />
18 <property name="distfile" value="dist/${zipfile}" />
20 <fileset id="fs.zip" dir=".">
21 <include name="data/**"/>
22 <include name="scripts/**"/>
23 <include name="src/**"/>
24 <include name="www/**"/>
26 <include name="ChangeLog"/>
27 <include name="LICENSE"/>
28 <include name="NEWS.rst"/>
29 <include name="README.rst"/>
31 <exclude name="**/.git/"/>
32 <exclude name="**/.gitignore/"/>
33 <exclude name="data/cache/**"/>
34 <exclude name="data/config.php"/>
35 <exclude name="www/**/.phar"/>
36 <exclude name="www/repos"/>
39 <fileset id="fs.phar" dir="${phing.dir}">
40 <include name="data/**"/>
41 <include name="lib/**"/>
42 <include name="scripts/**"/>
43 <include name="src/**"/>
44 <include name="www/**"/>
46 <include name="ChangeLog"/>
47 <include name="README.rst"/>
49 <exclude name="**/.git/"/>
50 <exclude name="**/.gitignore/"/>
51 <exclude name="data/cache/**"/>
52 <exclude name="data/config.php"/>
53 <exclude name="www/**/.phar"/>
54 <exclude name="www/repos/**"/>
56 <exclude name="lib/*/*/.github/**"/>
57 <exclude name="lib/*/*/doc/**"/>
58 <exclude name="lib/*/*/docs/**"/>
59 <exclude name="lib/*/*/examples/**"/>
60 <exclude name="lib/*/*/test/**"/>
61 <exclude name="lib/*/*/tests/**"/>
62 <exclude name="lib/*/*/.editorconfig"/>
63 <exclude name="lib/*/*/.travis.yml"/>
64 <exclude name="lib/*/*/build.properties*"/>
65 <exclude name="lib/*/*/build.xml"/>
66 <exclude name="lib/*/*/BUGS"/>
67 <exclude name="lib/*/*/CHANGELOG"/>
68 <exclude name="lib/*/*/LICENSE"/>
69 <exclude name="lib/*/*/README*"/>
70 <exclude name="lib/*/*/package.xml"/>
71 <exclude name="lib/*/*/phpunit.xml*"/>
72 <exclude name="lib/*/*/TODO"/>
75 <fileset id="fs.doc" dir=".">
76 <include name="README.rst"/>
77 <include name="NEWS.rst"/>
81 <target name="phar" depends="preparedirs,collectdeps"
82 description="Create phar file for release"
84 <delete file="${pharpath}"/>
85 <exec command="php scripts/build-rewritemap.php" dir="${phing.dir}"/>
86 <pharpackage basedir="${phing.dir}"
87 destfile="${pharpath}"
88 stub="${phing.dir}/src/stub-phar.php"
91 <fileset refid="fs.phar"/>
94 <exec executable="bzip2" dir="${phing.dir}/dist">
96 <arg file="${pharpath}"/>
101 <target name="collectdeps" description="Copy package dependencies to lib/">
102 <delete dir="${libdir}"/>
103 <mkdir dir="${libdir}"/>
104 <exec executable="composer">
105 <arg value="install"/>
106 <arg value="--no-dev"/>
111 <target name="zip" depends="preparedirs"
112 description="Create zip file for release"
115 The release file is for end users, so it is safe to
116 remove anything developer-related.
118 Test your zip with: unzip -l phorkie-0.1.0.zip
120 <echo msg="Creating distribution zip for phorkie ${version}"/>
121 <delete file="${distfile}" failonerror="false"/>
122 <tar compression="bzip2" destfile="${distfile}"
123 prefix="${phing.project.name}-${version}/"
125 <fileset refid="fs.zip"/>
130 <target name="docs" description="render documentation">
131 <rST format="html" uptodate="true">
132 <fileset refid="fs.doc"/>
133 <mapper type="regexp" from="^(.+?).rst$" to="dist/docs/\1.html"/>
137 <target name="clean-docs" description="delete rendered documentation files">
138 <delete dir="dist/docs" includeemptydirs="yes"/>
142 <target name="release" depends="check,phar,zip"
143 description="Package the new version"
149 <target name="preparedirs">
153 <target name="check" depends="preparedirs"
154 description="Check variables"
156 <fail unless="version" message="Version not defined!" />