2 <project name="SabreDAV" default="build" basedir=".">
4 <!-- Any default properties -->
5 <property file="build.properties" />
7 <!-- Where to write api documentation -->
8 <property name="sabredav.apidocspath" value="docs/api" />
10 <target name="build" depends="init, test, clean">
13 <echo msg="Building Sabre pear package" />
14 <mkdir dir="build/Sabre" />
15 <copy todir="build/Sabre">
17 <include name="Sabre/autoload.php" />
20 <copy todir="build/Sabre">
22 <include name="LICENSE" />
25 <exec command="bin/pearpackage3.php make Sabre" checkreturn="true" />
26 <exec command="pear package" dir="build/Sabre" checkreturn="true" />
28 <echo msg="Building Sabre_HTTP pear package" />
29 <mkdir dir="build/Sabre_HTTP" />
30 <mkdir dir="build/Sabre_HTTP/Sabre" />
31 <copy todir="build/Sabre_HTTP" includeemptydirs="true" >
33 <include name="Sabre/HTTP/**" />
36 <copy todir="build/Sabre_HTTP">
38 <include name="LICENSE" />
39 <include name="ChangeLog" />
40 <include name="examples/basicauth.php" />
41 <include name="examples/digestauth.php" />
44 <exec command="bin/pearpackage3.php make Sabre_HTTP" checkreturn="true" />
45 <exec command="pear package" dir="build/Sabre_HTTP" checkreturn="true" />
47 <echo msg="Building Sabre_DAV pear package" />
48 <mkdir dir="build/Sabre_DAV" />
49 <mkdir dir="build/Sabre_DAV/Sabre" />
50 <copy todir="build/Sabre_DAV" includeemptydirs="true" >
52 <include name="Sabre/DAV/**" />
53 <exclude name="Sabre/DAVACL/**" />
54 <include name="Sabre.includes.php" />
57 <copy todir="build/Sabre_DAV" includeemptydirs="true">
59 <include name="LICENSE" />
60 <include name="ChangeLog" />
61 <include name="examples/fileserver.php" />
62 <include name="examples/simplefsserver.php" />
63 <include name="examples/sql/*.locks.sql" />
64 <include name="examples/sql/*.users.sql" />
65 <include name="examples/webserver/*.conf" />
68 <exec command="bin/pearpackage3.php make Sabre_DAV" checkreturn="true" />
69 <exec command="pear package" dir="build/Sabre_DAV" checkreturn="true" />
72 <echo msg="Building Sabre_DAVACL pear package" />
73 <mkdir dir="build/Sabre_DAVACL" />
74 <mkdir dir="build/Sabre_DAVACL/Sabre" />
75 <copy todir="build/Sabre_DAVACL" includeemptydirs="true" >
77 <include name="Sabre/DAVACL/**" />
80 <mkdir dir="build/Sabre_DAVACL" />
81 <copy todir="build/Sabre_DAVACL">
83 <include name="LICENSE" />
84 <include name="ChangeLog" />
85 <include name="examples/sql/*.principals.sql" />
88 <exec command="bin/pearpackage3.php make Sabre_DAVACL" checkreturn="true" />
89 <exec command="pear package" dir="build/Sabre_DAVACL" checkreturn="true" />
92 <echo msg="Building Sabre_CalDAV pear package" />
93 <mkdir dir="build/Sabre_CalDAV" />
94 <mkdir dir="build/Sabre_CalDAV/Sabre" />
95 <copy todir="build/Sabre_CalDAV" includeemptydirs="true" >
97 <include name="Sabre/CalDAV/**" />
100 <mkdir dir="build/Sabre_CalDAV" />
101 <copy todir="build/Sabre_CalDAV">
103 <include name="LICENSE" />
104 <include name="ChangeLog" />
105 <include name="examples/calendarserver.php" />
106 <include name="examples/sql/*.calendars.sql" />
109 <exec command="bin/pearpackage3.php make Sabre_CalDAV" checkreturn="true" />
110 <exec command="pear package" dir="build/Sabre_CalDAV" checkreturn="true" />
113 <echo msg="Building Sabre_CardDAV pear package" />
114 <mkdir dir="build/Sabre_CardDAV" />
115 <mkdir dir="build/Sabre_CardDAV/Sabre" />
116 <copy todir="build/Sabre_CardDAV" includeemptydirs="true" >
118 <include name="Sabre/CardDAV/**" />
121 <mkdir dir="build/Sabre_CardDAV" />
122 <copy todir="build/Sabre_CardDAV">
124 <include name="LICENSE" />
125 <include name="ChangeLog" />
126 <include name="examples/addressbookserver.php" />
127 <include name="examples/sql/*.addressbooks.sql" />
130 <exec command="bin/pearpackage3.php make Sabre_CardDAV" checkreturn="true" />
131 <exec command="pear package" dir="build/Sabre_CardDAV" checkreturn="true" />
134 <echo msg="Building Sabre_VObject pear package" />
135 <mkdir dir="build/Sabre_VObject" />
136 <mkdir dir="build/Sabre_VObject/Sabre" />
137 <copy todir="build/Sabre_VObject" includeemptydirs="true" >
139 <include name="Sabre/VObject/**" />
142 <mkdir dir="build/Sabre_VObject" />
143 <copy todir="build/Sabre_VObject">
145 <include name="LICENSE" />
146 <include name="ChangeLog" />
149 <exec command="bin/pearpackage3.php make Sabre_VObject" checkreturn="true" />
150 <exec command="pear package" dir="build/Sabre_VObject" checkreturn="true" />
152 <!-- moving tgz files -->
154 <mapper type="flatten" />
155 <fileset dir="build/">
156 <include name="**/*.tgz" />
161 <echo>Creating combined SabreDAV build</echo>
162 <mkdir dir="build/SabreDAV" />
163 <mkdir dir="build/SabreDAV/lib" />
164 <mkdir dir="build/SabreDAV/lib/Sabre" />
165 <mkdir dir="build/SabreDAV/lib/Sabre/CalDAV" />
166 <mkdir dir="build/SabreDAV/lib/Sabre/DAV" />
167 <mkdir dir="build/SabreDAV/lib/Sabre/DAV/Auth" />
168 <mkdir dir="build/SabreDAV/lib/Sabre/DAV/Locks" />
169 <mkdir dir="build/SabreDAV/lib/Sabre/HTTP" />
170 <mkdir dir="build/SabreDAV/lib/Sabre/VObject" />
171 <mkdir dir="build/SabreDAV/tests" />
172 <mkdir dir="build/SabreDAV/tests/Sabre" />
173 <mkdir dir="build/SabreDAV/tests/Sabre/CalDAV" />
174 <mkdir dir="build/SabreDAV/tests/Sabre/DAV" />
175 <mkdir dir="build/SabreDAV/tests/Sabre/HTTP" />
176 <mkdir dir="build/SabreDAV/tests/Sabre/DAV/Auth" />
177 <mkdir dir="build/SabreDAV/tests/Sabre/DAV/Locks" />
178 <mkdir dir="build/SabreDAV/tests/Sabre/VObject" />
179 <copy todir="build/SabreDAV" includeemptydirs="true">
181 <include name="lib/**/*.php" />
182 <include name="lib/Sabre/DAV/Browser/assets/**" />
183 <include name="ChangeLog" />
184 <include name="LICENSE" />
185 <include name="examples/**.php" />
186 <include name="examples/**/*.sql" />
187 <include name="bin/naturalselection.py" />
188 <include name="bin/migrateto17.php" />
189 <include name="tests/**/*.xml" />
190 <include name="tests/**/*.php" />
193 <mkdir dir="build/SabreDAV/tests/temp" />
194 <zip destfile="build/SabreDAV-${sabredav.version}.zip" basedir="build/SabreDAV" prefix="SabreDAV/" />
198 <target name="clean" depends="init">
199 <echo msg="Removing build files (cleaning up distribution)" />
200 <delete dir="docs/api" />
201 <delete dir="build" />
204 <target name="release" depends="init,clean,test,build">
205 <echo>Creating Git release tag</echo>
206 <exec command="git tag ${sabredav.version}" checkreturn="false" passthru="1" />
207 <echo>Uploading to Google Code</echo>
208 <propertyprompt propertyName="googlecode.username" promptText="Enter your googlecode username" useExistingValue="true" />
209 <propertyprompt propertyName="googlecode.password" promptText="Enter your googlecode password" useExistingValue="true" />
210 <exec command="bin/googlecode_upload.py -s 'SabreDAV ${sabredav.version}' -p sabredav --labels=${sabredav.ucstability} -u '${googlecode.username}' -w '${googlecode.password}' build/SabreDAV-${sabredav.version}.zip" checkreturn="true" />
214 <phpunit haltonfailure="1" haltonerror="1" bootstrap="tests/bootstrap.php" haltonskipped="1" printsummary="1">
216 <fileset dir="tests">
217 <include name="**/*.php"/>
223 <target name="apidocs" depends="init">
225 <echo>Creating api documentation using PHP documentor</echo>
226 <echo>Writing to ${sabredav.apidocspath}</echo>
227 <phpdoc title="SabreDAV API documentation"
228 destdir="${sabredav.apidocspath}"
230 output="HTML:frames:phphtmllib">
232 <fileset dir="./lib">
233 <include name="**/*.php" />
235 <projdocfileset dir=".">
236 <include name="ChangeLog" />
237 <include name="LICENSE" />
246 <!-- This sets SabreDAV version information -->
247 <adhoc-task name="sabredav-version"><![CDATA[
249 class SabreDAV_VersionTask extends Task {
251 public function main() {
253 include_once 'lib/Sabre/DAV/Version.php';
254 $this->getProject()->setNewProperty('sabredav.version',Sabre_DAV_Version::VERSION);
255 $this->getProject()->setNewProperty('sabredav.stability',Sabre_DAV_Version::STABILITY);
256 $this->getProject()->setNewProperty('sabredav.ucstability',ucwords(Sabre_DAV_Version::STABILITY));
264 <echo>SabreDAV version ${sabredav.version}</echo>