Update jQuery from 1.12.4 to 3.7.1
[phorkie.git] / build.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <project name="phorkie" default="zip" basedir=".">
3   <!--
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,
7     tagging a release
8   -->
9   <property name="version"    value="0.9.0" />
10   <property name="stability"  value="beta" />
11
12   <property name="libdir"      value="${phing.dir}/lib"/>
13
14   <property name="zipfile"     value="${phing.project.name}-${version}.tar.bz2" />
15   <property name="pharfile"    value="${phing.project.name}-${version}.phar" />
16
17   <property name="pharpath"    value="${phing.dir}/dist/${pharfile}" />
18   <property name="distfile"    value="dist/${zipfile}" />
19
20   <fileset id="fs.zip" dir=".">
21    <include name="data/**"/>
22    <include name="scripts/**"/>
23    <include name="src/**"/>
24    <include name="www/**"/>
25
26    <include name="ChangeLog"/>
27    <include name="LICENSE"/>
28    <include name="NEWS.rst"/>
29    <include name="README.rst"/>
30
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"/>
37   </fileset>
38
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/**"/>
45
46    <include name="ChangeLog"/>
47    <include name="README.rst"/>
48
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/**"/>
55
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"/>
73   </fileset>
74
75   <fileset id="fs.doc" dir=".">
76    <include name="README.rst"/>
77    <include name="NEWS.rst"/>
78   </fileset>
79
80
81   <target name="phar" depends="preparedirs,collectdeps"
82           description="Create phar file for release"
83   >
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"
89                 alias="phorkie.phar"
90    >
91     <fileset refid="fs.phar"/>
92    </pharpackage>
93
94    <exec executable="bzip2" dir="${phing.dir}/dist">
95     <arg value="-kf"/>
96     <arg file="${pharpath}"/>
97    </exec>
98   </target>
99
100
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"/>
107    </exec>
108   </target>
109
110
111   <target name="zip" depends="preparedirs"
112    description="Create zip file for release"
113    >
114     <!--
115       The release file is for end users, so it is safe to
116       remove anything developer-related.
117
118       Test your zip with: unzip -l phorkie-0.1.0.zip
119     -->
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}/"
124     >
125      <fileset refid="fs.zip"/>
126     </tar>
127   </target>
128
129
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"/>
134    </rST>
135   </target>
136
137   <target name="clean-docs" description="delete rendered documentation files">
138    <delete dir="dist/docs" includeemptydirs="yes"/>
139   </target>
140
141
142   <target name="release" depends="check,phar,zip"
143    description="Package the new version"
144    >
145    <!-- meta-target -->
146   </target>
147
148
149   <target name="preparedirs">
150     <mkdir dir="dist" />
151   </target>
152
153   <target name="check" depends="preparedirs"
154    description="Check variables"
155    >
156     <fail unless="version" message="Version not defined!" />
157   </target>
158
159 </project>