comparison mercurial.xml @ 5:8e6ade135483

first version of build.xml
author Pavel.Sher
date Mon, 14 Jul 2008 20:09:42 +0400
parents
children c05869fe20af
comparison
equal deleted inserted replaced
3:dbf4236e7fb7 5:8e6ade135483
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <project name="mercurial" default="all">
3
4
5 <property file="mercurial.properties"/>
6 <!-- Uncomment the following property if no tests compilation is needed -->
7 <!--
8 <property name="skip.tests" value="true"/>
9 -->
10
11 <!-- Compiler options -->
12
13 <property name="compiler.debug" value="on"/>
14 <property name="compiler.generate.no.warnings" value="off"/>
15 <property name="compiler.args" value=""/>
16 <property name="compiler.max.memory" value="128m"/>
17 <patternset id="ignored.files">
18 <exclude name="**/CVS/**"/>
19 <exclude name="**/SCCS/**"/>
20 <exclude name="**/RCS/**"/>
21 <exclude name="**/rcs/**"/>
22 <exclude name="**/.DS_Store/**"/>
23 <exclude name="**/.svn/**"/>
24 <exclude name="**/vssver.scc/**"/>
25 <exclude name="**/vssver2.scc/**"/>
26 <exclude name="**/.sbas/**"/>
27 <exclude name="**/.IJI.*/**"/>
28 <exclude name="**/.pyc/**"/>
29 <exclude name="**/.pyo/**"/>
30 </patternset>
31 <patternset id="compiler.resources">
32 <include name="**/?*.properties"/>
33 <include name="**/?*.xml"/>
34 <include name="**/?*.gif"/>
35 <include name="**/?*.png"/>
36 <include name="**/?*.jpeg"/>
37 <include name="**/?*.jpg"/>
38 <include name="**/?*.html"/>
39 <include name="**/?*.dtd"/>
40 <include name="**/?*.tld"/>
41 </patternset>
42
43
44 <!-- Project Libraries -->
45
46 <path id="library.teamcity-openapi.classpath">
47 <pathelement location="${basedir}/mercurial/lib/server-openapi.jar"/>
48 <pathelement location="${basedir}/mercurial/lib/web-openapi.jar"/>
49 <pathelement location="${basedir}/mercurial/lib/server-model.jar"/>
50 <pathelement location="${basedir}/mercurial/lib/common.jar"/>
51 <pathelement location="${basedir}/mercurial/lib/utils.jar"/>
52 <pathelement location="${basedir}/mercurial/lib/patches.jar"/>
53 </path>
54
55 <path id="library.idea-openapi.classpath">
56 <pathelement location="${basedir}/mercurial/lib/annotations.jar"/>
57 <pathelement location="${basedir}/mercurial/lib/openapi.jar"/>
58 <pathelement location="${basedir}/mercurial/lib/util.jar"/>
59 </path>
60
61 <path id="library.teamcity-testssupport.classpath">
62 <pathelement location="${basedir}/mercurial-tests/lib/patches-tests.jar"/>
63 <pathelement location="${basedir}/mercurial-tests/lib/test.jar"/>
64 </path>
65
66 <path id="library.junit.classpath">
67 <pathelement location="${basedir}/mercurial-tests/lib/junit-3.8.1.jar"/>
68 </path>
69
70 <path id="library.testng.classpath">
71 <pathelement location="${basedir}/mercurial-tests/lib/testng-5.7-jdk15.jar"/>
72 </path>
73
74 <path id="library.jmock.classpath">
75 <pathelement location="${basedir}/mercurial-tests/lib/jmock-SNAPSHOT.jar"/>
76 </path>
77
78 <path id="library.teamcity-impl.classpath">
79 <pathelement location="${basedir}/mercurial/lib/patches-impl.jar"/>
80 </path>
81
82 <path id="library.log4j.classpath">
83 <pathelement location="${basedir}/mercurial/lib/log4j-1.2.12.jar"/>
84 </path>
85
86 <path id="library.gnu_trove.classpath">
87 <pathelement location="${basedir}/mercurial/lib/trove4j.jar"/>
88 </path>
89
90
91 <!-- Application Server Libraries -->
92
93 <!-- Modules -->
94
95
96 <!-- Module main -->
97
98 <dirname property="module.main.basedir" file="${ant.file}"/>
99
100
101
102 <property name="compiler.args.main" value="${compiler.args}"/>
103
104 <property name="main.output.dir" value="${module.main.basedir}/out/production/main"/>
105 <property name="main.testoutput.dir" value="${module.main.basedir}/out/test/main"/>
106
107 <path id="main.module.bootclasspath">
108 <!-- Paths to be included in compilation bootclasspath -->
109 </path>
110
111 <path id="main.module.classpath"/>
112
113 <path id="main.runtime.module.classpath">
114 <pathelement location="${main.output.dir}"/>
115 <pathelement location="${main.testoutput.dir}"/>
116 </path>
117
118
119 <patternset id="excluded.from.module.main">
120 <patternset refid="ignored.files"/>
121 </patternset>
122
123 <patternset id="excluded.from.compilation.main">
124 <patternset refid="excluded.from.module.main"/>
125 </patternset>
126
127
128 <target name="compile.module.main" depends="compile.module.main.production,compile.module.main.tests" description="Compile module main"/>
129
130 <target name="compile.module.main.production" description="Compile module main; production classes"/>
131
132 <target name="compile.module.main.tests" depends="compile.module.main.production" description="compile module main; test classes" unless="skip.tests"/>
133
134 <target name="clean.module.main" description="cleanup module">
135 <delete dir="${main.output.dir}"/>
136 <delete dir="${main.testoutput.dir}"/>
137 </target>
138
139
140 <!-- Module mercurial -->
141
142 <dirname property="module.mercurial.basedir" file="${ant.file}"/>
143
144
145
146 <property name="compiler.args.mercurial" value="${compiler.args}"/>
147
148 <property name="mercurial.output.dir" value="${module.mercurial.basedir}/mercurial/classes"/>
149 <property name="mercurial.testoutput.dir" value="${module.mercurial.basedir}/mercurial/classes"/>
150
151 <path id="mercurial.module.bootclasspath">
152 <!-- Paths to be included in compilation bootclasspath -->
153 </path>
154
155 <path id="mercurial.module.classpath">
156 <path refid="library.teamcity-openapi.classpath"/>
157 <path refid="library.idea-openapi.classpath"/>
158 <path refid="library.teamcity-impl.classpath"/>
159 <path refid="library.log4j.classpath"/>
160 <path refid="library.gnu_trove.classpath"/>
161 </path>
162
163 <path id="mercurial.runtime.module.classpath">
164 <pathelement location="${mercurial.output.dir}"/>
165 <path refid="library.teamcity-openapi.classpath"/>
166 <path refid="library.idea-openapi.classpath"/>
167 <path refid="library.teamcity-impl.classpath"/>
168 <path refid="library.log4j.classpath"/>
169 <path refid="library.gnu_trove.classpath"/>
170 </path>
171
172
173 <patternset id="excluded.from.module.mercurial">
174 <patternset refid="ignored.files"/>
175 </patternset>
176
177 <patternset id="excluded.from.compilation.mercurial">
178 <patternset refid="excluded.from.module.mercurial"/>
179 </patternset>
180
181 <path id="mercurial.module.sourcepath">
182 <dirset dir="${module.mercurial.basedir}/mercurial">
183 <include name="resources/buildServerResources"/>
184 <include name="src"/>
185 </dirset>
186 </path>
187
188
189 <target name="compile.module.mercurial" depends="compile.module.mercurial.production,compile.module.mercurial.tests" description="Compile module mercurial"/>
190
191 <target name="compile.module.mercurial.production" description="Compile module mercurial; production classes">
192 <mkdir dir="${mercurial.output.dir}"/>
193 <javac destdir="${mercurial.output.dir}" debug="${compiler.debug}" nowarn="${compiler.generate.no.warnings}" memorymaximumsize="${compiler.max.memory}" fork="true">
194 <compilerarg line="${compiler.args.mercurial}"/>
195 <bootclasspath refid="mercurial.module.bootclasspath"/>
196 <classpath refid="mercurial.module.classpath"/>
197 <src refid="mercurial.module.sourcepath"/>
198 <patternset refid="excluded.from.compilation.mercurial"/>
199 </javac>
200
201 <copy todir="${mercurial.output.dir}">
202 <fileset dir="${module.mercurial.basedir}/mercurial/resources/buildServerResources">
203 <patternset refid="compiler.resources"/>
204 <type type="file"/>
205 </fileset>
206 <fileset dir="${module.mercurial.basedir}/mercurial/src">
207 <patternset refid="compiler.resources"/>
208 <type type="file"/>
209 </fileset>
210 </copy>
211 </target>
212
213 <target name="compile.module.mercurial.tests" depends="compile.module.mercurial.production" description="compile module mercurial; test classes" unless="skip.tests"/>
214
215 <target name="clean.module.mercurial" description="cleanup module">
216 <delete dir="${mercurial.output.dir}"/>
217 <delete dir="${mercurial.testoutput.dir}"/>
218 </target>
219
220
221 <!-- Module mercurial-tests -->
222
223 <dirname property="module.mercurial-tests.basedir" file="${ant.file}"/>
224
225
226
227 <property name="compiler.args.mercurial-tests" value="${compiler.args}"/>
228
229 <property name="mercurial-tests.output.dir" value="${module.mercurial-tests.basedir}/mercurial-tests/classes"/>
230 <property name="mercurial-tests.testoutput.dir" value="${module.mercurial-tests.basedir}/mercurial-tests/classes"/>
231
232 <path id="mercurial-tests.module.bootclasspath">
233 <!-- Paths to be included in compilation bootclasspath -->
234 </path>
235
236 <path id="mercurial-tests.module.classpath">
237 <pathelement location="${mercurial.output.dir}"/>
238 <path refid="library.teamcity-openapi.classpath"/>
239 <path refid="library.idea-openapi.classpath"/>
240 <path refid="library.teamcity-impl.classpath"/>
241 <path refid="library.log4j.classpath"/>
242 <path refid="library.gnu_trove.classpath"/>
243 <path refid="library.teamcity-testssupport.classpath"/>
244 <path refid="library.junit.classpath"/>
245 <path refid="library.testng.classpath"/>
246 <path refid="library.jmock.classpath"/>
247 </path>
248
249 <path id="mercurial-tests.runtime.module.classpath">
250 <pathelement location="${mercurial-tests.output.dir}"/>
251 <pathelement location="${mercurial.output.dir}"/>
252 <path refid="library.teamcity-openapi.classpath"/>
253 <path refid="library.idea-openapi.classpath"/>
254 <path refid="library.teamcity-impl.classpath"/>
255 <path refid="library.log4j.classpath"/>
256 <path refid="library.gnu_trove.classpath"/>
257 <path refid="library.teamcity-testssupport.classpath"/>
258 <path refid="library.junit.classpath"/>
259 <path refid="library.testng.classpath"/>
260 <path refid="library.jmock.classpath"/>
261 </path>
262
263
264 <patternset id="excluded.from.module.mercurial-tests">
265 <patternset refid="ignored.files"/>
266 </patternset>
267
268 <patternset id="excluded.from.compilation.mercurial-tests">
269 <patternset refid="excluded.from.module.mercurial-tests"/>
270 </patternset>
271
272 <path id="mercurial-tests.module.sourcepath">
273 <dirset dir="${module.mercurial-tests.basedir}/mercurial-tests">
274 <include name="src"/>
275 </dirset>
276 </path>
277
278
279 <target name="compile.module.mercurial-tests" depends="compile.module.mercurial-tests.production,compile.module.mercurial-tests.tests" description="Compile module mercurial-tests"/>
280
281 <target name="compile.module.mercurial-tests.production" depends="compile.module.mercurial" description="Compile module mercurial-tests; production classes">
282 <mkdir dir="${mercurial-tests.output.dir}"/>
283 <javac destdir="${mercurial-tests.output.dir}" debug="${compiler.debug}" nowarn="${compiler.generate.no.warnings}" memorymaximumsize="${compiler.max.memory}" fork="true">
284 <compilerarg line="${compiler.args.mercurial-tests}"/>
285 <bootclasspath refid="mercurial-tests.module.bootclasspath"/>
286 <classpath refid="mercurial-tests.module.classpath"/>
287 <src refid="mercurial-tests.module.sourcepath"/>
288 <patternset refid="excluded.from.compilation.mercurial-tests"/>
289 </javac>
290
291 <copy todir="${mercurial-tests.output.dir}">
292 <fileset dir="${module.mercurial-tests.basedir}/mercurial-tests/src">
293 <patternset refid="compiler.resources"/>
294 <type type="file"/>
295 </fileset>
296 </copy>
297 </target>
298
299 <target name="compile.module.mercurial-tests.tests" depends="compile.module.mercurial-tests.production" description="compile module mercurial-tests; test classes" unless="skip.tests"/>
300
301 <target name="clean.module.mercurial-tests" description="cleanup module">
302 <delete dir="${mercurial-tests.output.dir}"/>
303 <delete dir="${mercurial-tests.testoutput.dir}"/>
304 </target>
305
306 <target name="init" description="Build initialization">
307 <!-- Perform any build initialization in this target -->
308 </target>
309
310 <target name="clean" depends="clean.module.main, clean.module.mercurial, clean.module.mercurial-tests" description="cleanup all"/>
311
312 <target name="all" depends="init, clean, compile.module.main, compile.module.mercurial, compile.module.mercurial-tests" description="build all"/>
313 </project>