1 | <?xml version="1.0"?> |
---|
2 | |
---|
3 | <!-- |
---|
4 | Licensed to the Apache Software Foundation (ASF) under one or more |
---|
5 | contributor license agreements. See the NOTICE file distributed with |
---|
6 | this work for additional information regarding copyright ownership. |
---|
7 | The ASF licenses this file to You under the Apache License, Version 2.0 |
---|
8 | (the "License"); you may not use this file except in compliance with |
---|
9 | the License. You may obtain a copy of the License at |
---|
10 | |
---|
11 | http://www.apache.org/licenses/LICENSE-2.0 |
---|
12 | |
---|
13 | Unless required by applicable law or agreed to in writing, software |
---|
14 | distributed under the License is distributed on an "AS IS" BASIS, |
---|
15 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
---|
16 | See the License for the specific language governing permissions and |
---|
17 | limitations under the License. |
---|
18 | --> |
---|
19 | |
---|
20 | <project name="Hadoop" default="compile" |
---|
21 | xmlns:ivy="antlib:org.apache.ivy.ant"> |
---|
22 | |
---|
23 | <!-- Load all the default properties, and any the user wants --> |
---|
24 | <!-- to contribute (without having to type -D or edit this file --> |
---|
25 | <property file="${user.home}/build.properties" /> |
---|
26 | <property file="${basedir}/build.properties" /> |
---|
27 | |
---|
28 | <property name="Name" value="Hadoop"/> |
---|
29 | <property name="name" value="hadoop"/> |
---|
30 | <property name="version" value="0.20.2-dev"/> |
---|
31 | <property name="final.name" value="${name}-${version}"/> |
---|
32 | <property name="year" value="2009"/> |
---|
33 | |
---|
34 | <property name="src.dir" value="${basedir}/src"/> |
---|
35 | <property name="core.src.dir" value="${src.dir}/core"/> |
---|
36 | <property name="mapred.src.dir" value="${src.dir}/mapred"/> |
---|
37 | <property name="hdfs.src.dir" value="${src.dir}/hdfs"/> |
---|
38 | <property name="native.src.dir" value="${basedir}/src/native"/> |
---|
39 | <property name="examples.dir" value="${basedir}/src/examples"/> |
---|
40 | <property name="anttasks.dir" value="${basedir}/src/ant"/> |
---|
41 | <property name="lib.dir" value="${basedir}/lib"/> |
---|
42 | <property name="conf.dir" value="${basedir}/conf"/> |
---|
43 | <property name="contrib.dir" value="${basedir}/src/contrib"/> |
---|
44 | <property name="docs.src" value="${basedir}/src/docs"/> |
---|
45 | <property name="src.docs.cn" value="${basedir}/src/docs/cn"/> |
---|
46 | <property name="changes.src" value="${docs.src}/changes"/> |
---|
47 | <property name="c++.src" value="${basedir}/src/c++"/> |
---|
48 | <property name="c++.utils.src" value="${c++.src}/utils"/> |
---|
49 | <property name="c++.pipes.src" value="${c++.src}/pipes"/> |
---|
50 | <property name="c++.examples.pipes.src" value="${examples.dir}/pipes"/> |
---|
51 | <property name="c++.libhdfs.src" value="${c++.src}/libhdfs"/> |
---|
52 | <property name="librecordio.src" value="${c++.src}/librecordio"/> |
---|
53 | <property name="tools.src" value="${basedir}/src/tools"/> |
---|
54 | |
---|
55 | <property name="xercescroot" value=""/> |
---|
56 | <property name="build.dir" value="${basedir}/build"/> |
---|
57 | <property name="build.classes" value="${build.dir}/classes"/> |
---|
58 | <property name="build.src" value="${build.dir}/src"/> |
---|
59 | <property name="build.tools" value="${build.dir}/tools"/> |
---|
60 | <property name="build.webapps" value="${build.dir}/webapps"/> |
---|
61 | <property name="build.examples" value="${build.dir}/examples"/> |
---|
62 | <property name="build.anttasks" value="${build.dir}/ant"/> |
---|
63 | <property name="build.librecordio" value="${build.dir}/librecordio"/> |
---|
64 | <!-- convert spaces to _ so that mac os doesn't break things --> |
---|
65 | <exec executable="sed" inputstring="${os.name}" |
---|
66 | outputproperty="nonspace.os"> |
---|
67 | <arg value="s/ /_/g"/> |
---|
68 | </exec> |
---|
69 | <property name="build.platform" |
---|
70 | value="${nonspace.os}-${os.arch}-${sun.arch.data.model}"/> |
---|
71 | <property name="jvm.arch" |
---|
72 | value="${sun.arch.data.model}"/> |
---|
73 | <property name="build.native" value="${build.dir}/native/${build.platform}"/> |
---|
74 | <property name="build.c++" value="${build.dir}/c++-build/${build.platform}"/> |
---|
75 | <property name="build.c++.utils" value="${build.c++}/utils"/> |
---|
76 | <property name="build.c++.pipes" value="${build.c++}/pipes"/> |
---|
77 | <property name="build.c++.libhdfs" value="${build.c++}/libhdfs"/> |
---|
78 | <property name="build.c++.examples.pipes" |
---|
79 | value="${build.c++}/examples/pipes"/> |
---|
80 | <property name="build.docs" value="${build.dir}/docs"/> |
---|
81 | <property name="build.docs.cn" value="${build.dir}/docs/cn"/> |
---|
82 | <property name="build.javadoc" value="${build.docs}/api"/> |
---|
83 | <property name="build.javadoc.dev" value="${build.docs}/dev-api"/> |
---|
84 | <property name="build.encoding" value="ISO-8859-1"/> |
---|
85 | <property name="install.c++" value="${build.dir}/c++/${build.platform}"/> |
---|
86 | <property name="install.c++.examples" |
---|
87 | value="${build.dir}/c++-examples/${build.platform}"/> |
---|
88 | |
---|
89 | <property name="test.src.dir" value="${basedir}/src/test"/> |
---|
90 | <property name="test.lib.dir" value="${basedir}/src/test/lib"/> |
---|
91 | <property name="test.build.dir" value="${build.dir}/test"/> |
---|
92 | <property name="test.generated.dir" value="${test.build.dir}/src"/> |
---|
93 | <property name="test.build.data" value="${test.build.dir}/data"/> |
---|
94 | <property name="test.cache.data" value="${test.build.dir}/cache"/> |
---|
95 | <property name="test.debug.data" value="${test.build.dir}/debug"/> |
---|
96 | <property name="test.log.dir" value="${test.build.dir}/logs"/> |
---|
97 | <property name="test.build.classes" value="${test.build.dir}/classes"/> |
---|
98 | <property name="test.build.testjar" value="${test.build.dir}/testjar"/> |
---|
99 | <property name="test.build.testshell" value="${test.build.dir}/testshell"/> |
---|
100 | <property name="test.build.extraconf" value="${test.build.dir}/extraconf"/> |
---|
101 | <property name="test.build.javadoc" value="${test.build.dir}/docs/api"/> |
---|
102 | <property name="test.build.javadoc.dev" value="${test.build.dir}/docs/dev-api"/> |
---|
103 | <property name="test.include" value="Test*"/> |
---|
104 | <property name="test.classpath.id" value="test.classpath"/> |
---|
105 | <property name="test.output" value="no"/> |
---|
106 | <property name="test.timeout" value="900000"/> |
---|
107 | <property name="test.junit.output.format" value="plain"/> |
---|
108 | <property name="test.junit.fork.mode" value="perTest" /> |
---|
109 | <property name="test.junit.printsummary" value="yes" /> |
---|
110 | <property name="test.junit.haltonfailure" value="no" /> |
---|
111 | <property name="test.junit.maxmemory" value="512m" /> |
---|
112 | |
---|
113 | <property name="test.libhdfs.conf.dir" value="${c++.libhdfs.src}/tests/conf"/> |
---|
114 | <property name="test.libhdfs.dir" value="${test.build.dir}/libhdfs"/> |
---|
115 | |
---|
116 | <property name="librecordio.test.dir" value="${test.build.dir}/librecordio"/> |
---|
117 | <property name="web.src.dir" value="${basedir}/src/web"/> |
---|
118 | <property name="src.webapps" value="${basedir}/src/webapps"/> |
---|
119 | |
---|
120 | <property name="javadoc.link.java" |
---|
121 | value="http://java.sun.com/javase/6/docs/api/"/> |
---|
122 | <property name="javadoc.packages" value="org.apache.hadoop.*"/> |
---|
123 | |
---|
124 | <property name="dist.dir" value="${build.dir}/${final.name}"/> |
---|
125 | |
---|
126 | <property name="javac.debug" value="on"/> |
---|
127 | <property name="javac.optimize" value="on"/> |
---|
128 | <property name="javac.deprecation" value="off"/> |
---|
129 | <property name="javac.version" value="1.6"/> |
---|
130 | <property name="javac.args" value=""/> |
---|
131 | <property name="javac.args.warnings" value="-Xlint:unchecked"/> |
---|
132 | |
---|
133 | <property name="clover.db.dir" location="${build.dir}/test/clover/db"/> |
---|
134 | <property name="clover.report.dir" location="${build.dir}/test/clover/reports"/> |
---|
135 | |
---|
136 | <property name="rat.reporting.classname" value="rat.Report"/> |
---|
137 | |
---|
138 | <property name="jdiff.build.dir" value="${build.docs}/jdiff"/> |
---|
139 | <property name="jdiff.xml.dir" value="${lib.dir}/jdiff"/> |
---|
140 | <property name="jdiff.stable" value="0.19.2"/> |
---|
141 | <property name="jdiff.stable.javadoc" |
---|
142 | value="http://hadoop.apache.org/core/docs/r${jdiff.stable}/api/"/> |
---|
143 | |
---|
144 | <property name="scratch.dir" value="${user.home}/tmp"/> |
---|
145 | <property name="svn.cmd" value="svn"/> |
---|
146 | <property name="grep.cmd" value="grep"/> |
---|
147 | <property name="patch.cmd" value="patch"/> |
---|
148 | <property name="make.cmd" value="make"/> |
---|
149 | |
---|
150 | <!-- IVY properteis set here --> |
---|
151 | <property name="ivy.dir" location="ivy" /> |
---|
152 | <loadproperties srcfile="${ivy.dir}/libraries.properties"/> |
---|
153 | <property name="ivy.jar" location="${ivy.dir}/ivy-${ivy.version}.jar"/> |
---|
154 | <property name="ivy_repo_url" value="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${ivy.version}/ivy-${ivy.version}.jar"/> |
---|
155 | <property name="ivysettings.xml" location="${ivy.dir}/ivysettings.xml" /> |
---|
156 | <property name="ivy.org" value="org.apache.hadoop"/> |
---|
157 | <property name="build.dir" location="build" /> |
---|
158 | <property name="dist.dir" value="${build.dir}/${final.name}"/> |
---|
159 | <property name="build.ivy.dir" location="${build.dir}/ivy" /> |
---|
160 | <property name="build.ivy.lib.dir" location="${build.ivy.dir}/lib" /> |
---|
161 | <property name="common.ivy.lib.dir" location="${build.ivy.lib.dir}/${ant.project.name}/common"/> |
---|
162 | <property name="build.ivy.report.dir" location="${build.ivy.dir}/report" /> |
---|
163 | <property name="build.ivy.maven.dir" location="${build.ivy.dir}/maven" /> |
---|
164 | <property name="build.ivy.maven.pom" location="${build.ivy.maven.dir}/hadoop-core-${hadoop.version}.pom" /> |
---|
165 | <property name="build.ivy.maven.jar" location="${build.ivy.maven.dir}/hadoop-core-${hadoop.version}.jar" /> |
---|
166 | |
---|
167 | <!--this is the naming policy for artifacts we want pulled down--> |
---|
168 | <property name="ivy.artifact.retrieve.pattern" value="${ant.project.name}/[conf]/[artifact]-[revision].[ext]"/> |
---|
169 | |
---|
170 | <!--this is how artifacts that get built are named--> |
---|
171 | <property name="ivy.publish.pattern" value="hadoop-[revision]-core.[ext]"/> |
---|
172 | <property name="hadoop.jar" location="${build.dir}/hadoop-${hadoop.version}-core.jar" /> |
---|
173 | |
---|
174 | <!-- jdiff.home property set --> |
---|
175 | <property name="jdiff.home" value="${build.ivy.lib.dir}/${ant.project.name}/jdiff"/> |
---|
176 | <property name="jdiff.jar" value="${jdiff.home}/jdiff-${jdiff.version}.jar"/> |
---|
177 | <property name="xerces.jar" value="${jdiff.home}/xerces-${xerces.version}.jar"/> |
---|
178 | |
---|
179 | <property name="clover.jar" location="${clover.home}/lib/clover.jar"/> |
---|
180 | <available property="clover.present" file="${clover.jar}" /> |
---|
181 | |
---|
182 | <!-- check if clover reports should be generated --> |
---|
183 | <condition property="clover.enabled"> |
---|
184 | <and> |
---|
185 | <isset property="run.clover"/> |
---|
186 | <isset property="clover.present"/> |
---|
187 | </and> |
---|
188 | </condition> |
---|
189 | |
---|
190 | <!-- the normal classpath --> |
---|
191 | <path id="classpath"> |
---|
192 | <pathelement location="${build.classes}"/> |
---|
193 | <fileset dir="${lib.dir}"> |
---|
194 | <include name="**/*.jar" /> |
---|
195 | <exclude name="**/excluded/" /> |
---|
196 | </fileset> |
---|
197 | <pathelement location="${conf.dir}"/> |
---|
198 | <path refid="ivy-common.classpath"/> |
---|
199 | </path> |
---|
200 | |
---|
201 | <!-- the unit test classpath: uses test.src.dir for configuration --> |
---|
202 | <path id="test.classpath"> |
---|
203 | <pathelement location="${test.build.extraconf}"/> |
---|
204 | <pathelement location="${test.build.classes}" /> |
---|
205 | <pathelement location="${test.src.dir}"/> |
---|
206 | <pathelement location="${build.dir}"/> |
---|
207 | <pathelement location="${build.examples}"/> |
---|
208 | <pathelement location="${build.tools}"/> |
---|
209 | <pathelement path="${clover.jar}"/> |
---|
210 | <fileset dir="${test.lib.dir}"> |
---|
211 | <include name="**/*.jar" /> |
---|
212 | <exclude name="**/excluded/" /> |
---|
213 | </fileset> |
---|
214 | <path refid="classpath"/> |
---|
215 | </path> |
---|
216 | |
---|
217 | <!-- the cluster test classpath: uses conf.dir for configuration --> |
---|
218 | <path id="test.cluster.classpath"> |
---|
219 | <path refid="classpath"/> |
---|
220 | <pathelement location="${test.build.classes}" /> |
---|
221 | <pathelement location="${test.src.dir}"/> |
---|
222 | <pathelement location="${build.dir}"/> |
---|
223 | </path> |
---|
224 | |
---|
225 | <!-- properties dependent on the items defined above. --> |
---|
226 | <!--<available classname="${rat.reporting.classname}" classpathref="classpath" property="rat.present" value="true"/> --> |
---|
227 | |
---|
228 | <!-- ====================================================== --> |
---|
229 | <!-- Macro definitions --> |
---|
230 | <!-- ====================================================== --> |
---|
231 | <macrodef name="macro_tar" description="Worker Macro for tar"> |
---|
232 | <attribute name="param.destfile"/> |
---|
233 | <element name="param.listofitems"/> |
---|
234 | <sequential> |
---|
235 | <tar compression="gzip" longfile="gnu" |
---|
236 | destfile="@{param.destfile}"> |
---|
237 | <param.listofitems/> |
---|
238 | </tar> |
---|
239 | </sequential> |
---|
240 | </macrodef> |
---|
241 | |
---|
242 | <!-- ====================================================== --> |
---|
243 | <!-- Stuff needed by all targets --> |
---|
244 | <!-- ====================================================== --> |
---|
245 | <target name="init" depends="ivy-retrieve-common"> |
---|
246 | <mkdir dir="${build.dir}"/> |
---|
247 | <mkdir dir="${build.classes}"/> |
---|
248 | <mkdir dir="${build.tools}"/> |
---|
249 | <mkdir dir="${build.src}"/> |
---|
250 | <mkdir dir="${build.webapps}/task/WEB-INF"/> |
---|
251 | <mkdir dir="${build.webapps}/job/WEB-INF"/> |
---|
252 | <mkdir dir="${build.webapps}/hdfs/WEB-INF"/> |
---|
253 | <mkdir dir="${build.webapps}/datanode/WEB-INF"/> |
---|
254 | <mkdir dir="${build.webapps}/secondary/WEB-INF"/> |
---|
255 | <mkdir dir="${build.examples}"/> |
---|
256 | <mkdir dir="${build.anttasks}"/> |
---|
257 | <mkdir dir="${build.dir}/c++"/> |
---|
258 | |
---|
259 | <mkdir dir="${test.build.dir}"/> |
---|
260 | <mkdir dir="${test.build.classes}"/> |
---|
261 | <mkdir dir="${test.build.testjar}"/> |
---|
262 | <mkdir dir="${test.build.testshell}"/> |
---|
263 | <mkdir dir="${test.build.extraconf}"/> |
---|
264 | <tempfile property="touch.temp.file" destDir="${java.io.tmpdir}"/> |
---|
265 | <touch millis="0" file="${touch.temp.file}"> |
---|
266 | <fileset dir="${conf.dir}" includes="**/*.template"/> |
---|
267 | <fileset dir="${contrib.dir}" includes="**/*.template"/> |
---|
268 | </touch> |
---|
269 | <delete file="${touch.temp.file}"/> |
---|
270 | <!-- copy all of the jsp and static files --> |
---|
271 | <copy todir="${build.webapps}"> |
---|
272 | <fileset dir="${src.webapps}"> |
---|
273 | <exclude name="**/*.jsp" /> |
---|
274 | </fileset> |
---|
275 | </copy> |
---|
276 | |
---|
277 | <copy todir="${conf.dir}" verbose="true"> |
---|
278 | <fileset dir="${conf.dir}" includes="**/*.template"/> |
---|
279 | <mapper type="glob" from="*.template" to="*"/> |
---|
280 | </copy> |
---|
281 | |
---|
282 | <copy todir="${contrib.dir}" verbose="true"> |
---|
283 | <fileset dir="${contrib.dir}" includes="**/*.template"/> |
---|
284 | <mapper type="glob" from="*.template" to="*"/> |
---|
285 | </copy> |
---|
286 | |
---|
287 | <exec executable="sh"> |
---|
288 | <arg line="src/saveVersion.sh ${version}"/> |
---|
289 | </exec> |
---|
290 | |
---|
291 | <exec executable="sh"> |
---|
292 | <arg line="src/fixFontsPath.sh ${src.docs.cn}"/> |
---|
293 | </exec> |
---|
294 | </target> |
---|
295 | |
---|
296 | <!-- ====================================================== --> |
---|
297 | <!-- Compile the Java files --> |
---|
298 | <!-- ====================================================== --> |
---|
299 | <target name="record-parser" depends="init" if="javacc.home"> |
---|
300 | <javacc |
---|
301 | target="${core.src.dir}/org/apache/hadoop/record/compiler/generated/rcc.jj" |
---|
302 | outputdirectory="${core.src.dir}/org/apache/hadoop/record/compiler/generated" |
---|
303 | javacchome="${javacc.home}" /> |
---|
304 | </target> |
---|
305 | |
---|
306 | <target name="compile-rcc-compiler" depends="init, record-parser"> |
---|
307 | <javac |
---|
308 | encoding="${build.encoding}" |
---|
309 | srcdir="${core.src.dir}" |
---|
310 | includes="org/apache/hadoop/record/compiler/**/*.java" |
---|
311 | destdir="${build.classes}" |
---|
312 | debug="${javac.debug}" |
---|
313 | optimize="${javac.optimize}" |
---|
314 | target="${javac.version}" |
---|
315 | source="${javac.version}" |
---|
316 | deprecation="${javac.deprecation}"> |
---|
317 | <compilerarg line="${javac.args}"/> |
---|
318 | <classpath refid="classpath"/> |
---|
319 | </javac> |
---|
320 | |
---|
321 | <taskdef name="recordcc" classname="org.apache.hadoop.record.compiler.ant.RccTask"> |
---|
322 | <classpath refid="classpath" /> |
---|
323 | </taskdef> |
---|
324 | </target> |
---|
325 | |
---|
326 | <target name="compile-core-classes" depends="init, compile-rcc-compiler"> |
---|
327 | <taskdef classname="org.apache.jasper.JspC" name="jsp-compile" > |
---|
328 | <classpath refid="test.classpath"/> |
---|
329 | </taskdef> |
---|
330 | <!-- Compile Java files (excluding JSPs) checking warnings --> |
---|
331 | <javac |
---|
332 | encoding="${build.encoding}" |
---|
333 | srcdir="${core.src.dir}" |
---|
334 | includes="org/apache/hadoop/**/*.java" |
---|
335 | destdir="${build.classes}" |
---|
336 | debug="${javac.debug}" |
---|
337 | optimize="${javac.optimize}" |
---|
338 | target="${javac.version}" |
---|
339 | source="${javac.version}" |
---|
340 | deprecation="${javac.deprecation}"> |
---|
341 | <compilerarg line="${javac.args} ${javac.args.warnings}" /> |
---|
342 | <classpath refid="classpath"/> |
---|
343 | </javac> |
---|
344 | |
---|
345 | <copy todir="${build.classes}"> |
---|
346 | <fileset dir="${core.src.dir}" includes="**/*.properties"/> |
---|
347 | <fileset dir="${core.src.dir}" includes="core-default.xml"/> |
---|
348 | </copy> |
---|
349 | |
---|
350 | </target> |
---|
351 | |
---|
352 | <target name="compile-mapred-classes" depends="compile-core-classes"> |
---|
353 | <jsp-compile |
---|
354 | uriroot="${src.webapps}/task" |
---|
355 | outputdir="${build.src}" |
---|
356 | package="org.apache.hadoop.mapred" |
---|
357 | webxml="${build.webapps}/task/WEB-INF/web.xml"> |
---|
358 | </jsp-compile> |
---|
359 | |
---|
360 | <jsp-compile |
---|
361 | uriroot="${src.webapps}/job" |
---|
362 | outputdir="${build.src}" |
---|
363 | package="org.apache.hadoop.mapred" |
---|
364 | webxml="${build.webapps}/job/WEB-INF/web.xml"> |
---|
365 | </jsp-compile> |
---|
366 | |
---|
367 | <!-- Compile Java files (excluding JSPs) checking warnings --> |
---|
368 | <javac |
---|
369 | encoding="${build.encoding}" |
---|
370 | srcdir="${mapred.src.dir};${build.src}" |
---|
371 | includes="org/apache/hadoop/**/*.java" |
---|
372 | destdir="${build.classes}" |
---|
373 | debug="${javac.debug}" |
---|
374 | optimize="${javac.optimize}" |
---|
375 | target="${javac.version}" |
---|
376 | source="${javac.version}" |
---|
377 | deprecation="${javac.deprecation}"> |
---|
378 | <compilerarg line="${javac.args} ${javac.args.warnings}" /> |
---|
379 | <classpath refid="classpath"/> |
---|
380 | </javac> |
---|
381 | |
---|
382 | <copy todir="${build.classes}"> |
---|
383 | <fileset dir="${mapred.src.dir}" includes="**/*.properties"/> |
---|
384 | <fileset dir="${mapred.src.dir}" includes="mapred-default.xml"/> |
---|
385 | </copy> |
---|
386 | </target> |
---|
387 | |
---|
388 | <target name="compile-hdfs-classes" depends="compile-core-classes"> |
---|
389 | <jsp-compile |
---|
390 | uriroot="${src.webapps}/hdfs" |
---|
391 | outputdir="${build.src}" |
---|
392 | package="org.apache.hadoop.hdfs.server.namenode" |
---|
393 | webxml="${build.webapps}/hdfs/WEB-INF/web.xml"> |
---|
394 | </jsp-compile> |
---|
395 | |
---|
396 | <jsp-compile |
---|
397 | uriroot="${src.webapps}/datanode" |
---|
398 | outputdir="${build.src}" |
---|
399 | package="org.apache.hadoop.hdfs.server.datanode" |
---|
400 | webxml="${build.webapps}/datanode/WEB-INF/web.xml"> |
---|
401 | </jsp-compile> |
---|
402 | |
---|
403 | <!-- Compile Java files (excluding JSPs) checking warnings --> |
---|
404 | <javac |
---|
405 | encoding="${build.encoding}" |
---|
406 | srcdir="${hdfs.src.dir};${build.src}" |
---|
407 | includes="org/apache/hadoop/**/*.java" |
---|
408 | destdir="${build.classes}" |
---|
409 | debug="${javac.debug}" |
---|
410 | optimize="${javac.optimize}" |
---|
411 | target="${javac.version}" |
---|
412 | source="${javac.version}" |
---|
413 | deprecation="${javac.deprecation}"> |
---|
414 | <compilerarg line="${javac.args} ${javac.args.warnings}" /> |
---|
415 | <classpath refid="classpath"/> |
---|
416 | </javac> |
---|
417 | |
---|
418 | <copy todir="${build.classes}"> |
---|
419 | <fileset dir="${hdfs.src.dir}" includes="**/*.properties"/> |
---|
420 | <fileset dir="${hdfs.src.dir}" includes="hdfs-default.xml"/> |
---|
421 | </copy> |
---|
422 | </target> |
---|
423 | |
---|
424 | <target name="compile-tools" depends="init"> |
---|
425 | <javac |
---|
426 | encoding="${build.encoding}" |
---|
427 | srcdir="${tools.src}" |
---|
428 | includes="org/apache/hadoop/**/*.java" |
---|
429 | destdir="${build.tools}" |
---|
430 | debug="${javac.debug}" |
---|
431 | optimize="${javac.optimize}" |
---|
432 | target="${javac.version}" |
---|
433 | source="${javac.version}" |
---|
434 | deprecation="${javac.deprecation}"> |
---|
435 | <compilerarg line="${javac.args} ${javac.args.warnings}" /> |
---|
436 | <classpath refid="classpath"/> |
---|
437 | </javac> |
---|
438 | |
---|
439 | <copy todir="${build.tools}"> |
---|
440 | <fileset |
---|
441 | dir="${tools.src}" |
---|
442 | includes="**/*.properties" |
---|
443 | /> |
---|
444 | </copy> |
---|
445 | </target> |
---|
446 | |
---|
447 | <target name="compile-native"> |
---|
448 | <antcall target="compile-core-native"> |
---|
449 | <param name="compile.native" value="true"/> |
---|
450 | </antcall> |
---|
451 | </target> |
---|
452 | |
---|
453 | <target name="compile-core-native" depends="compile-core-classes" |
---|
454 | if="compile.native"> |
---|
455 | |
---|
456 | <mkdir dir="${build.native}/lib"/> |
---|
457 | <mkdir dir="${build.native}/src/org/apache/hadoop/io/compress/zlib"/> |
---|
458 | |
---|
459 | <javah |
---|
460 | classpath="${build.classes}" |
---|
461 | destdir="${build.native}/src/org/apache/hadoop/io/compress/zlib" |
---|
462 | force="yes" |
---|
463 | verbose="yes" |
---|
464 | > |
---|
465 | <class name="org.apache.hadoop.io.compress.zlib.ZlibCompressor" /> |
---|
466 | <class name="org.apache.hadoop.io.compress.zlib.ZlibDecompressor" /> |
---|
467 | </javah> |
---|
468 | |
---|
469 | <exec dir="${build.native}" executable="sh" failonerror="true"> |
---|
470 | <env key="OS_NAME" value="${os.name}"/> |
---|
471 | <env key="OS_ARCH" value="${os.arch}"/> |
---|
472 | <env key="JVM_DATA_MODEL" value="${sun.arch.data.model}"/> |
---|
473 | <env key="HADOOP_NATIVE_SRCDIR" value="${native.src.dir}"/> |
---|
474 | <arg line="${native.src.dir}/configure"/> |
---|
475 | </exec> |
---|
476 | |
---|
477 | <exec dir="${build.native}" executable="${make.cmd}" failonerror="true"> |
---|
478 | <env key="OS_NAME" value="${os.name}"/> |
---|
479 | <env key="OS_ARCH" value="${os.arch}"/> |
---|
480 | <env key="JVM_DATA_MODEL" value="${sun.arch.data.model}"/> |
---|
481 | <env key="HADOOP_NATIVE_SRCDIR" value="${native.src.dir}"/> |
---|
482 | </exec> |
---|
483 | |
---|
484 | <exec dir="${build.native}" executable="sh" failonerror="true"> |
---|
485 | <arg line="${build.native}/libtool --mode=install cp ${build.native}/lib/libhadoop.la ${build.native}/lib"/> |
---|
486 | </exec> |
---|
487 | |
---|
488 | </target> |
---|
489 | |
---|
490 | <target name="compile-core" |
---|
491 | depends="clover,compile-core-classes,compile-mapred-classes, |
---|
492 | compile-hdfs-classes,compile-core-native,compile-c++" |
---|
493 | description="Compile core only"> |
---|
494 | </target> |
---|
495 | |
---|
496 | <target name="compile-contrib" depends="compile-core,compile-c++-libhdfs"> |
---|
497 | <subant target="compile"> |
---|
498 | <property name="version" value="${version}"/> |
---|
499 | <fileset file="${contrib.dir}/build.xml"/> |
---|
500 | </subant> |
---|
501 | </target> |
---|
502 | |
---|
503 | <target name="compile" depends="compile-core, compile-contrib, compile-ant-tasks, compile-tools" description="Compile core, contrib"> |
---|
504 | </target> |
---|
505 | |
---|
506 | <target name="compile-examples" |
---|
507 | depends="compile-core,compile-tools,compile-c++-examples"> |
---|
508 | <javac |
---|
509 | encoding="${build.encoding}" |
---|
510 | srcdir="${examples.dir}" |
---|
511 | includes="org/apache/hadoop/**/*.java" |
---|
512 | destdir="${build.examples}" |
---|
513 | debug="${javac.debug}" |
---|
514 | optimize="${javac.optimize}" |
---|
515 | target="${javac.version}" |
---|
516 | source="${javac.version}" |
---|
517 | deprecation="${javac.deprecation}"> |
---|
518 | <compilerarg line="${javac.args} ${javac.args.warnings}" /> |
---|
519 | <classpath> |
---|
520 | <path refid="classpath"/> |
---|
521 | <pathelement location="${build.tools}"/> |
---|
522 | </classpath> |
---|
523 | </javac> |
---|
524 | </target> |
---|
525 | |
---|
526 | <!-- ================================================================== --> |
---|
527 | <!-- Make hadoop.jar --> |
---|
528 | <!-- ================================================================== --> |
---|
529 | <!-- --> |
---|
530 | <!-- ================================================================== --> |
---|
531 | <target name="jar" depends="compile-core" description="Make hadoop.jar"> |
---|
532 | <tar compression="gzip" destfile="${build.classes}/bin.tgz"> |
---|
533 | <tarfileset dir="bin" mode="755"/> |
---|
534 | </tar> |
---|
535 | <jar jarfile="${build.dir}/${final.name}-core.jar" |
---|
536 | basedir="${build.classes}"> |
---|
537 | <manifest> |
---|
538 | <section name="org/apache/hadoop"> |
---|
539 | <attribute name="Implementation-Title" value="Hadoop"/> |
---|
540 | <attribute name="Implementation-Version" value="${version}"/> |
---|
541 | <attribute name="Implementation-Vendor" value="Apache"/> |
---|
542 | </section> |
---|
543 | </manifest> |
---|
544 | <fileset file="${conf.dir}/commons-logging.properties"/> |
---|
545 | <fileset file="${conf.dir}/log4j.properties"/> |
---|
546 | <fileset file="${conf.dir}/hadoop-metrics.properties"/> |
---|
547 | <zipfileset dir="${build.webapps}" prefix="webapps"/> |
---|
548 | </jar> |
---|
549 | </target> |
---|
550 | |
---|
551 | <!-- ================================================================== --> |
---|
552 | <!-- Make the Hadoop examples jar. --> |
---|
553 | <!-- ================================================================== --> |
---|
554 | <!-- --> |
---|
555 | <!-- ================================================================== --> |
---|
556 | <target name="examples" depends="jar, compile-examples" description="Make the Hadoop examples jar."> |
---|
557 | <jar jarfile="${build.dir}/${final.name}-examples.jar" |
---|
558 | basedir="${build.examples}"> |
---|
559 | <manifest> |
---|
560 | <attribute name="Main-Class" |
---|
561 | value="org/apache/hadoop/examples/ExampleDriver"/> |
---|
562 | </manifest> |
---|
563 | </jar> |
---|
564 | </target> |
---|
565 | |
---|
566 | <target name="tools-jar" depends="jar, compile-tools" |
---|
567 | description="Make the Hadoop tools jar."> |
---|
568 | <jar jarfile="${build.dir}/${final.name}-tools.jar" |
---|
569 | basedir="${build.tools}"> |
---|
570 | <manifest> |
---|
571 | <attribute name="Main-Class" |
---|
572 | value="org/apache/hadoop/examples/ExampleDriver"/> |
---|
573 | </manifest> |
---|
574 | </jar> |
---|
575 | </target> |
---|
576 | |
---|
577 | <!-- ================================================================== --> |
---|
578 | <!-- Make the Hadoop metrics jar. (for use outside Hadoop) --> |
---|
579 | <!-- ================================================================== --> |
---|
580 | <!-- --> |
---|
581 | <!-- ================================================================== --> |
---|
582 | <target name="metrics.jar" depends="compile-core" description="Make the Hadoop metrics jar. (for use outside Hadoop)"> |
---|
583 | <jar jarfile="${build.dir}/hadoop-metrics-${version}.jar" |
---|
584 | basedir="${build.classes}"> |
---|
585 | <include name="**/metrics/**" /> |
---|
586 | <exclude name="**/package.html" /> |
---|
587 | </jar> |
---|
588 | </target> |
---|
589 | |
---|
590 | <target name="generate-test-records" depends="compile-rcc-compiler"> |
---|
591 | <recordcc destdir="${test.generated.dir}"> |
---|
592 | <fileset dir="${test.src.dir}" |
---|
593 | includes="**/*.jr" /> |
---|
594 | </recordcc> |
---|
595 | </target> |
---|
596 | |
---|
597 | <!-- ================================================================== --> |
---|
598 | <!-- Compile test code --> |
---|
599 | <!-- ================================================================== --> |
---|
600 | <target name="compile-core-test" depends="compile-examples, compile-tools, generate-test-records"> |
---|
601 | <javac |
---|
602 | encoding="${build.encoding}" |
---|
603 | srcdir="${test.generated.dir}" |
---|
604 | includes="org/apache/hadoop/**/*.java" |
---|
605 | destdir="${test.build.classes}" |
---|
606 | debug="${javac.debug}" |
---|
607 | optimize="${javac.optimize}" |
---|
608 | target="${javac.version}" |
---|
609 | source="${javac.version}" |
---|
610 | deprecation="${javac.deprecation}"> |
---|
611 | <compilerarg line="${javac.args}" /> |
---|
612 | <classpath refid="test.classpath"/> |
---|
613 | </javac> |
---|
614 | <javac |
---|
615 | encoding="${build.encoding}" |
---|
616 | srcdir="${test.src.dir}" |
---|
617 | includes="org/apache/hadoop/**/*.java" |
---|
618 | destdir="${test.build.classes}" |
---|
619 | debug="${javac.debug}" |
---|
620 | optimize="${javac.optimize}" |
---|
621 | target="${javac.version}" |
---|
622 | source="${javac.version}" |
---|
623 | deprecation="${javac.deprecation}"> |
---|
624 | <compilerarg line="${javac.args} ${javac.args.warnings}" /> |
---|
625 | <classpath refid="test.classpath"/> |
---|
626 | </javac> |
---|
627 | <javac |
---|
628 | encoding="${build.encoding}" |
---|
629 | srcdir="${test.src.dir}/testjar" |
---|
630 | includes="*.java" |
---|
631 | destdir="${test.build.testjar}" |
---|
632 | debug="${javac.debug}" |
---|
633 | optimize="${javac.optimize}" |
---|
634 | target="${javac.version}" |
---|
635 | source="${javac.version}" |
---|
636 | deprecation="${javac.deprecation}"> |
---|
637 | <compilerarg line="${javac.args} ${javac.args.warnings}" /> |
---|
638 | <classpath refid="test.classpath"/> |
---|
639 | </javac> |
---|
640 | <delete file="${test.build.testjar}/testjob.jar"/> |
---|
641 | <jar jarfile="${test.build.testjar}/testjob.jar" |
---|
642 | basedir="${test.build.testjar}"> |
---|
643 | </jar> |
---|
644 | <javac |
---|
645 | encoding="${build.encoding}" |
---|
646 | srcdir="${test.src.dir}/testshell" |
---|
647 | includes="*.java" |
---|
648 | destdir="${test.build.testshell}" |
---|
649 | debug="${javac.debug}" |
---|
650 | optimize="${javac.optimize}" |
---|
651 | target="${javac.version}" |
---|
652 | source="${javac.version}" |
---|
653 | deprecation="${javac.deprecation}"> |
---|
654 | <compilerarg line="${javac.args} ${javac.args.warnings}"/> |
---|
655 | <classpath refid="test.classpath"/> |
---|
656 | </javac> |
---|
657 | <delete file="${test.build.testshell}/testshell.jar"/> |
---|
658 | <jar jarfile="${test.build.testshell}/testshell.jar" |
---|
659 | basedir="${test.build.testshell}"> |
---|
660 | </jar> |
---|
661 | |
---|
662 | <delete dir="${test.cache.data}"/> |
---|
663 | <mkdir dir="${test.cache.data}"/> |
---|
664 | <delete dir="${test.debug.data}"/> |
---|
665 | <mkdir dir="${test.debug.data}"/> |
---|
666 | <copy file="${test.src.dir}/org/apache/hadoop/mapred/testscript.txt" todir="${test.debug.data}"/> |
---|
667 | <copy file="${test.src.dir}/org/apache/hadoop/mapred/test.txt" todir="${test.cache.data}"/> |
---|
668 | <copy file="${test.src.dir}/org/apache/hadoop/mapred/test.jar" todir="${test.cache.data}"/> |
---|
669 | <copy file="${test.src.dir}/org/apache/hadoop/mapred/test.zip" todir="${test.cache.data}"/> |
---|
670 | <copy file="${test.src.dir}/org/apache/hadoop/mapred/test.tar" todir="${test.cache.data}"/> |
---|
671 | <copy file="${test.src.dir}/org/apache/hadoop/mapred/test.tgz" todir="${test.cache.data}"/> |
---|
672 | <copy file="${test.src.dir}/org/apache/hadoop/mapred/test.tar.gz" todir="${test.cache.data}"/> |
---|
673 | <copy file="${test.src.dir}/org/apache/hadoop/hdfs/hadoop-14-dfs-dir.tgz" todir="${test.cache.data}"/> |
---|
674 | <copy file="${test.src.dir}/org/apache/hadoop/hdfs/hadoop-dfs-dir.txt" todir="${test.cache.data}"/> |
---|
675 | <copy file="${test.src.dir}/org/apache/hadoop/cli/testConf.xml" todir="${test.cache.data}"/> |
---|
676 | <copy file="${test.src.dir}/org/apache/hadoop/cli/clitest_data/data15bytes" todir="${test.cache.data}"/> |
---|
677 | <copy file="${test.src.dir}/org/apache/hadoop/cli/clitest_data/data30bytes" todir="${test.cache.data}"/> |
---|
678 | <copy file="${test.src.dir}/org/apache/hadoop/cli/clitest_data/data60bytes" todir="${test.cache.data}"/> |
---|
679 | <copy file="${test.src.dir}/org/apache/hadoop/cli/clitest_data/data120bytes" todir="${test.cache.data}"/> |
---|
680 | </target> |
---|
681 | |
---|
682 | <!-- ================================================================== --> |
---|
683 | <!-- Make hadoop-test.jar --> |
---|
684 | <!-- ================================================================== --> |
---|
685 | <!-- --> |
---|
686 | <!-- ================================================================== --> |
---|
687 | <target name="jar-test" depends="compile-core-test" description="Make hadoop-test.jar"> |
---|
688 | <jar jarfile="${build.dir}/${final.name}-test.jar" |
---|
689 | basedir="${test.build.classes}"> |
---|
690 | <manifest> |
---|
691 | <attribute name="Main-Class" |
---|
692 | value="org/apache/hadoop/test/AllTestDriver"/> |
---|
693 | <section name="org/apache/hadoop"> |
---|
694 | <attribute name="Implementation-Title" value="Hadoop"/> |
---|
695 | <attribute name="Implementation-Version" value="${version}"/> |
---|
696 | <attribute name="Implementation-Vendor" value="Apache"/> |
---|
697 | </section> |
---|
698 | </manifest> |
---|
699 | </jar> |
---|
700 | </target> |
---|
701 | |
---|
702 | <!-- ================================================================== --> |
---|
703 | <!-- Run unit tests --> |
---|
704 | <!-- ================================================================== --> |
---|
705 | <target name="test-core" depends="jar-test" description="Run core unit tests"> |
---|
706 | |
---|
707 | <delete dir="${test.build.data}"/> |
---|
708 | <mkdir dir="${test.build.data}"/> |
---|
709 | <delete dir="${test.log.dir}"/> |
---|
710 | <mkdir dir="${test.log.dir}"/> |
---|
711 | <copy file="${test.src.dir}/hadoop-policy.xml" |
---|
712 | todir="${test.build.extraconf}" /> |
---|
713 | <junit showoutput="${test.output}" |
---|
714 | printsummary="${test.junit.printsummary}" |
---|
715 | haltonfailure="${test.junit.haltonfailure}" |
---|
716 | fork="yes" |
---|
717 | forkmode="${test.junit.fork.mode}" |
---|
718 | maxmemory="${test.junit.maxmemory}" |
---|
719 | dir="${basedir}" timeout="${test.timeout}" |
---|
720 | errorProperty="tests.failed" failureProperty="tests.failed"> |
---|
721 | <sysproperty key="test.build.data" value="${test.build.data}"/> |
---|
722 | <sysproperty key="test.cache.data" value="${test.cache.data}"/> |
---|
723 | <sysproperty key="test.debug.data" value="${test.debug.data}"/> |
---|
724 | <sysproperty key="hadoop.log.dir" value="${test.log.dir}"/> |
---|
725 | <sysproperty key="test.src.dir" value="${test.src.dir}"/> |
---|
726 | <sysproperty key="test.build.extraconf" value="${test.build.extraconf}" /> |
---|
727 | <sysproperty key="hadoop.policy.file" value="hadoop-policy.xml"/> |
---|
728 | <sysproperty key="java.library.path" |
---|
729 | value="${build.native}/lib:${lib.dir}/native/${build.platform}"/> |
---|
730 | <sysproperty key="install.c++.examples" value="${install.c++.examples}"/> |
---|
731 | <!-- set io.compression.codec.lzo.class in the child jvm only if it is set --> |
---|
732 | <syspropertyset dynamic="no"> |
---|
733 | <propertyref name="io.compression.codec.lzo.class"/> |
---|
734 | </syspropertyset> |
---|
735 | <!-- set compile.c++ in the child jvm only if it is set --> |
---|
736 | <syspropertyset dynamic="no"> |
---|
737 | <propertyref name="compile.c++"/> |
---|
738 | </syspropertyset> |
---|
739 | <classpath refid="${test.classpath.id}"/> |
---|
740 | <formatter type="${test.junit.output.format}" /> |
---|
741 | <batchtest todir="${test.build.dir}" unless="testcase"> |
---|
742 | <fileset dir="${test.src.dir}" |
---|
743 | includes="**/${test.include}.java" |
---|
744 | excludes="**/${test.exclude}.java" /> |
---|
745 | </batchtest> |
---|
746 | <batchtest todir="${test.build.dir}" if="testcase"> |
---|
747 | <fileset dir="${test.src.dir}" includes="**/${testcase}.java"/> |
---|
748 | </batchtest> |
---|
749 | </junit> |
---|
750 | <fail if="tests.failed">Tests failed!</fail> |
---|
751 | </target> |
---|
752 | |
---|
753 | <target name="test-contrib" depends="compile, compile-core-test" description="Run contrib unit tests"> |
---|
754 | <subant target="test"> |
---|
755 | <property name="version" value="${version}"/> |
---|
756 | <fileset file="${contrib.dir}/build.xml"/> |
---|
757 | </subant> |
---|
758 | </target> |
---|
759 | |
---|
760 | <target name="test" depends="test-core, test-contrib" description="Run core, contrib unit tests"> |
---|
761 | </target> |
---|
762 | |
---|
763 | <!-- Run all unit tests, not just Test*, and use non-test configuration. --> |
---|
764 | <target name="test-cluster" description="Run all unit tests, not just Test*, and use non-test configuration."> |
---|
765 | <antcall target="test"> |
---|
766 | <param name="test.include" value="*"/> |
---|
767 | <param name="test.classpath.id" value="test.cluster.classpath"/> |
---|
768 | </antcall> |
---|
769 | </target> |
---|
770 | |
---|
771 | <target name="nightly" depends="test, tar"> |
---|
772 | </target> |
---|
773 | |
---|
774 | <!-- ================================================================== --> |
---|
775 | <!-- Run optional third-party tool targets --> |
---|
776 | <!-- ================================================================== --> |
---|
777 | <target name="checkstyle" depends="ivy-retrieve-checkstyle,check-for-checkstyle" if="checkstyle.present" description="Run optional third-party tool targets"> |
---|
778 | <taskdef resource="checkstyletask.properties"> |
---|
779 | <classpath refid="checkstyle-classpath"/> |
---|
780 | </taskdef> |
---|
781 | |
---|
782 | <mkdir dir="${test.build.dir}"/> |
---|
783 | |
---|
784 | <checkstyle config="${test.src.dir}/checkstyle.xml" |
---|
785 | failOnViolation="false"> |
---|
786 | <fileset dir="${core.src.dir}" includes="**/*.java" excludes="**/generated/**"/> |
---|
787 | <fileset dir="${mapred.src.dir}" includes="**/*.java" excludes="**/generated/**"/> |
---|
788 | <fileset dir="${hdfs.src.dir}" includes="**/*.java" excludes="**/generated/**"/> |
---|
789 | <formatter type="xml" toFile="${test.build.dir}/checkstyle-errors.xml"/> |
---|
790 | </checkstyle> |
---|
791 | |
---|
792 | <xslt style="${test.src.dir}/checkstyle-noframes-sorted.xsl" |
---|
793 | in="${test.build.dir}/checkstyle-errors.xml" |
---|
794 | out="${test.build.dir}/checkstyle-errors.html"/> |
---|
795 | </target> |
---|
796 | |
---|
797 | <target name="check-for-checkstyle"> |
---|
798 | <available property="checkstyle.present" resource="checkstyletask.properties"> |
---|
799 | <classpath refid="checkstyle-classpath"/> |
---|
800 | </available> |
---|
801 | </target> |
---|
802 | |
---|
803 | <property name="findbugs.home" value=""/> |
---|
804 | <target name="findbugs" depends="check-for-findbugs, tar" if="findbugs.present" description="Run findbugs if present"> |
---|
805 | <property name="findbugs.out.dir" value="${test.build.dir}/findbugs"/> |
---|
806 | <property name="findbugs.exclude.file" value="${test.src.dir}/findbugsExcludeFile.xml"/> |
---|
807 | <property name="findbugs.report.htmlfile" value="${findbugs.out.dir}/hadoop-findbugs-report.html"/> |
---|
808 | <property name="findbugs.report.xmlfile" value="${findbugs.out.dir}/hadoop-findbugs-report.xml"/> |
---|
809 | <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" |
---|
810 | classpath="${findbugs.home}/lib/findbugs-ant.jar" /> |
---|
811 | |
---|
812 | <mkdir dir="${findbugs.out.dir}"/> |
---|
813 | |
---|
814 | <findbugs home="${findbugs.home}" output="xml:withMessages" |
---|
815 | outputFile="${findbugs.report.xmlfile}" effort="max" |
---|
816 | excludeFilter="${findbugs.exclude.file}" jvmargs="-Xmx512M"> |
---|
817 | <auxClasspath> |
---|
818 | <fileset dir="${lib.dir}"> |
---|
819 | <include name="**/*.jar"/> |
---|
820 | </fileset> |
---|
821 | <fileset dir="${build.ivy.lib.dir}/${ant.project.name}/common"> |
---|
822 | <include name="**/*.jar"/> |
---|
823 | </fileset> |
---|
824 | </auxClasspath> |
---|
825 | <sourcePath path="${core.src.dir}"/> |
---|
826 | <sourcePath path="${mapred.src.dir}"/> |
---|
827 | <sourcePath path="${hdfs.src.dir}"/> |
---|
828 | <sourcePath path="${examples.dir}" /> |
---|
829 | <sourcePath path="${tools.src}" /> |
---|
830 | <sourcePath path="${basedir}/src/contrib/streaming/src/java" /> |
---|
831 | <class location="${basedir}/build/${final.name}-core.jar" /> |
---|
832 | <class location="${basedir}/build/${final.name}-examples.jar" /> |
---|
833 | <class location="${basedir}/build/${final.name}-tools.jar" /> |
---|
834 | <class location="${basedir}/build/contrib/streaming/${final.name}-streaming.jar" /> |
---|
835 | </findbugs> |
---|
836 | |
---|
837 | <xslt style="${findbugs.home}/src/xsl/default.xsl" |
---|
838 | in="${findbugs.report.xmlfile}" |
---|
839 | out="${findbugs.report.htmlfile}"/> |
---|
840 | </target> |
---|
841 | |
---|
842 | <target name="check-for-findbugs"> |
---|
843 | <available property="findbugs.present" |
---|
844 | file="${findbugs.home}/lib/findbugs.jar" /> |
---|
845 | </target> |
---|
846 | |
---|
847 | |
---|
848 | <!-- ================================================================== --> |
---|
849 | <!-- Documentation --> |
---|
850 | <!-- ================================================================== --> |
---|
851 | |
---|
852 | <target name="docs" depends="forrest.check" description="Generate forrest-based documentation. To use, specify -Dforrest.home=<base of Apache Forrest installation> on the command line." if="forrest.home"> |
---|
853 | <exec dir="${docs.src}" executable="${forrest.home}/bin/forrest" |
---|
854 | failonerror="true"> |
---|
855 | <env key="JAVA_HOME" value="${java5.home}"/> |
---|
856 | </exec> |
---|
857 | <copy todir="${build.docs}"> |
---|
858 | <fileset dir="${docs.src}/build/site/" /> |
---|
859 | </copy> |
---|
860 | <copy file="${docs.src}/releasenotes.html" todir="${build.docs}"/> |
---|
861 | <style basedir="${core.src.dir}" destdir="${build.docs}" |
---|
862 | includes="core-default.xml" style="conf/configuration.xsl"/> |
---|
863 | <style basedir="${hdfs.src.dir}" destdir="${build.docs}" |
---|
864 | includes="hdfs-default.xml" style="conf/configuration.xsl"/> |
---|
865 | <style basedir="${mapred.src.dir}" destdir="${build.docs}" |
---|
866 | includes="mapred-default.xml" style="conf/configuration.xsl"/> |
---|
867 | <antcall target="changes-to-html"/> |
---|
868 | <antcall target="cn-docs"/> |
---|
869 | </target> |
---|
870 | |
---|
871 | <target name="cn-docs" depends="forrest.check, init" |
---|
872 | description="Generate forrest-based Chinese documentation. To use, specify -Dforrest.home=<base of Apache Forrest installation> on the command line." |
---|
873 | if="forrest.home"> |
---|
874 | <exec dir="${src.docs.cn}" executable="${forrest.home}/bin/forrest" failonerror="true"> |
---|
875 | <env key="LANG" value="en_US.utf8"/> |
---|
876 | <env key="JAVA_HOME" value="${java5.home}"/> |
---|
877 | </exec> |
---|
878 | <copy todir="${build.docs.cn}"> |
---|
879 | <fileset dir="${src.docs.cn}/build/site/" /> |
---|
880 | </copy> |
---|
881 | <style basedir="${core.src.dir}" destdir="${build.docs.cn}" |
---|
882 | includes="core-default.xml" style="conf/configuration.xsl"/> |
---|
883 | <style basedir="${hdfs.src.dir}" destdir="${build.docs.cn}" |
---|
884 | includes="hdfs-default.xml" style="conf/configuration.xsl"/> |
---|
885 | <style basedir="${mapred.src.dir}" destdir="${build.docs.cn}" |
---|
886 | includes="mapred-default.xml" style="conf/configuration.xsl"/> |
---|
887 | <antcall target="changes-to-html"/> |
---|
888 | </target> |
---|
889 | |
---|
890 | <target name="forrest.check" unless="forrest.home" depends="java5.check"> |
---|
891 | <fail message="'forrest.home' is not defined. Please pass -Dforrest.home=<base of Apache Forrest installation> to Ant on the command-line." /> |
---|
892 | </target> |
---|
893 | |
---|
894 | <target name="java5.check" unless="java5.home"> |
---|
895 | <fail message="'java5.home' is not defined. Forrest requires Java 5. Please pass -Djava5.home=<base of Java 5 distribution> to Ant on the command-line." /> |
---|
896 | </target> |
---|
897 | |
---|
898 | <target name="javadoc-dev" description="Generate javadoc for hadoop developers"> |
---|
899 | <mkdir dir="${build.javadoc.dev}"/> |
---|
900 | <javadoc |
---|
901 | overview="${core.src.dir}/overview.html" |
---|
902 | packagenames="org.apache.hadoop.*" |
---|
903 | destdir="${build.javadoc.dev}" |
---|
904 | author="true" |
---|
905 | version="true" |
---|
906 | use="true" |
---|
907 | windowtitle="${Name} ${version} API" |
---|
908 | doctitle="${Name} ${version} Developer API" |
---|
909 | bottom="Copyright &copy; ${year} The Apache Software Foundation" |
---|
910 | > |
---|
911 | <packageset dir="${core.src.dir}"/> |
---|
912 | <packageset dir="${mapred.src.dir}"/> |
---|
913 | <packageset dir="${hdfs.src.dir}"/> |
---|
914 | <packageset dir="${examples.dir}"/> |
---|
915 | |
---|
916 | <packageset dir="src/contrib/streaming/src/java"/> |
---|
917 | <packageset dir="src/contrib/data_join/src/java"/> |
---|
918 | <packageset dir="src/contrib/index/src/java"/> |
---|
919 | |
---|
920 | <link href="${javadoc.link.java}"/> |
---|
921 | |
---|
922 | <classpath > |
---|
923 | <path refid="classpath" /> |
---|
924 | <fileset dir="src/contrib/"> |
---|
925 | <include name="*/lib/*.jar" /> |
---|
926 | </fileset> |
---|
927 | <pathelement path="${java.class.path}"/> |
---|
928 | </classpath> |
---|
929 | |
---|
930 | <group title="Core" packages="org.apache.*"/> |
---|
931 | <group title="Examples" packages="org.apache.hadoop.examples*"/> |
---|
932 | |
---|
933 | <group title="contrib: Streaming" packages="org.apache.hadoop.streaming*"/> |
---|
934 | <group title="contrib: DataJoin" packages="org.apache.hadoop.contrib.utils.join*"/> |
---|
935 | <group title="contrib: Index" packages="org.apache.hadoop.contrib.index*"/> |
---|
936 | |
---|
937 | </javadoc> |
---|
938 | </target> |
---|
939 | |
---|
940 | <target name="javadoc" depends="compile, ivy-retrieve-javadoc" description="Generate javadoc"> |
---|
941 | <mkdir dir="${build.javadoc}"/> |
---|
942 | <javadoc |
---|
943 | overview="${core.src.dir}/overview.html" |
---|
944 | packagenames="org.apache.hadoop.*" |
---|
945 | destdir="${build.javadoc}" |
---|
946 | author="true" |
---|
947 | version="true" |
---|
948 | use="true" |
---|
949 | windowtitle="${Name} ${version} API" |
---|
950 | doctitle="${Name} ${version} API" |
---|
951 | bottom="Copyright &copy; ${year} The Apache Software Foundation" |
---|
952 | > |
---|
953 | <packageset dir="${core.src.dir}"/> |
---|
954 | <packageset dir="${mapred.src.dir}"/> |
---|
955 | <packageset dir="${examples.dir}"/> |
---|
956 | |
---|
957 | <packageset dir="src/contrib/streaming/src/java"/> |
---|
958 | <packageset dir="src/contrib/data_join/src/java"/> |
---|
959 | <packageset dir="src/contrib/index/src/java"/> |
---|
960 | <packageset dir="src/contrib/failmon/src/java/"/> |
---|
961 | |
---|
962 | <link href="${javadoc.link.java}"/> |
---|
963 | |
---|
964 | <classpath > |
---|
965 | <path refid="classpath" /> |
---|
966 | <fileset dir="src/contrib/"> |
---|
967 | <include name="*/lib/*.jar" /> |
---|
968 | </fileset> |
---|
969 | <path refid="javadoc-classpath"/> |
---|
970 | <pathelement path="${java.class.path}"/> |
---|
971 | <pathelement location="${build.tools}"/> |
---|
972 | </classpath> |
---|
973 | |
---|
974 | <group title="Core" packages="org.apache.*"/> |
---|
975 | <group title="Examples" packages="org.apache.hadoop.examples*"/> |
---|
976 | |
---|
977 | <group title="contrib: Streaming" packages="org.apache.hadoop.streaming*"/> |
---|
978 | <group title="contrib: DataJoin" packages="org.apache.hadoop.contrib.utils.join*"/> |
---|
979 | <group title="contrib: Index" packages="org.apache.hadoop.contrib.index*"/> |
---|
980 | <group title="contrib: FailMon" packages="org.apache.hadoop.contrib.failmon*"/> |
---|
981 | </javadoc> |
---|
982 | </target> |
---|
983 | |
---|
984 | <target name="api-xml" depends="ivy-retrieve-jdiff,javadoc,write-null"> |
---|
985 | <javadoc> |
---|
986 | <doclet name="jdiff.JDiff" |
---|
987 | path="${jdiff.jar}:${xerces.jar}"> |
---|
988 | <param name="-apidir" value="${jdiff.xml.dir}"/> |
---|
989 | <param name="-apiname" value="hadoop ${version}"/> |
---|
990 | </doclet> |
---|
991 | <packageset dir="src/core"/> |
---|
992 | <packageset dir="src/mapred"/> |
---|
993 | <packageset dir="src/tools"/> |
---|
994 | <classpath > |
---|
995 | <path refid="classpath" /> |
---|
996 | <path refid="jdiff-classpath" /> |
---|
997 | <pathelement path="${java.class.path}"/> |
---|
998 | </classpath> |
---|
999 | </javadoc> |
---|
1000 | </target> |
---|
1001 | |
---|
1002 | <target name="write-null"> |
---|
1003 | <exec executable="touch"> |
---|
1004 | <arg value="${jdiff.home}/Null.java"/> |
---|
1005 | </exec> |
---|
1006 | </target> |
---|
1007 | |
---|
1008 | <target name="api-report" depends="ivy-retrieve-jdiff,api-xml"> |
---|
1009 | <mkdir dir="${jdiff.build.dir}"/> |
---|
1010 | <javadoc sourcepath="src/core,src/hdfs,src,mapred,src/tools" |
---|
1011 | destdir="${jdiff.build.dir}" |
---|
1012 | sourceFiles="${jdiff.home}/Null.java"> |
---|
1013 | <doclet name="jdiff.JDiff" |
---|
1014 | path="${jdiff.jar}:${xerces.jar}"> |
---|
1015 | <param name="-oldapi" value="hadoop ${jdiff.stable}"/> |
---|
1016 | <param name="-newapi" value="hadoop ${version}"/> |
---|
1017 | <param name="-oldapidir" value="${jdiff.xml.dir}"/> |
---|
1018 | <param name="-newapidir" value="${jdiff.xml.dir}"/> |
---|
1019 | <param name="-javadocold" value="${jdiff.stable.javadoc}"/> |
---|
1020 | <param name="-javadocnew" value="../../api/"/> |
---|
1021 | <param name="-stats"/> |
---|
1022 | </doclet> |
---|
1023 | <classpath > |
---|
1024 | <path refid="classpath" /> |
---|
1025 | <path refid="jdiff-classpath"/> |
---|
1026 | <pathelement path="${java.class.path}"/> |
---|
1027 | </classpath> |
---|
1028 | </javadoc> |
---|
1029 | </target> |
---|
1030 | |
---|
1031 | <target name="changes-to-html" description="Convert CHANGES.txt into an html file"> |
---|
1032 | <mkdir dir="${build.docs}"/> |
---|
1033 | <exec executable="perl" input="CHANGES.txt" output="${build.docs}/changes.html" failonerror="true"> |
---|
1034 | <arg value="${changes.src}/changes2html.pl"/> |
---|
1035 | </exec> |
---|
1036 | <copy todir="${build.docs}"> |
---|
1037 | <fileset dir="${changes.src}" includes="*.css"/> |
---|
1038 | </copy> |
---|
1039 | </target> |
---|
1040 | |
---|
1041 | <!-- ================================================================== --> |
---|
1042 | <!-- D I S T R I B U T I O N --> |
---|
1043 | <!-- ================================================================== --> |
---|
1044 | <!-- --> |
---|
1045 | <!-- ================================================================== --> |
---|
1046 | <target name="package" depends="compile, jar, javadoc, docs, cn-docs, api-report, examples, tools-jar, jar-test, ant-tasks, package-librecordio" |
---|
1047 | description="Build distribution"> |
---|
1048 | <mkdir dir="${dist.dir}"/> |
---|
1049 | <mkdir dir="${dist.dir}/lib"/> |
---|
1050 | <mkdir dir="${dist.dir}/contrib"/> |
---|
1051 | <mkdir dir="${dist.dir}/bin"/> |
---|
1052 | <mkdir dir="${dist.dir}/docs"/> |
---|
1053 | <mkdir dir="${dist.dir}/docs/api"/> |
---|
1054 | <mkdir dir="${dist.dir}/docs/jdiff"/> |
---|
1055 | |
---|
1056 | <copy todir="${dist.dir}/lib" includeEmptyDirs="false" flatten="true"> |
---|
1057 | <fileset dir="${common.ivy.lib.dir}"/> |
---|
1058 | </copy> |
---|
1059 | |
---|
1060 | <copy todir="${dist.dir}/lib" includeEmptyDirs="false"> |
---|
1061 | <fileset dir="lib"> |
---|
1062 | <exclude name="**/native/**"/> |
---|
1063 | </fileset> |
---|
1064 | </copy> |
---|
1065 | |
---|
1066 | <exec dir="${dist.dir}" executable="sh" failonerror="true"> |
---|
1067 | <env key="BASE_NATIVE_LIB_DIR" value="${lib.dir}/native"/> |
---|
1068 | <env key="BUILD_NATIVE_DIR" value="${build.dir}/native"/> |
---|
1069 | <env key="DIST_LIB_DIR" value="${dist.dir}/lib/native"/> |
---|
1070 | <arg line="${native.src.dir}/packageNativeHadoop.sh"/> |
---|
1071 | </exec> |
---|
1072 | |
---|
1073 | <subant target="package"> |
---|
1074 | <!--Pass down the version in case its needed again and the target |
---|
1075 | distribution directory so contribs know where to install to.--> |
---|
1076 | <property name="version" value="${version}"/> |
---|
1077 | <property name="dist.dir" value="${dist.dir}"/> |
---|
1078 | <fileset file="${contrib.dir}/build.xml"/> |
---|
1079 | </subant> |
---|
1080 | |
---|
1081 | <copy todir="${dist.dir}/webapps"> |
---|
1082 | <fileset dir="${build.webapps}"/> |
---|
1083 | </copy> |
---|
1084 | |
---|
1085 | <copy todir="${dist.dir}"> |
---|
1086 | <fileset file="${build.dir}/${final.name}-*.jar"/> |
---|
1087 | </copy> |
---|
1088 | |
---|
1089 | <copy todir="${dist.dir}/bin"> |
---|
1090 | <fileset dir="bin"/> |
---|
1091 | </copy> |
---|
1092 | |
---|
1093 | <copy todir="${dist.dir}/conf"> |
---|
1094 | <fileset dir="${conf.dir}" excludes="**/*.template"/> |
---|
1095 | </copy> |
---|
1096 | |
---|
1097 | <copy todir="${dist.dir}/docs"> |
---|
1098 | <fileset dir="${build.docs}"/> |
---|
1099 | </copy> |
---|
1100 | |
---|
1101 | <copy file="ivy.xml" tofile="${dist.dir}/ivy.xml"/> |
---|
1102 | |
---|
1103 | <copy todir="${dist.dir}/ivy"> |
---|
1104 | <fileset dir="ivy"/> |
---|
1105 | </copy> |
---|
1106 | |
---|
1107 | <copy todir="${dist.dir}"> |
---|
1108 | <fileset dir="."> |
---|
1109 | <include name="*.txt" /> |
---|
1110 | </fileset> |
---|
1111 | </copy> |
---|
1112 | |
---|
1113 | <copy todir="${dist.dir}/src" includeEmptyDirs="true"> |
---|
1114 | <fileset dir="src" excludes="**/*.template **/docs/build/**/*"/> |
---|
1115 | </copy> |
---|
1116 | |
---|
1117 | <copy todir="${dist.dir}/c++" includeEmptyDirs="false"> |
---|
1118 | <fileset dir="${build.dir}/c++"/> |
---|
1119 | </copy> |
---|
1120 | |
---|
1121 | <copy todir="${dist.dir}/" file="build.xml"/> |
---|
1122 | |
---|
1123 | <chmod perm="ugo+x" type="file" parallel="false"> |
---|
1124 | <fileset dir="${dist.dir}/bin"/> |
---|
1125 | <fileset dir="${dist.dir}/src/contrib/"> |
---|
1126 | <include name="*/bin/*" /> |
---|
1127 | </fileset> |
---|
1128 | <fileset dir="${dist.dir}/src/contrib/ec2/bin/image"/> |
---|
1129 | </chmod> |
---|
1130 | <chmod perm="ugo+x" type="file"> |
---|
1131 | <fileset dir="${dist.dir}/src/c++/pipes/debug"/> |
---|
1132 | </chmod> |
---|
1133 | |
---|
1134 | </target> |
---|
1135 | |
---|
1136 | <!-- ================================================================== --> |
---|
1137 | <!-- Make release tarball --> |
---|
1138 | <!-- ================================================================== --> |
---|
1139 | <target name="tar" depends="package" description="Make release tarball"> |
---|
1140 | <macro_tar param.destfile="${build.dir}/${final.name}.tar.gz"> |
---|
1141 | <param.listofitems> |
---|
1142 | <tarfileset dir="${build.dir}" mode="664"> |
---|
1143 | <exclude name="${final.name}/bin/*" /> |
---|
1144 | <exclude name="${final.name}/contrib/*/bin/*" /> |
---|
1145 | <exclude name="${final.name}/src/contrib/ec2/bin/*" /> |
---|
1146 | <exclude name="${final.name}/src/contrib/ec2/bin/image/*" /> |
---|
1147 | <include name="${final.name}/**" /> |
---|
1148 | </tarfileset> |
---|
1149 | <tarfileset dir="${build.dir}" mode="755"> |
---|
1150 | <include name="${final.name}/bin/*" /> |
---|
1151 | <include name="${final.name}/contrib/*/bin/*" /> |
---|
1152 | <include name="${final.name}/src/contrib/ec2/bin/*" /> |
---|
1153 | <include name="${final.name}/src/contrib/ec2/bin/image/*" /> |
---|
1154 | </tarfileset> |
---|
1155 | </param.listofitems> |
---|
1156 | </macro_tar> |
---|
1157 | </target> |
---|
1158 | |
---|
1159 | <target name="bin-package" depends="compile, jar, examples, tools-jar, jar-test, ant-tasks, package-librecordio" |
---|
1160 | description="assembles artifacts for binary target"> |
---|
1161 | <mkdir dir="${dist.dir}"/> |
---|
1162 | <mkdir dir="${dist.dir}/lib"/> |
---|
1163 | <mkdir dir="${dist.dir}/contrib"/> |
---|
1164 | <mkdir dir="${dist.dir}/bin"/> |
---|
1165 | |
---|
1166 | <copy todir="${dist.dir}/lib" includeEmptyDirs="false" flatten="true"> |
---|
1167 | <fileset dir="${common.ivy.lib.dir}"/> |
---|
1168 | </copy> |
---|
1169 | |
---|
1170 | <copy todir="${dist.dir}/lib" includeEmptyDirs="false"> |
---|
1171 | <fileset dir="lib"> |
---|
1172 | <exclude name="**/native/**"/> |
---|
1173 | </fileset> |
---|
1174 | </copy> |
---|
1175 | |
---|
1176 | <exec dir="${dist.dir}" executable="sh" failonerror="true"> |
---|
1177 | <env key="BASE_NATIVE_LIB_DIR" value="${lib.dir}/native"/> |
---|
1178 | <env key="BUILD_NATIVE_DIR" value="${build.dir}/native"/> |
---|
1179 | <env key="DIST_LIB_DIR" value="${dist.dir}/lib/native"/> |
---|
1180 | <arg line="${native.src.dir}/packageNativeHadoop.sh"/> |
---|
1181 | </exec> |
---|
1182 | |
---|
1183 | <subant target="package"> |
---|
1184 | <!--Pass down the version in case its needed again and the target |
---|
1185 | distribution directory so contribs know where to install to.--> |
---|
1186 | <property name="version" value="${version}"/> |
---|
1187 | <property name="dist.dir" value="${dist.dir}"/> |
---|
1188 | <fileset file="${contrib.dir}/build.xml"/> |
---|
1189 | </subant> |
---|
1190 | |
---|
1191 | <copy todir="${dist.dir}/webapps"> |
---|
1192 | <fileset dir="${build.webapps}"/> |
---|
1193 | </copy> |
---|
1194 | |
---|
1195 | <copy todir="${dist.dir}"> |
---|
1196 | <fileset file="${build.dir}/${final.name}-*.jar"/> |
---|
1197 | </copy> |
---|
1198 | |
---|
1199 | <copy todir="${dist.dir}/bin"> |
---|
1200 | <fileset dir="bin"/> |
---|
1201 | </copy> |
---|
1202 | |
---|
1203 | <copy todir="${dist.dir}/conf"> |
---|
1204 | <fileset dir="${conf.dir}" excludes="**/*.template"/> |
---|
1205 | </copy> |
---|
1206 | |
---|
1207 | <copy file="ivy.xml" tofile="${dist.dir}/ivy.xml"/> |
---|
1208 | |
---|
1209 | <copy todir="${dist.dir}/ivy"> |
---|
1210 | <fileset dir="ivy"/> |
---|
1211 | </copy> |
---|
1212 | |
---|
1213 | <copy todir="${dist.dir}"> |
---|
1214 | <fileset dir="."> |
---|
1215 | <include name="*.txt" /> |
---|
1216 | </fileset> |
---|
1217 | </copy> |
---|
1218 | |
---|
1219 | <copy todir="${dist.dir}/c++" includeEmptyDirs="false"> |
---|
1220 | <fileset dir="${build.dir}/c++"/> |
---|
1221 | </copy> |
---|
1222 | |
---|
1223 | <copy todir="${dist.dir}/" file="build.xml"/> |
---|
1224 | |
---|
1225 | <chmod perm="ugo+x" type="file" parallel="false"> |
---|
1226 | <fileset dir="${dist.dir}/bin"/> |
---|
1227 | </chmod> |
---|
1228 | </target> |
---|
1229 | |
---|
1230 | <target name="binary" depends="bin-package" description="Make tarball without source and documentation"> |
---|
1231 | <macro_tar param.destfile="${build.dir}/${final.name}-bin.tar.gz"> |
---|
1232 | <param.listofitems> |
---|
1233 | <tarfileset dir="${build.dir}" mode="664"> |
---|
1234 | <exclude name="${final.name}/bin/*" /> |
---|
1235 | <exclude name="${final.name}/src/**" /> |
---|
1236 | <exclude name="${final.name}/docs/**" /> |
---|
1237 | <include name="${final.name}/**" /> |
---|
1238 | </tarfileset> |
---|
1239 | <tarfileset dir="${build.dir}" mode="755"> |
---|
1240 | <include name="${final.name}/bin/*" /> |
---|
1241 | </tarfileset> |
---|
1242 | </param.listofitems> |
---|
1243 | </macro_tar> |
---|
1244 | </target> |
---|
1245 | |
---|
1246 | <!-- ================================================================== --> |
---|
1247 | <!-- Perform audit activities for the release --> |
---|
1248 | <!-- ================================================================== --> |
---|
1249 | <target name="releaseaudit" depends="package,ivy-retrieve-releaseaudit" description="Release Audit activities"> |
---|
1250 | <fail unless="rat.present" message="Failed to load class [${rat.reporting.classname}]."/> |
---|
1251 | <java classname="${rat.reporting.classname}" fork="true"> |
---|
1252 | <classpath refid="releaseaudit-classpath"/> |
---|
1253 | <arg value="${build.dir}/${final.name}"/> |
---|
1254 | </java> |
---|
1255 | </target> |
---|
1256 | |
---|
1257 | <!-- ================================================================== --> |
---|
1258 | <!-- Clean. Delete the build files, and their directories --> |
---|
1259 | <!-- ================================================================== --> |
---|
1260 | <target name="clean" depends="clean-contrib" description="Clean. Delete the build files, and their directories"> |
---|
1261 | <delete dir="${build.dir}"/> |
---|
1262 | <delete dir="${docs.src}/build"/> |
---|
1263 | <delete dir="${src.docs.cn}/build"/> |
---|
1264 | </target> |
---|
1265 | |
---|
1266 | <!-- ================================================================== --> |
---|
1267 | <!-- Clean contrib target. For now, must be called explicitly --> |
---|
1268 | <!-- Using subant instead of ant as a workaround for 30569 --> |
---|
1269 | <!-- ================================================================== --> |
---|
1270 | <target name="clean-contrib"> |
---|
1271 | <subant target="clean"> |
---|
1272 | <fileset file="src/contrib/build.xml"/> |
---|
1273 | </subant> |
---|
1274 | </target> |
---|
1275 | |
---|
1276 | <target name="test-c++-libhdfs" depends="compile-c++-libhdfs, compile-core" if="islibhdfs"> |
---|
1277 | <delete dir="${test.libhdfs.dir}"/> |
---|
1278 | <mkdir dir="${test.libhdfs.dir}"/> |
---|
1279 | <mkdir dir="${test.libhdfs.dir}/logs"/> |
---|
1280 | <mkdir dir="${test.libhdfs.dir}/hdfs/name"/> |
---|
1281 | |
---|
1282 | <exec dir="${build.c++.libhdfs}" executable="${make.cmd}" failonerror="true"> |
---|
1283 | <env key="OS_NAME" value="${os.name}"/> |
---|
1284 | <env key="OS_ARCH" value="${os.arch}"/> |
---|
1285 | <env key="JVM_ARCH" value="${jvm.arch}"/> |
---|
1286 | <env key="LIBHDFS_BUILD_DIR" value="${build.c++.libhdfs}"/> |
---|
1287 | <env key="HADOOP_HOME" value="${basedir}"/> |
---|
1288 | <env key="HADOOP_CONF_DIR" value="${test.libhdfs.conf.dir}"/> |
---|
1289 | <env key="HADOOP_LOG_DIR" value="${test.libhdfs.dir}/logs"/> |
---|
1290 | <env key="LIBHDFS_SRC_DIR" value="${c++.libhdfs.src}"/> |
---|
1291 | <env key="LIBHDFS_INSTALL_DIR" value="${install.c++}/lib"/> |
---|
1292 | <env key="LIB_DIR" value="${common.ivy.lib.dir}"/> |
---|
1293 | <arg value="test"/> |
---|
1294 | </exec> |
---|
1295 | </target> |
---|
1296 | |
---|
1297 | <!-- ================================================================== --> |
---|
1298 | <!-- librecordio targets. --> |
---|
1299 | <!-- ================================================================== --> |
---|
1300 | |
---|
1301 | <target name="compile-librecordio" depends="init" if="librecordio" > |
---|
1302 | <mkdir dir="${build.librecordio}"/> |
---|
1303 | <exec dir="${librecordio.src}" executable="${make.cmd}" failonerror="true"> |
---|
1304 | <env key="XERCESCROOT" value="${xercescroot}"/> |
---|
1305 | <env key="LIBRECORDIO_BUILD_DIR" value="${build.librecordio}"/> |
---|
1306 | </exec> |
---|
1307 | </target> |
---|
1308 | |
---|
1309 | <target name="test-librecordio" depends="compile-librecordio, compile-core" if="librecordio"> |
---|
1310 | <delete dir="${librecordio.test.dir}"/> |
---|
1311 | <mkdir dir="${librecordio.test.dir}"/> |
---|
1312 | <exec dir="${librecordio.src}/test" executable="${make.cmd}" failonerror="true"> |
---|
1313 | <env key="HADOOP_HOME" value="${basedir}"/> |
---|
1314 | <env key="XERCESCROOT" value="${xercescroot}"/> |
---|
1315 | <env key="LIBRECORDIO_BUILD_DIR" value="${build.librecordio}"/> |
---|
1316 | <env key="LIBRECORDIO_TEST_DIR" value="${librecordio.test.dir}"/> |
---|
1317 | <arg value="all"/> |
---|
1318 | </exec> |
---|
1319 | </target> |
---|
1320 | |
---|
1321 | <target name="package-librecordio" depends="compile-librecordio" if="librecordio"> |
---|
1322 | <mkdir dir="${dist.dir}/librecordio"/> |
---|
1323 | <copy todir="${dist.dir}/librecordio"> |
---|
1324 | <fileset dir="${build.librecordio}" casesensitive="yes" followsymlinks="false"> |
---|
1325 | <exclude name="**/tests/**"/> |
---|
1326 | <exclude name="*.so"/> |
---|
1327 | <exclude name="*.o"/> |
---|
1328 | </fileset> |
---|
1329 | </copy> |
---|
1330 | <chmod perm="ugo+x" type="file"> |
---|
1331 | <fileset dir="${dist.dir}/librecordio"/> |
---|
1332 | </chmod> |
---|
1333 | </target> |
---|
1334 | |
---|
1335 | <target name="create-c++-configure" depends="init" if="compile.c++"> |
---|
1336 | <exec executable="autoreconf" dir="${c++.utils.src}" searchpath="yes" |
---|
1337 | failonerror="yes"> |
---|
1338 | <arg value="-if"/> |
---|
1339 | </exec> |
---|
1340 | <exec executable="autoreconf" dir="${c++.pipes.src}" searchpath="yes" |
---|
1341 | failonerror="yes"> |
---|
1342 | <arg value="-if"/> |
---|
1343 | </exec> |
---|
1344 | <exec executable="autoreconf" dir="${c++.examples.pipes.src}" |
---|
1345 | searchpath="yes" failonerror="yes"> |
---|
1346 | <arg value="-if"/> |
---|
1347 | </exec> |
---|
1348 | <antcall target="create-c++-configure-libhdfs"/> |
---|
1349 | </target> |
---|
1350 | |
---|
1351 | <target name="create-c++-configure-libhdfs" depends="check-c++-libhdfs" if="islibhdfs"> |
---|
1352 | <exec executable="autoreconf" dir="${c++.libhdfs.src}" |
---|
1353 | searchpath="yes" failonerror="yes"> |
---|
1354 | <arg value="-if"/> |
---|
1355 | </exec> |
---|
1356 | </target> |
---|
1357 | |
---|
1358 | <target name="check-c++-makefiles" depends="init" if="compile.c++"> |
---|
1359 | <condition property="need.c++.utils.makefile"> |
---|
1360 | <not> <available file="${build.c++.utils}/Makefile"/> </not> |
---|
1361 | </condition> |
---|
1362 | <condition property="need.c++.pipes.makefile"> |
---|
1363 | <not> <available file="${build.c++.pipes}/Makefile"/> </not> |
---|
1364 | </condition> |
---|
1365 | <condition property="need.c++.examples.pipes.makefile"> |
---|
1366 | <not> <available file="${build.c++.examples.pipes}/Makefile"/> </not> |
---|
1367 | </condition> |
---|
1368 | </target> |
---|
1369 | |
---|
1370 | <target name="check-c++-libhdfs"> |
---|
1371 | <condition property="islibhdfs"> |
---|
1372 | <and> |
---|
1373 | <isset property="compile.c++"/> |
---|
1374 | <isset property="libhdfs"/> |
---|
1375 | </and> |
---|
1376 | </condition> |
---|
1377 | </target> |
---|
1378 | |
---|
1379 | <target name="check-c++-makefile-libhdfs" depends="init,check-c++-libhdfs" if="islibhdfs"> |
---|
1380 | <condition property="need.c++.libhdfs.makefile"> |
---|
1381 | <not> <available file="${build.c++.libhdfs}/Makefile"/> </not> |
---|
1382 | </condition> |
---|
1383 | </target> |
---|
1384 | |
---|
1385 | <target name="create-c++-libhdfs-makefile" depends="check-c++-makefile-libhdfs" |
---|
1386 | if="need.c++.libhdfs.makefile"> |
---|
1387 | <mkdir dir="${build.c++.libhdfs}"/> |
---|
1388 | <chmod file="${c++.libhdfs.src}/configure" perm="ugo+x"/> |
---|
1389 | <exec executable="${c++.libhdfs.src}/configure" dir="${build.c++.libhdfs}" |
---|
1390 | failonerror="yes"> |
---|
1391 | <env key="ac_cv_func_malloc_0_nonnull" value="yes"/> |
---|
1392 | <env key="JVM_ARCH" value="${jvm.arch}"/> |
---|
1393 | <arg value="--prefix=${install.c++}"/> |
---|
1394 | </exec> |
---|
1395 | </target> |
---|
1396 | |
---|
1397 | <target name="create-c++-utils-makefile" depends="check-c++-makefiles" |
---|
1398 | if="need.c++.utils.makefile"> |
---|
1399 | <mkdir dir="${build.c++.utils}"/> |
---|
1400 | <exec executable="${c++.utils.src}/configure" dir="${build.c++.utils}" |
---|
1401 | failonerror="yes"> |
---|
1402 | <arg value="--prefix=${install.c++}"/> |
---|
1403 | </exec> |
---|
1404 | </target> |
---|
1405 | |
---|
1406 | <target name="compile-c++-utils" depends="create-c++-utils-makefile" |
---|
1407 | if="compile.c++"> |
---|
1408 | <exec executable="${make.cmd}" dir="${build.c++.utils}" searchpath="yes" |
---|
1409 | failonerror="yes"> |
---|
1410 | <arg value="install"/> |
---|
1411 | </exec> |
---|
1412 | </target> |
---|
1413 | |
---|
1414 | <target name="create-c++-pipes-makefile" depends="check-c++-makefiles" |
---|
1415 | if="need.c++.pipes.makefile"> |
---|
1416 | <mkdir dir="${build.c++.pipes}"/> |
---|
1417 | <exec executable="${c++.pipes.src}/configure" dir="${build.c++.pipes}" |
---|
1418 | failonerror="yes"> |
---|
1419 | <arg value="--prefix=${install.c++}"/> |
---|
1420 | </exec> |
---|
1421 | </target> |
---|
1422 | |
---|
1423 | <target name="compile-c++-pipes" |
---|
1424 | depends="create-c++-pipes-makefile,compile-c++-utils" |
---|
1425 | if="compile.c++"> |
---|
1426 | <exec executable="${make.cmd}" dir="${build.c++.pipes}" searchpath="yes" |
---|
1427 | failonerror="yes"> |
---|
1428 | <arg value="install"/> |
---|
1429 | </exec> |
---|
1430 | </target> |
---|
1431 | |
---|
1432 | <target name="compile-c++" |
---|
1433 | depends="compile-c++-pipes"/> |
---|
1434 | |
---|
1435 | <target name="create-c++-examples-pipes-makefile" |
---|
1436 | depends="check-c++-makefiles" |
---|
1437 | if="need.c++.examples.pipes.makefile"> |
---|
1438 | <mkdir dir="${build.c++.examples.pipes}"/> |
---|
1439 | <exec executable="${c++.examples.pipes.src}/configure" |
---|
1440 | dir="${build.c++.examples.pipes}" |
---|
1441 | failonerror="yes"> |
---|
1442 | <arg value="--prefix=${install.c++.examples}"/> |
---|
1443 | <arg value="--with-hadoop-utils=${install.c++}"/> |
---|
1444 | <arg value="--with-hadoop-pipes=${install.c++}"/> |
---|
1445 | </exec> |
---|
1446 | </target> |
---|
1447 | |
---|
1448 | <target name="compile-c++-examples-pipes" |
---|
1449 | depends="create-c++-examples-pipes-makefile,compile-c++-pipes" |
---|
1450 | if="compile.c++"> |
---|
1451 | <exec executable="${make.cmd}" dir="${build.c++.examples.pipes}" searchpath="yes" |
---|
1452 | failonerror="yes"> |
---|
1453 | <arg value="install"/> |
---|
1454 | </exec> |
---|
1455 | </target> |
---|
1456 | |
---|
1457 | <target name="compile-c++-examples" |
---|
1458 | depends="compile-c++-examples-pipes"/> |
---|
1459 | |
---|
1460 | <target name="compile-c++-libhdfs" depends="create-c++-libhdfs-makefile" if="islibhdfs"> |
---|
1461 | <exec executable="${make.cmd}" dir="${build.c++.libhdfs}" searchpath="yes" |
---|
1462 | failonerror="yes"> |
---|
1463 | <env key="ac_cv_func_malloc_0_nonnull" value="yes"/> |
---|
1464 | <env key="JVM_ARCH" value="${jvm.arch}"/> |
---|
1465 | <arg value="install"/> |
---|
1466 | </exec> |
---|
1467 | </target> |
---|
1468 | |
---|
1469 | |
---|
1470 | |
---|
1471 | <target name="compile-ant-tasks" depends="compile-core"> |
---|
1472 | <javac |
---|
1473 | encoding="${build.encoding}" |
---|
1474 | srcdir="${anttasks.dir}" |
---|
1475 | includes="org/apache/hadoop/ant/**/*.java" |
---|
1476 | destdir="${build.anttasks}" |
---|
1477 | debug="${javac.debug}" |
---|
1478 | optimize="${javac.optimize}" |
---|
1479 | target="${javac.version}" |
---|
1480 | source="${javac.version}" |
---|
1481 | deprecation="${javac.deprecation}"> |
---|
1482 | <compilerarg line="${javac.args}"/> |
---|
1483 | <classpath refid="classpath"/> |
---|
1484 | </javac> |
---|
1485 | </target> |
---|
1486 | |
---|
1487 | <target name="ant-tasks" depends="jar, compile-ant-tasks"> |
---|
1488 | <copy file="${anttasks.dir}/org/apache/hadoop/ant/antlib.xml" |
---|
1489 | todir="${build.anttasks}/org/apache/hadoop/ant"/> |
---|
1490 | <jar destfile="${build.dir}/${final.name}-ant.jar"> |
---|
1491 | <fileset dir="${build.anttasks}"/> |
---|
1492 | </jar> |
---|
1493 | </target> |
---|
1494 | |
---|
1495 | |
---|
1496 | |
---|
1497 | <target name="clover" depends="clover.setup, clover.info" description="Instrument the Unit tests using Clover. To use, specify -Dclover.home=<base of clover installation> -Drun.clover=true on the command line."/> |
---|
1498 | |
---|
1499 | <target name="clover.setup" if="clover.enabled"> |
---|
1500 | <taskdef resource="cloverlib.xml" classpath="${clover.jar}"/> |
---|
1501 | <mkdir dir="${clover.db.dir}"/> |
---|
1502 | <clover-setup initString="${clover.db.dir}/hadoop_coverage.db"> |
---|
1503 | <fileset dir="src" includes="core/**/* tools/**/* hdfs/**/* mapred/**/*"/> |
---|
1504 | </clover-setup> |
---|
1505 | </target> |
---|
1506 | |
---|
1507 | <target name="clover.info" unless="clover.present"> |
---|
1508 | <echo> |
---|
1509 | Clover not found. Code coverage reports disabled. |
---|
1510 | </echo> |
---|
1511 | </target> |
---|
1512 | |
---|
1513 | <target name="clover.check"> |
---|
1514 | <fail unless="clover.present"> |
---|
1515 | ################################################################## |
---|
1516 | Clover not found. |
---|
1517 | Please specify -Dclover.home=<base of clover installation> |
---|
1518 | on the command line. |
---|
1519 | ################################################################## |
---|
1520 | </fail> |
---|
1521 | </target> |
---|
1522 | |
---|
1523 | <target name="generate-clover-reports" depends="clover.check, clover"> |
---|
1524 | <mkdir dir="${clover.report.dir}"/> |
---|
1525 | <clover-report> |
---|
1526 | <current outfile="${clover.report.dir}" title="${final.name}"> |
---|
1527 | <format type="html"/> |
---|
1528 | </current> |
---|
1529 | </clover-report> |
---|
1530 | <clover-report> |
---|
1531 | <current outfile="${clover.report.dir}/clover.xml" title="${final.name}"> |
---|
1532 | <format type="xml"/> |
---|
1533 | </current> |
---|
1534 | </clover-report> |
---|
1535 | </target> |
---|
1536 | |
---|
1537 | <target name="findbugs.check" depends="check-for-findbugs" unless="findbugs.present"> |
---|
1538 | <fail message="'findbugs.home' is not defined. Please pass -Dfindbugs.home=<base of Findbugs installation> to Ant on the command-line." /> |
---|
1539 | </target> |
---|
1540 | |
---|
1541 | <target name="patch.check" unless="patch.file"> |
---|
1542 | <fail message="'patch.file' is not defined. Please pass -Dpatch.file=<location of patch file> to Ant on the command-line." /> |
---|
1543 | </target> |
---|
1544 | |
---|
1545 | <target name="test-patch" depends="patch.check,findbugs.check,forrest.check"> |
---|
1546 | <exec executable="bash" failonerror="true"> |
---|
1547 | <arg value="${basedir}/src/test/bin/test-patch.sh"/> |
---|
1548 | <arg value="DEVELOPER"/> |
---|
1549 | <arg value="${patch.file}"/> |
---|
1550 | <arg value="${scratch.dir}"/> |
---|
1551 | <arg value="${svn.cmd}"/> |
---|
1552 | <arg value="${grep.cmd}"/> |
---|
1553 | <arg value="${patch.cmd}"/> |
---|
1554 | <arg value="${findbugs.home}"/> |
---|
1555 | <arg value="${forrest.home}"/> |
---|
1556 | <arg value="${basedir}"/> |
---|
1557 | <arg value="${java5.home}"/> |
---|
1558 | </exec> |
---|
1559 | </target> |
---|
1560 | |
---|
1561 | <target name="hudson-test-patch" depends="findbugs.check,forrest.check"> |
---|
1562 | <exec executable="bash" failonerror="true"> |
---|
1563 | <arg value="${basedir}/src/test/bin/test-patch.sh"/> |
---|
1564 | <arg value="HUDSON"/> |
---|
1565 | <arg value="${scratch.dir}"/> |
---|
1566 | <arg value="${support.dir}"/> |
---|
1567 | <arg value="${ps.cmd}"/> |
---|
1568 | <arg value="${wget.cmd}"/> |
---|
1569 | <arg value="${jiracli.cmd}"/> |
---|
1570 | <arg value="${svn.cmd}"/> |
---|
1571 | <arg value="${grep.cmd}"/> |
---|
1572 | <arg value="${patch.cmd}"/> |
---|
1573 | <arg value="${findbugs.home}"/> |
---|
1574 | <arg value="${forrest.home}"/> |
---|
1575 | <arg value="${eclipse.home}"/> |
---|
1576 | <arg value="${python.home}"/> |
---|
1577 | <arg value="${basedir}"/> |
---|
1578 | <arg value="${trigger.url}"/> |
---|
1579 | <arg value="${jira.passwd}"/> |
---|
1580 | <arg value="${java5.home}"/> |
---|
1581 | </exec> |
---|
1582 | </target> |
---|
1583 | |
---|
1584 | <target name="eclipse-files" depends="init" |
---|
1585 | description="Generate files for Eclipse"> |
---|
1586 | <pathconvert property="eclipse.project"> |
---|
1587 | <path path="${basedir}"/> |
---|
1588 | <regexpmapper from="^.*/([^/]+)$$" to="\1" handledirsep="yes"/> |
---|
1589 | </pathconvert> |
---|
1590 | <copy todir="." overwrite="true"> |
---|
1591 | <fileset dir=".eclipse.templates"> |
---|
1592 | <exclude name="**/README.txt"/> |
---|
1593 | </fileset> |
---|
1594 | <filterset> |
---|
1595 | <filter token="PROJECT" value="${eclipse.project}"/> |
---|
1596 | </filterset> |
---|
1597 | </copy> |
---|
1598 | </target> |
---|
1599 | |
---|
1600 | <target name="ivy-init-dirs"> |
---|
1601 | <mkdir dir="${build.ivy.dir}" /> |
---|
1602 | <mkdir dir="${build.ivy.lib.dir}" /> |
---|
1603 | <mkdir dir="${build.ivy.report.dir}" /> |
---|
1604 | <mkdir dir="${build.ivy.maven.dir}" /> |
---|
1605 | </target> |
---|
1606 | |
---|
1607 | <target name="ivy-probe-antlib" > |
---|
1608 | <condition property="ivy.found"> |
---|
1609 | <typefound uri="antlib:org.apache.ivy.ant" name="cleancache"/> |
---|
1610 | </condition> |
---|
1611 | </target> |
---|
1612 | |
---|
1613 | <target name="ivy-download" description="To download ivy" unless="offline"> |
---|
1614 | <get src="${ivy_repo_url}" dest="${ivy.jar}" usetimestamp="true"/> |
---|
1615 | </target> |
---|
1616 | |
---|
1617 | <!-- |
---|
1618 | To avoid Ivy leaking things across big projects, always load Ivy in the same classloader. |
---|
1619 | Also note how we skip loading Ivy if it is already there, just to make sure all is well. |
---|
1620 | --> |
---|
1621 | <target name="ivy-init-antlib" depends="ivy-download,ivy-init-dirs,ivy-probe-antlib" unless="ivy.found"> |
---|
1622 | <typedef uri="antlib:org.apache.ivy.ant" onerror="fail" |
---|
1623 | loaderRef="ivyLoader"> |
---|
1624 | <classpath> |
---|
1625 | <pathelement location="${ivy.jar}"/> |
---|
1626 | </classpath> |
---|
1627 | </typedef> |
---|
1628 | <fail > |
---|
1629 | <condition > |
---|
1630 | <not> |
---|
1631 | <typefound uri="antlib:org.apache.ivy.ant" name="cleancache"/> |
---|
1632 | </not> |
---|
1633 | </condition> |
---|
1634 | You need Apache Ivy 2.0 or later from http://ant.apache.org/ |
---|
1635 | It could not be loaded from ${ivy_repo_url} |
---|
1636 | </fail> |
---|
1637 | </target> |
---|
1638 | |
---|
1639 | |
---|
1640 | <target name="ivy-init" depends="ivy-init-antlib" > |
---|
1641 | |
---|
1642 | <!--Configure Ivy by reading in the settings file |
---|
1643 | If anyone has already read in a settings file into this settings ID, it gets priority |
---|
1644 | --> |
---|
1645 | <ivy:configure settingsid="${ant.project.name}.ivy.settings" file="${ivysettings.xml}" override='false'/> |
---|
1646 | </target> |
---|
1647 | |
---|
1648 | <target name="ivy-resolve" depends="ivy-init"> |
---|
1649 | <ivy:resolve settingsRef="${ant.project.name}.ivy.settings"/> |
---|
1650 | </target> |
---|
1651 | |
---|
1652 | <target name="ivy-resolve-javadoc" depends="ivy-init"> |
---|
1653 | <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="javadoc"/> |
---|
1654 | </target> |
---|
1655 | |
---|
1656 | <target name="ivy-resolve-releaseaudit" depends="ivy-init"> |
---|
1657 | <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="releaseaudit"/> |
---|
1658 | </target> |
---|
1659 | |
---|
1660 | <target name="ivy-resolve-test" depends="ivy-init"> |
---|
1661 | <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="test" /> |
---|
1662 | </target> |
---|
1663 | |
---|
1664 | <target name="ivy-resolve-common" depends="ivy-init"> |
---|
1665 | <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="common" /> |
---|
1666 | </target> |
---|
1667 | |
---|
1668 | <target name="ivy-resolve-jdiff" depends="ivy-init"> |
---|
1669 | <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="jdiff" /> |
---|
1670 | </target> |
---|
1671 | |
---|
1672 | <target name="ivy-resolve-checkstyle" depends="ivy-init"> |
---|
1673 | <ivy:resolve settingsRef="${ant.project.name}.ivy.settings" conf="checkstyle"/> |
---|
1674 | </target> |
---|
1675 | |
---|
1676 | <target name="ivy-retrieve" depends="ivy-resolve" |
---|
1677 | description="Retrieve Ivy-managed artifacts"> |
---|
1678 | <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings" |
---|
1679 | pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"/> |
---|
1680 | </target> |
---|
1681 | |
---|
1682 | <target name="ivy-retrieve-checkstyle" depends="ivy-resolve-checkstyle" |
---|
1683 | description="Retrieve Ivy-managed artifacts for the checkstyle configurations"> |
---|
1684 | <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings" |
---|
1685 | pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"/> |
---|
1686 | <ivy:cachepath pathid="checkstyle-classpath" conf="checkstyle"/> |
---|
1687 | </target> |
---|
1688 | |
---|
1689 | <target name="ivy-retrieve-jdiff" depends="ivy-resolve-jdiff" |
---|
1690 | description="Retrieve Ivy-managed artifacts for the javadoc configurations"> |
---|
1691 | <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings" |
---|
1692 | pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"/> |
---|
1693 | <ivy:cachepath pathid="jdiff-classpath" conf="jdiff"/> |
---|
1694 | </target> |
---|
1695 | |
---|
1696 | <target name="ivy-retrieve-javadoc" depends="ivy-resolve-javadoc" |
---|
1697 | description="Retrieve Ivy-managed artifacts for the javadoc configurations"> |
---|
1698 | <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings" |
---|
1699 | pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"/> |
---|
1700 | <ivy:cachepath pathid="javadoc-classpath" conf="javadoc"/> |
---|
1701 | </target> |
---|
1702 | |
---|
1703 | <target name="ivy-retrieve-test" depends="ivy-resolve-test" |
---|
1704 | description="Retrieve Ivy-managed artifacts for the test configurations"> |
---|
1705 | <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings" |
---|
1706 | pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"/> |
---|
1707 | <ivy:cachepath pathid="test.classpath" conf="test"/> |
---|
1708 | </target> |
---|
1709 | |
---|
1710 | <target name="ivy-retrieve-common" depends="ivy-resolve-common" |
---|
1711 | description="Retrieve Ivy-managed artifacts for the compile configurations"> |
---|
1712 | <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings" |
---|
1713 | pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}"/> |
---|
1714 | <ivy:cachepath pathid="ivy-common.classpath" conf="common"/> |
---|
1715 | </target> |
---|
1716 | |
---|
1717 | <target name="ivy-retrieve-releaseaudit" depends="ivy-resolve-releaseaudit" |
---|
1718 | description="Retrieve Ivy-managed artifacts for the compile configurations"> |
---|
1719 | <ivy:retrieve settingsRef="${ant.project.name}.ivy.settings" |
---|
1720 | pattern="${build.ivy.lib.dir}/${ivy.artifact.retrieve.pattern}" /> |
---|
1721 | <ivy:cachepath pathid="releaseaudit-classpath" conf="releaseaudit"/> |
---|
1722 | <available classname="${rat.reporting.classname}" |
---|
1723 | classpathref="releaseaudit-classpath" property="rat.present" value="true"/> |
---|
1724 | </target> |
---|
1725 | |
---|
1726 | <target name="ivy-report" depends="ivy-resolve-releaseaudit" |
---|
1727 | description="Generate"> |
---|
1728 | <ivy:report todir="${build.ivy.report.dir}" settingsRef="${ant.project.name}.ivy.settings"/> |
---|
1729 | <echo> |
---|
1730 | Reports generated:${build.ivy.report.dir} |
---|
1731 | </echo> |
---|
1732 | </target> |
---|
1733 | |
---|
1734 | <target name="assert-hadoop-jar-exists" depends="ivy-init"> |
---|
1735 | <fail> |
---|
1736 | <condition > |
---|
1737 | <not> |
---|
1738 | <available file="${hadoop.jar}" /> |
---|
1739 | </not> |
---|
1740 | </condition> |
---|
1741 | Not found: ${hadoop.jar} |
---|
1742 | Please run the target "jar" in the main build file |
---|
1743 | </fail> |
---|
1744 | |
---|
1745 | </target> |
---|
1746 | |
---|
1747 | <target name="ready-to-publish" depends="jar,assert-hadoop-jar-exists,ivy-resolve"/> |
---|
1748 | |
---|
1749 | <target name="ivy-publish-local" depends="ready-to-publish,ivy-resolve"> |
---|
1750 | <ivy:publish |
---|
1751 | settingsRef="${ant.project.name}.ivy.settings" |
---|
1752 | resolver="local" |
---|
1753 | pubrevision="${hadoop.version}" |
---|
1754 | overwrite="true" |
---|
1755 | artifactspattern="${build.dir}/${ivy.publish.pattern}" /> |
---|
1756 | </target> |
---|
1757 | |
---|
1758 | |
---|
1759 | <!-- this is here for curiosity, to see how well the makepom task works |
---|
1760 | Answer: it depends whether you want transitive dependencies excluded or not |
---|
1761 | --> |
---|
1762 | <target name="makepom" depends="ivy-resolve"> |
---|
1763 | <ivy:makepom settingsRef="${ant.project.name}.ivy.settings" |
---|
1764 | ivyfile="ivy.xml" |
---|
1765 | pomfile="${build.ivy.maven.dir}/generated.pom"> |
---|
1766 | <ivy:mapping conf="default" scope="default"/> |
---|
1767 | <ivy:mapping conf="master" scope="master"/> |
---|
1768 | <ivy:mapping conf="runtime" scope="runtime"/> |
---|
1769 | </ivy:makepom> |
---|
1770 | </target> |
---|
1771 | |
---|
1772 | |
---|
1773 | <target name="copy-jar-to-maven" depends="ready-to-publish"> |
---|
1774 | <copy file="${hadoop.jar}" |
---|
1775 | tofile="${build.ivy.maven.jar}"/> |
---|
1776 | <checksum file="${build.ivy.maven.jar}" algorithm="md5"/> |
---|
1777 | </target> |
---|
1778 | |
---|
1779 | <target name="copypom" depends="ivy-init-dirs"> |
---|
1780 | |
---|
1781 | <presetdef name="expandingcopy" > |
---|
1782 | <copy overwrite="true"> |
---|
1783 | <filterchain> |
---|
1784 | <expandproperties/> |
---|
1785 | </filterchain> |
---|
1786 | </copy> |
---|
1787 | </presetdef> |
---|
1788 | |
---|
1789 | <expandingcopy file="ivy/hadoop-core.pom" |
---|
1790 | tofile="${build.ivy.maven.pom}"/> |
---|
1791 | <checksum file="${build.ivy.maven.pom}" algorithm="md5"/> |
---|
1792 | </target> |
---|
1793 | |
---|
1794 | <target name="maven-artifacts" depends="copy-jar-to-maven,copypom" /> |
---|
1795 | |
---|
1796 | <target name="published" depends="ivy-publish-local,maven-artifacts"> |
---|
1797 | |
---|
1798 | </target> |
---|
1799 | |
---|
1800 | </project> |
---|