Mercurial > hg > cc > cirrus_home
comparison src/nutch-cc/build.xml @ 191:b5904d0bdfd4
orig, more or less
author | Henry S. Thompson <ht@inf.ed.ac.uk> |
---|---|
date | Wed, 25 Sep 2024 09:49:12 +0100 |
parents | |
children | 4275eb6484da |
comparison
equal
deleted
inserted
replaced
190:f2bf736c2d40 | 191:b5904d0bdfd4 |
---|---|
1 <?xml version="1.0"?> | |
2 <!-- | |
3 Licensed to the Apache Software Foundation (ASF) under one or more | |
4 contributor license agreements. See the NOTICE file distributed with | |
5 this work for additional information regarding copyright ownership. | |
6 The ASF licenses this file to You under the Apache License, Version 2.0 | |
7 (the "License"); you may not use this file except in compliance with | |
8 the License. You may obtain a copy of the License at | |
9 | |
10 http://www.apache.org/licenses/LICENSE-2.0 | |
11 | |
12 Unless required by applicable law or agreed to in writing, software | |
13 distributed under the License is distributed on an "AS IS" BASIS, | |
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
15 See the License for the specific language governing permissions and | |
16 limitations under the License. | |
17 --> | |
18 <project name="${name}" default="runtime" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:artifact="antlib:org.apache.maven.artifact.ant"> | |
19 | |
20 <!-- Load all the default properties, and any the user wants --> | |
21 <!-- to contribute (without having to type -D or edit this file --> | |
22 <property file="${user.home}/build.properties" /> | |
23 <property file="${basedir}/build.properties" /> | |
24 <property file="${basedir}/default.properties" /> | |
25 <property name="release.dir" value="${build.dir}/release"/> | |
26 | |
27 <!-- define Maven coordinates, repository url and artifacts name etc --> | |
28 <property name="groupId" value="org.apache.nutch" /> | |
29 <property name="artifactId" value="nutch" /> | |
30 <property name="maven-repository-url" value="https://repository.apache.org/service/local/staging/deploy/maven2" /> | |
31 <property name="maven-repository-id" value="apache.releases.https" /> | |
32 <property name="maven-jar" value="${release.dir}/${artifactId}-${version}.jar" /> | |
33 <property name="maven-javadoc-jar" value="${release.dir}/${artifactId}-${version}-javadoc.jar" /> | |
34 <property name="maven-sources-jar" value="${release.dir}/${artifactId}-${version}-sources.jar" /> | |
35 | |
36 | |
37 <!-- the normal classpath --> | |
38 <path id="classpath"> | |
39 <pathelement location="${build.classes}"/> | |
40 <fileset dir="${build.lib.dir}"> | |
41 <include name="*.jar" /> | |
42 </fileset> | |
43 </path> | |
44 | |
45 <dirname property="plugins.classpath.dir" file="${build.plugins}"/> | |
46 | |
47 <!-- the unit test classpath --> | |
48 <path id="test.classpath"> | |
49 <pathelement location="${test.build.classes}" /> | |
50 <pathelement location="${conf.dir}"/> | |
51 <pathelement location="${test.src.dir}"/> | |
52 <pathelement location="${plugins.classpath.dir}"/> | |
53 <path refid="classpath"/> | |
54 <pathelement location="${build.dir}/${final.name}.job" /> | |
55 <fileset dir="${build.lib.dir}"> | |
56 <include name="*.jar" /> | |
57 </fileset> | |
58 <fileset dir="${test.build.lib.dir}"> | |
59 <include name="*.jar" /> | |
60 </fileset> | |
61 </path> | |
62 | |
63 <presetdef name="javac"> | |
64 <javac includeantruntime="false" /> | |
65 </presetdef> | |
66 | |
67 <!-- ====================================================== --> | |
68 <!-- Stuff needed by all targets --> | |
69 <!-- ====================================================== --> | |
70 <target name="init" depends="ivy-init" description="--> stuff required by all targets"> | |
71 <mkdir dir="${build.dir}"/> | |
72 <mkdir dir="${build.classes}"/> | |
73 <mkdir dir="${release.dir}"/> | |
74 | |
75 <mkdir dir="${test.build.dir}"/> | |
76 <mkdir dir="${test.build.classes}"/> | |
77 <mkdir dir="${test.build.lib.dir}"/> | |
78 | |
79 <touch datetime="01/25/1971 2:00 pm"> | |
80 <fileset dir="${conf.dir}" includes="**/*.template"/> | |
81 </touch> | |
82 | |
83 <copy todir="${conf.dir}" verbose="true"> | |
84 <fileset dir="${conf.dir}" includes="**/*.template"/> | |
85 <mapper type="glob" from="*.template" to="*"/> | |
86 </copy> | |
87 </target> | |
88 | |
89 <!-- ====================================================== --> | |
90 <!-- Compile the Java files --> | |
91 <!-- ====================================================== --> | |
92 <target name="compile" depends="compile-core, compile-plugins" description="--> compile all Java files"/> | |
93 | |
94 <target name="compile-core" depends="init, resolve-default" description="--> compile core Java files only"> | |
95 <javac | |
96 encoding="${build.encoding}" | |
97 srcdir="${src.dir}" | |
98 includes="org/apache/nutch/**/*.java org/commoncrawl/**/*.java" | |
99 destdir="${build.classes}" | |
100 debug="${javac.debug}" | |
101 optimize="${javac.optimize}" | |
102 target="${javac.version}" | |
103 source="${javac.version}" | |
104 deprecation="${javac.deprecation}"> | |
105 <compilerarg value="-Xlint:-path"/> | |
106 <classpath refid="classpath"/> | |
107 </javac> | |
108 <copy todir="${build.classes}"> | |
109 <fileset dir="${src.dir}" includes="**/*.html" /> | |
110 <fileset dir="${src.dir}" includes="**/*.css" /> | |
111 <fileset dir="${src.dir}" includes="**/*.properties" /> | |
112 </copy> | |
113 </target> | |
114 | |
115 <target name="compile-plugins" depends="init, resolve-default" description="--> compile plugins only"> | |
116 <ant dir="src/plugin" target="deploy" inheritAll="false"/> | |
117 </target> | |
118 | |
119 <!-- ================================================================== --> | |
120 <!-- Make nutch.jar --> | |
121 <!-- ================================================================== --> | |
122 <!-- --> | |
123 <!-- ================================================================== --> | |
124 <target name="jar" depends="compile-core" description="--> make nutch.jar"> | |
125 <copy file="${conf.dir}/nutch-default.xml" | |
126 todir="${build.classes}"/> | |
127 <copy file="${conf.dir}/nutch-site.xml" | |
128 todir="${build.classes}"/> | |
129 <jar jarfile="${build.dir}/${final.name}.jar" | |
130 basedir="${build.classes}"> | |
131 <manifest> | |
132 </manifest> | |
133 </jar> | |
134 </target> | |
135 | |
136 <!-- ================================================================== --> | |
137 <!-- Make Maven Central Release --> | |
138 <!-- ================================================================== --> | |
139 <!-- --> | |
140 <!-- ================================================================== --> | |
141 <target name="release" depends="compile-core" description="--> generate the release distribution"> | |
142 <copy file="${conf.dir}/nutch-default.xml" | |
143 todir="${build.classes}"/> | |
144 <copy file="${conf.dir}/nutch-site.xml" | |
145 todir="${build.classes}"/> | |
146 | |
147 <!-- build the main artifact --> | |
148 <jar jarfile="${maven-jar}" basedir="${build.classes}" /> | |
149 | |
150 <fail message="Unsupported Java version: ${java.version}. Javadoc requires Java version 7u25 or greater. See https://issues.apache.org/jira/browse/NUTCH-1590"> | |
151 <condition> | |
152 <or> | |
153 <matches string="${java.version}" pattern="1.7.0_2[01234].+" casesensitive="false" /> | |
154 <matches string="${java.version}" pattern="1.7.0_1.+" casesensitive="false" /> | |
155 <equals arg1="${ant.java.version}" arg2="1.6" /> | |
156 <equals arg1="${ant.java.version}" arg2="1.5" /> | |
157 </or> | |
158 </condition> | |
159 </fail> | |
160 | |
161 <!-- build the javadoc artifact --> | |
162 <javadoc | |
163 destdir="${release.dir}/javadoc" | |
164 overview="${src.dir}/overview.html" | |
165 author="true" | |
166 version="true" | |
167 use="true" | |
168 windowtitle="${name} ${version} API" | |
169 doctitle="${name} ${version} API" | |
170 bottom="Copyright &copy; ${year} The Apache Software Foundation" | |
171 > | |
172 <arg value="${javadoc.proxy.host}"/> | |
173 <arg value="${javadoc.proxy.port}"/> | |
174 | |
175 <packageset dir="${src.dir}"/> | |
176 <packageset dir="${plugins.dir}/any23/src/java/" /> | |
177 <packageset dir="${plugins.dir}/creativecommons/src/java"/> | |
178 <packageset dir="${plugins.dir}/feed/src/java"/> | |
179 <packageset dir="${plugins.dir}/headings/src/java"/> | |
180 <packageset dir="${plugins.dir}/exchange-jexl/src/java"/> | |
181 <packageset dir="${plugins.dir}/index-anchor/src/java"/> | |
182 <packageset dir="${plugins.dir}/index-basic/src/java"/> | |
183 <packageset dir="${plugins.dir}/index-geoip/src/java"/> | |
184 <packageset dir="${plugins.dir}/index-jexl-filter/src/java"/> | |
185 <packageset dir="${plugins.dir}/index-links/src/java"/> | |
186 <packageset dir="${plugins.dir}/index-metadata/src/java"/> | |
187 <packageset dir="${plugins.dir}/index-more/src/java"/> | |
188 <packageset dir="${plugins.dir}/index-replace/src/java"/> | |
189 <packageset dir="${plugins.dir}/index-static/src/java"/> | |
190 <packageset dir="${plugins.dir}/indexer-cloudsearch/src/java/" /> | |
191 <packageset dir="${plugins.dir}/indexer-csv/src/java"/> | |
192 <packageset dir="${plugins.dir}/indexer-dummy/src/java"/> | |
193 <packageset dir="${plugins.dir}/indexer-elastic-rest/src/java/"/> | |
194 <packageset dir="${plugins.dir}/indexer-elastic/src/java/" /> | |
195 <packageset dir="${plugins.dir}/indexer-kafka/src/java/" /> | |
196 <packageset dir="${plugins.dir}/indexer-rabbit/src/java"/> | |
197 <packageset dir="${plugins.dir}/indexer-solr/src/java"/> | |
198 <packageset dir="${plugins.dir}/language-identifier/src/java"/> | |
199 <packageset dir="${plugins.dir}/lib-htmlunit/src/java"/> | |
200 <packageset dir="${plugins.dir}/lib-http/src/java"/> | |
201 <packageset dir="${plugins.dir}/lib-rabbitmq/src/java"/> | |
202 <packageset dir="${plugins.dir}/lib-regex-filter/src/java"/> | |
203 <packageset dir="${plugins.dir}/lib-selenium/src/java"/> | |
204 <packageset dir="${plugins.dir}/microformats-reltag/src/java"/> | |
205 <packageset dir="${plugins.dir}/mimetype-filter/src/java"/> | |
206 <packageset dir="${plugins.dir}/parse-ext/src/java"/> | |
207 <packageset dir="${plugins.dir}/parse-html/src/java"/> | |
208 <packageset dir="${plugins.dir}/parse-js/src/java"/> | |
209 <packageset dir="${plugins.dir}/parse-metatags/src/java"/> | |
210 <packageset dir="${plugins.dir}/parse-swf/src/java"/> | |
211 <packageset dir="${plugins.dir}/parse-tika/src/java"/> | |
212 <packageset dir="${plugins.dir}/parse-zip/src/java"/> | |
213 <packageset dir="${plugins.dir}/parsefilter-naivebayes/src/java"/> | |
214 <packageset dir="${plugins.dir}/parsefilter-regex/src/java"/> | |
215 <packageset dir="${plugins.dir}/protocol-file/src/java"/> | |
216 <packageset dir="${plugins.dir}/protocol-ftp/src/java"/> | |
217 <packageset dir="${plugins.dir}/protocol-htmlunit/src/java"/> | |
218 <packageset dir="${plugins.dir}/protocol-http/src/java"/> | |
219 <packageset dir="${plugins.dir}/protocol-httpclient/src/java"/> | |
220 <packageset dir="${plugins.dir}/protocol-interactiveselenium/src/java"/> | |
221 <packageset dir="${plugins.dir}/protocol-okhttp/src/java"/> | |
222 <packageset dir="${plugins.dir}/protocol-selenium/src/java"/> | |
223 <packageset dir="${plugins.dir}/publish-rabbitmq/src/java"/> | |
224 <packageset dir="${plugins.dir}/scoring-adaptive/src/java"/> | |
225 <packageset dir="${plugins.dir}/scoring-depth/src/java"/> | |
226 <packageset dir="${plugins.dir}/scoring-link/src/java"/> | |
227 <packageset dir="${plugins.dir}/scoring-opic/src/java"/> | |
228 <packageset dir="${plugins.dir}/scoring-orphan/src/java"/> | |
229 <packageset dir="${plugins.dir}/scoring-similarity/src/java"/> | |
230 <packageset dir="${plugins.dir}/subcollection/src/java"/> | |
231 <packageset dir="${plugins.dir}/tld/src/java"/> | |
232 <packageset dir="${plugins.dir}/urlfilter-automaton/src/java"/> | |
233 <packageset dir="${plugins.dir}/urlfilter-domain/src/java"/> | |
234 <packageset dir="${plugins.dir}/urlfilter-domainblacklist/src/java"/> | |
235 <packageset dir="${plugins.dir}/urlfilter-fast/src/java"/> | |
236 <packageset dir="${plugins.dir}/urlfilter-ignoreexempt/src/java"/> | |
237 <packageset dir="${plugins.dir}/urlfilter-prefix/src/java"/> | |
238 <packageset dir="${plugins.dir}/urlfilter-regex/src/java"/> | |
239 <packageset dir="${plugins.dir}/urlfilter-suffix/src/java"/> | |
240 <packageset dir="${plugins.dir}/urlfilter-validator/src/java"/> | |
241 <packageset dir="${plugins.dir}/urlmeta/src/java"/> | |
242 <packageset dir="${plugins.dir}/urlnormalizer-ajax/src/java"/> | |
243 <packageset dir="${plugins.dir}/urlnormalizer-basic/src/java"/> | |
244 <packageset dir="${plugins.dir}/urlnormalizer-host/src/java"/> | |
245 <packageset dir="${plugins.dir}/urlnormalizer-pass/src/java"/> | |
246 <packageset dir="${plugins.dir}/urlnormalizer-protocol/src/java"/> | |
247 <packageset dir="${plugins.dir}/urlnormalizer-querystring/src/java"/> | |
248 <packageset dir="${plugins.dir}/urlnormalizer-regex/src/java"/> | |
249 <packageset dir="${plugins.dir}/urlnormalizer-slash/src/java"/> | |
250 | |
251 <link href="${javadoc.link.java}"/> | |
252 <link href="${javadoc.link.hadoop}"/> | |
253 <link href="${javadoc.link.lucene.core}"/> | |
254 <link href="${javadoc.link.lucene.analyzers-common}"/> | |
255 <link href="${javadoc.link.solr-solrj}"/> | |
256 | |
257 <classpath refid="classpath"/> | |
258 <classpath> | |
259 <fileset dir="${plugins.dir}" > | |
260 <include name="**/*.jar"/> | |
261 </fileset> | |
262 </classpath> | |
263 | |
264 <group title="Core" packages="org.apache.nutch.*"/> | |
265 <group title="Plugins API" packages="${plugins.api}"/> | |
266 <group title="Protocol Plugins" packages="${plugins.protocol}"/> | |
267 <group title="URL Filter Plugins" packages="${plugins.urlfilter}"/> | |
268 <group title="URL Normalizer Plugins" packages="${plugins.urlnormalizer}"/> | |
269 <group title="Scoring Plugins" packages="${plugins.scoring}"/> | |
270 <group title="Parse Plugins" packages="${plugins.parse}"/> | |
271 <group title="Parse Filter Plugins" packages="${plugins.parsefilter}"/> | |
272 <group title="Publisher Plugins" packages="${plugins.publisher}"/> | |
273 <group title="Exchange Plugins" packages="${plugins.exchange}"/> | |
274 <group title="Indexing Filter Plugins" packages="${plugins.index}"/> | |
275 <group title="Indexer Plugins" packages="${plugins.indexer}"/> | |
276 <group title="Misc. Plugins" packages="${plugins.misc}"/> | |
277 </javadoc> | |
278 <jar jarfile="${maven-javadoc-jar}"> | |
279 <fileset dir="${release.dir}/javadoc" /> | |
280 </jar> | |
281 | |
282 <!-- build the sources artifact --> | |
283 <jar jarfile="${maven-sources-jar}"> | |
284 <fileset dir="${src.dir}" /> | |
285 </jar> | |
286 </target> | |
287 | |
288 <!-- ================================================================== --> | |
289 <!-- Deploy to Apache Nexus --> | |
290 <!-- ================================================================== --> | |
291 <!-- --> | |
292 <!-- ================================================================== --> | |
293 <target name="deploy" depends="release" description="--> deploy to Apache Nexus"> | |
294 | |
295 <!-- generate a pom file --> | |
296 <ivy:makepom ivyfile="${ivy.file}" pomfile="${basedir}/pom.xml" templatefile="ivy/mvn.template"> | |
297 <mapping conf="default" scope="compile"/> | |
298 <mapping conf="runtime" scope="runtime"/> | |
299 </ivy:makepom> | |
300 | |
301 <!-- sign and deploy the main artifact --> | |
302 <artifact:mvn> | |
303 <arg value="org.apache.maven.plugins:maven-gpg-plugin:1.5:sign-and-deploy-file" /> | |
304 <arg value="-Durl=${maven-repository-url}" /> | |
305 <arg value="-DrepositoryId=${maven-repository-id}" /> | |
306 <arg value="-DpomFile=pom.xml" /> | |
307 <arg value="-Dfile=${maven-jar}" /> | |
308 <arg value="-Papache-release" /> | |
309 </artifact:mvn> | |
310 | |
311 <!-- sign and deploy the sources artifact --> | |
312 <artifact:mvn> | |
313 <arg value="org.apache.maven.plugins:maven-gpg-plugin:1.5:sign-and-deploy-file" /> | |
314 <arg value="-Durl=${maven-repository-url}" /> | |
315 <arg value="-DrepositoryId=${maven-repository-id}" /> | |
316 <arg value="-DpomFile=pom.xml" /> | |
317 <arg value="-Dfile=${maven-sources-jar}" /> | |
318 <arg value="-Dclassifier=sources" /> | |
319 <arg value="-Papache-release" /> | |
320 </artifact:mvn> | |
321 | |
322 <!-- sign and deploy the javadoc artifact --> | |
323 <artifact:mvn> | |
324 <arg value="org.apache.maven.plugins:maven-gpg-plugin:1.5:sign-and-deploy-file" /> | |
325 <arg value="-Durl=${maven-repository-url}" /> | |
326 <arg value="-DrepositoryId=${maven-repository-id}" /> | |
327 <arg value="-DpomFile=pom.xml" /> | |
328 <arg value="-Dfile=${maven-javadoc-jar}" /> | |
329 <arg value="-Dclassifier=javadoc" /> | |
330 <arg value="-Papache-release" /> | |
331 </artifact:mvn> | |
332 </target> | |
333 | |
334 <!-- ================================================================== --> | |
335 <!-- Generate REST API Documentation with Miredot --> | |
336 <!-- ================================================================== --> | |
337 <target name="restdocs" description="--> generate REST API Documentation with Miredot"> | |
338 | |
339 <!-- generate a pom file --> | |
340 <ivy:makepom ivyfile="${ivy.file}" pomfile="${basedir}/pom.xml" templatefile="ivy/mvn.template"> | |
341 <mapping conf="default" scope="compile"/> | |
342 <mapping conf="runtime" scope="runtime"/> | |
343 </ivy:makepom> | |
344 | |
345 <!--artifact:dependencies pathId="dependency.classpath"> | |
346 <dependency groupId="log4j" artifactId="log4j" version="1.2.15" > | |
347 <exclusion groupId="javax.jms" artifactId="jms" /> | |
348 <exclusion groupId="com.sun.jdmk" artifactId="jmxtools" /> | |
349 <exclusion groupId="com.sun.jmx" artifactId="jmxri" /> | |
350 </dependency> | |
351 </artifact:dependencies--> | |
352 | |
353 <artifact:mvn> | |
354 <arg value="test"/> | |
355 <arg value="-e"/> | |
356 <arg value="-o"/> | |
357 <!-- run offline (-o): must not download dependencies as this is | |
358 done from http://repo1.maven.org/ hardwired in | |
359 maven-ant-tasks-2.1.3.jar, see NUTCH-2722. | |
360 | |
361 Dependencies and plugins need to be resolved and cached locally beforehand | |
362 by running | |
363 `mvn dependency:resolve` | |
364 resp. | |
365 `mvn dependency:resolve-plugins` | |
366 after the pom.xml has been generated. --> | |
367 </artifact:mvn> | |
368 </target> | |
369 | |
370 <!-- ================================================================== --> | |
371 <!-- Make job jar --> | |
372 <!-- ================================================================== --> | |
373 <!-- --> | |
374 <!-- ================================================================== --> | |
375 <target name="job" depends="compile" description="--> make nutch.job jar"> | |
376 <jar jarfile="${build.dir}/${final.name}.job"> | |
377 <!-- If the build.classes has the nutch config files because the jar | |
378 command command has run, exclude them. The conf directory has | |
379 them. | |
380 --> | |
381 <zipfileset dir="${build.classes}" | |
382 excludes="nutch-default.xml,nutch-site.xml"/> | |
383 <zipfileset dir="${conf.dir}" excludes="*.template,hadoop*.*"/> | |
384 <zipfileset dir="${build.lib.dir}" prefix="lib" | |
385 includes="**/*.jar" excludes="hadoop-*.jar,slf4j*.jar,log4j*.jar"/> | |
386 <zipfileset dir="${build.plugins}" prefix="classes/plugins"/> | |
387 </jar> | |
388 </target> | |
389 | |
390 <target name="runtime" depends="jar, job" description="--> default target for running Nutch"> | |
391 <mkdir dir="${runtime.dir}"/> | |
392 <mkdir dir="${runtime.local}"/> | |
393 <mkdir dir="${runtime.deploy}"/> | |
394 <!-- deploy area --> | |
395 <copy file="${build.dir}/${final.name}.job" | |
396 todir="${runtime.deploy}"/> | |
397 <copy todir="${runtime.deploy}/bin"> | |
398 <fileset dir="src/bin"/> | |
399 </copy> | |
400 <chmod perm="ugo+x" type="file"> | |
401 <fileset dir="${runtime.deploy}/bin"/> | |
402 </chmod> | |
403 <!-- local area --> | |
404 <copy file="${build.dir}/${final.name}.jar" | |
405 todir="${runtime.local}/lib"/> | |
406 <copy todir="${runtime.local}/lib/native"> | |
407 <fileset dir="lib/native"/> | |
408 </copy> | |
409 <copy todir="${runtime.local}/conf"> | |
410 <fileset dir="${conf.dir}" excludes="*.template"/> | |
411 </copy> | |
412 <copy todir="${runtime.local}/bin"> | |
413 <fileset dir="src/bin"/> | |
414 </copy> | |
415 <chmod perm="ugo+x" type="file"> | |
416 <fileset dir="${runtime.local}/bin"/> | |
417 </chmod> | |
418 <copy todir="${runtime.local}/lib"> | |
419 <fileset dir="${build.dir}/lib"/> | |
420 </copy> | |
421 <copy todir="${runtime.local}/plugins"> | |
422 <fileset dir="${build.dir}/plugins"/> | |
423 </copy> | |
424 <copy todir="${runtime.local}/test"> | |
425 <fileset dir="${build.dir}/test"/> | |
426 </copy> | |
427 </target> | |
428 | |
429 <!-- ================================================================== --> | |
430 <!-- Compile test code --> | |
431 <!-- ================================================================== --> | |
432 <target name="compile-core-test" depends="init, compile-core, resolve-test" description="--> compile test code"> | |
433 <javac | |
434 encoding="${build.encoding}" | |
435 srcdir="${test.src.dir}" | |
436 includes="org/apache/nutch/**/*.java org/commoncrawl/**/*.java" | |
437 destdir="${test.build.classes}" | |
438 debug="${javac.debug}" | |
439 optimize="${javac.optimize}" | |
440 target="${javac.version}" | |
441 source="${javac.version}" | |
442 deprecation="${javac.deprecation}"> | |
443 <compilerarg value="-Xlint:-path"/> | |
444 <classpath refid="test.classpath"/> | |
445 </javac> | |
446 </target> | |
447 | |
448 <!-- ================================================================== --> | |
449 <!-- Run Nutch proxy --> | |
450 <!-- ================================================================== --> | |
451 | |
452 <target name="proxy" depends="compile-core-test, job" description="--> run nutch proxy"> | |
453 <java classname="org.apache.nutch.tools.proxy.ProxyTestbed" fork="true"> | |
454 <classpath refid="test.classpath"/> | |
455 <arg value="-fake"/> | |
456 <!-- | |
457 <arg value="-delay"/> | |
458 <arg value="-200"/> | |
459 --> | |
460 <jvmarg line="-Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"/> | |
461 </java> | |
462 </target> | |
463 | |
464 <!-- ================================================================== --> | |
465 <!-- Run Nutch benchmarking analysis --> | |
466 <!-- ================================================================== --> | |
467 | |
468 <target name="benchmark" description="--> run nutch benchmarking analysis"> | |
469 <java classname="org.apache.nutch.tools.Benchmark" fork="true"> | |
470 <classpath refid="test.classpath"/> | |
471 <jvmarg line="-Xmx512m -Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"/> | |
472 <arg value="-maxPerHost"/> | |
473 <arg value="10"/> | |
474 <arg value="-seeds"/> | |
475 <arg value="1"/> | |
476 <arg value="-depth"/> | |
477 <arg value="5"/> | |
478 </java> | |
479 </target> | |
480 | |
481 <!-- ================================================================== --> | |
482 <!-- Run unit tests --> | |
483 <!-- ================================================================== --> | |
484 <target name="test" depends="test-core, test-plugins" description="--> run JUnit tests"/> | |
485 | |
486 <target name="test-core" depends="compile-core-test, job" description="--> run core JUnit tests only"> | |
487 | |
488 <delete dir="${test.build.data}"/> | |
489 <mkdir dir="${test.build.data}"/> | |
490 <!-- | |
491 copy resources needed in junit tests | |
492 --> | |
493 <copy todir="${test.build.data}"> | |
494 <fileset dir="src/testresources" includes="**/*"/> | |
495 </copy> | |
496 | |
497 <copy file="${test.src.dir}/log4j.properties" | |
498 todir="${test.build.classes}"/> | |
499 | |
500 <copy file="${test.src.dir}/crawl-tests.xml" | |
501 todir="${test.build.classes}"/> | |
502 | |
503 <copy file="${test.src.dir}/domain-urlfilter.txt" | |
504 todir="${test.build.classes}"/> | |
505 | |
506 <copy file="${test.src.dir}/filter-all.txt" | |
507 todir="${test.build.classes}"/> | |
508 | |
509 <junit printsummary="yes" haltonfailure="no" fork="yes" | |
510 forkmode="once" dir="${basedir}" | |
511 errorProperty="tests.failed" failureProperty="tests.failed" | |
512 maxmemory="1000m"> | |
513 <sysproperty key="test.build.data" value="${test.build.data}"/> | |
514 <sysproperty key="test.src.dir" value="${test.src.dir}"/> | |
515 <sysproperty key="javax.xml.parsers.DocumentBuilderFactory" value="com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"/> | |
516 <classpath refid="test.classpath"/> | |
517 <formatter type="${test.junit.output.format}" /> | |
518 <batchtest todir="${test.build.dir}" unless="testcase"> | |
519 <fileset dir="${test.src.dir}" | |
520 includes="**/Test*.java" excludes="**/${test.exclude}.java" /> | |
521 </batchtest> | |
522 <batchtest todir="${test.build.dir}" if="testcase"> | |
523 <fileset dir="${test.src.dir}" includes="**/${testcase}.java"/> | |
524 </batchtest> | |
525 </junit> | |
526 | |
527 <fail if="tests.failed">Tests failed!</fail> | |
528 | |
529 </target> | |
530 | |
531 <target name="test-plugins" depends="resolve-test, compile" description="--> run plugin JUnit tests only"> | |
532 <ant dir="src/plugin" target="test" inheritAll="false"/> | |
533 </target> | |
534 | |
535 <target name="test-plugin" depends="resolve-test, compile" description="--> run a single plugin's JUnit tests"> | |
536 <ant dir="src/plugin" target="test-single" inheritAll="false"/> | |
537 </target> | |
538 | |
539 <target name="nightly" depends="test, tar-src, zip-src" description="--> run the nightly target build"> | |
540 </target> | |
541 | |
542 <!-- ================================================================== --> | |
543 <!-- Ivy targets --> | |
544 <!-- ================================================================== --> | |
545 | |
546 <!-- target: resolve ================================================= --> | |
547 <target name="resolve-default" depends="clean-default-lib, init" description="--> resolve and retrieve dependencies with ivy"> | |
548 <ivy:resolve file="${ivy.file}" conf="default" log="download-only"/> | |
549 <ivy:retrieve pattern="${build.lib.dir}/[artifact]-[revision].[ext]" symlink="false" log="quiet"/> | |
550 <antcall target="copy-libs"/> | |
551 </target> | |
552 | |
553 <target name="resolve-test" depends="clean-test-lib, init" description="--> resolve and retrieve dependencies with ivy"> | |
554 <ivy:resolve file="${ivy.file}" conf="test" log="download-only"/> | |
555 <ivy:retrieve pattern="${test.build.lib.dir}/[artifact]-[revision].[ext]" symlink="false" log="quiet"/> | |
556 <antcall target="copy-libs"/> | |
557 </target> | |
558 | |
559 <target name="copy-libs" description="--> copy the libs in lib, which are not ivy enabled"> | |
560 <!-- copy the libs in lib, which are not ivy enabled--> | |
561 <copy todir="${build.lib.dir}/" failonerror="false"> | |
562 <fileset dir="${lib.dir}" includes="**/*.jar"/> | |
563 </copy> | |
564 </target> | |
565 | |
566 <!-- target: publish-local =========================================== --> | |
567 <target name="publish-local" depends="jar" description="--> publish this project in the local ivy repository"> | |
568 <ivy:publish artifactspattern="${build.dir}/[artifact]-${version}.[ext]" | |
569 resolver="local" | |
570 pubrevision="${version}" | |
571 pubdate="${now}" | |
572 status="integration" | |
573 forcedeliver="true" | |
574 overwrite="true" | |
575 /> | |
576 <echo message="project ${ant.project.name} published locally with version ${version}" /> | |
577 </target> | |
578 | |
579 <!-- target: report ================================================== --> | |
580 <target name="report" depends="resolve-test" description="--> generates a report of dependencies"> | |
581 <ivy:report todir="${build.dir}" xml="true"/> | |
582 </target> | |
583 | |
584 <!-- target: 3rd-party licenses report =============================== --> | |
585 <target name="report-licenses" depends="resolve-default" description="--> generates a report of licenses of dependencies"> | |
586 <ivy:report todir="${build.dir}" xml="false" graph="false" xslfile="ivy/ivy-report-license.xsl" | |
587 outputpattern="[organisation]-[module]-[conf]-3rd-party-licenses.tsv"/> | |
588 </target> | |
589 | |
590 <!-- target: ivy-init ================================================ --> | |
591 <target name="ivy-init" depends="ivy-probe-antlib, ivy-init-antlib" description="--> initialise Ivy settings"> | |
592 <ivy:settings file="${ivy.dir}/ivysettings.xml" /> | |
593 </target> | |
594 | |
595 <!-- target: ivy-probe-antlib ======================================== --> | |
596 <target name="ivy-probe-antlib" description="--> probe the antlib library"> | |
597 <condition property="ivy.found"> | |
598 <typefound uri="antlib:org.apache.ivy.ant" name="cleancache" /> | |
599 </condition> | |
600 </target> | |
601 | |
602 <!-- target: ivy-download ============================================ --> | |
603 <target name="ivy-download" description="--> download ivy"> | |
604 <available file="${ivy.jar}" property="ivy.jar.found"/> | |
605 <antcall target="ivy-download-unchecked"/> | |
606 </target> | |
607 | |
608 <!-- target: ivy-download-unchecked ================================== --> | |
609 <target name="ivy-download-unchecked" unless="ivy.jar.found" description="--> fetch any ivy file"> | |
610 <get src="${ivy.repo.url}" dest="${ivy.jar}" usetimestamp="true" /> | |
611 </target> | |
612 | |
613 <!-- target: ivy-init-antlib ========================================= --> | |
614 <target name="ivy-init-antlib" depends="ivy-download" unless="ivy.found" description="--> attempt to use Ivy with Antlib"> | |
615 <typedef uri="antlib:org.apache.ivy.ant" onerror="fail" loaderRef="ivyLoader"> | |
616 <classpath> | |
617 <pathelement location="${ivy.jar}" /> | |
618 </classpath> | |
619 </typedef> | |
620 <fail> | |
621 <condition> | |
622 <not> | |
623 <typefound uri="antlib:org.apache.ivy.ant" name="cleancache" /> | |
624 </not> | |
625 </condition> | |
626 You need Apache Ivy 2.0 or later from http://ant.apache.org/ | |
627 It could not be loaded from ${ivy.repo.url} | |
628 </fail> | |
629 </target> | |
630 | |
631 <!-- Check dependencies for security vulnerabilities --> | |
632 <!-- requires installation of OWASP dependency check tool, see --> | |
633 <!-- https://jeremylong.github.io/DependencyCheck/dependency-check-ant/index.html --> | |
634 <!-- get http://dl.bintray.com/jeremy-long/owasp/dependency-check-ant-3.3.2-release.zip --> | |
635 <!-- and unzip in directory ./ivy/ --> | |
636 <property name="dependency-check.home" value="${ivy.dir}/dependency-check-ant/"/> | |
637 <path id="dependency-check.path"> | |
638 <pathelement location="${dependency-check.home}/dependency-check-ant.jar"/> | |
639 <fileset dir="${dependency-check.home}/lib" erroronmissingdir="false"> | |
640 <include name="*.jar"/> | |
641 </fileset> | |
642 </path> | |
643 <taskdef resource="dependency-check-taskdefs.properties" onerror="ignore"> | |
644 <classpath refid="dependency-check.path" /> | |
645 </taskdef> | |
646 <target name="report-vulnerabilities" description="--> check dependencies for security vulnerabilities"> | |
647 <dependency-check projectname="${name}" | |
648 reportoutputdirectory="${build.dir}" | |
649 reportformat="ALL"> | |
650 <suppressionfile path="${dependency-check.home}/dependency-check-suppressions.xml" /> | |
651 <retirejsFilter regex="copyright.*jeremy long" /> | |
652 <fileset dir="${build.dir}"> | |
653 <include name="lib/*.jar"/> | |
654 <include name="plugins/*/*.jar"/> | |
655 </fileset> | |
656 </dependency-check> | |
657 </target> | |
658 | |
659 <!-- ================================================================== --> | |
660 <!-- Documentation --> | |
661 <!-- ================================================================== --> | |
662 <target name="javadoc" depends="compile" description="--> generate Javadoc"> | |
663 <fail message="Unsupported Java version: ${java.version}. Javadoc requires Java version 7u25 or greater. See https://issues.apache.org/jira/browse/NUTCH-1590"> | |
664 <condition> | |
665 <or> | |
666 <matches string="${java.version}" pattern="1.7.0_2[01234].+" casesensitive="false" /> | |
667 <matches string="${java.version}" pattern="1.7.0_1.+" casesensitive="false" /> | |
668 <equals arg1="${ant.java.version}" arg2="1.6" /> | |
669 <equals arg1="${ant.java.version}" arg2="1.5" /> | |
670 </or> | |
671 </condition> | |
672 </fail> | |
673 <mkdir dir="${build.javadoc}"/> | |
674 <javadoc | |
675 overview="${src.dir}/overview.html" | |
676 destdir="${build.javadoc}" | |
677 author="true" | |
678 version="true" | |
679 use="true" | |
680 windowtitle="${name} ${version} API" | |
681 doctitle="${name} ${version} API" | |
682 bottom="Copyright &copy; ${year} The Apache Software Foundation" | |
683 > | |
684 <arg value="${javadoc.proxy.host}"/> | |
685 <arg value="${javadoc.proxy.port}"/> | |
686 | |
687 <packageset dir="${src.dir}"/> | |
688 <packageset dir="${plugins.dir}/any23/src/java/" /> | |
689 <packageset dir="${plugins.dir}/creativecommons/src/java"/> | |
690 <packageset dir="${plugins.dir}/feed/src/java"/> | |
691 <packageset dir="${plugins.dir}/headings/src/java"/> | |
692 <packageset dir="${plugins.dir}/exchange-jexl/src/java"/> | |
693 <packageset dir="${plugins.dir}/index-anchor/src/java"/> | |
694 <packageset dir="${plugins.dir}/index-basic/src/java"/> | |
695 <packageset dir="${plugins.dir}/index-geoip/src/java"/> | |
696 <packageset dir="${plugins.dir}/index-jexl-filter/src/java"/> | |
697 <packageset dir="${plugins.dir}/index-links/src/java"/> | |
698 <packageset dir="${plugins.dir}/index-metadata/src/java"/> | |
699 <packageset dir="${plugins.dir}/index-more/src/java"/> | |
700 <packageset dir="${plugins.dir}/index-replace/src/java"/> | |
701 <packageset dir="${plugins.dir}/index-static/src/java"/> | |
702 <packageset dir="${plugins.dir}/indexer-cloudsearch/src/java/" /> | |
703 <packageset dir="${plugins.dir}/indexer-csv/src/java"/> | |
704 <packageset dir="${plugins.dir}/indexer-dummy/src/java"/> | |
705 <packageset dir="${plugins.dir}/indexer-elastic-rest/src/java/"/> | |
706 <packageset dir="${plugins.dir}/indexer-elastic/src/java/" /> | |
707 <packageset dir="${plugins.dir}/indexer-kafka/src/java/" /> | |
708 <packageset dir="${plugins.dir}/indexer-rabbit/src/java"/> | |
709 <packageset dir="${plugins.dir}/indexer-solr/src/java"/> | |
710 <packageset dir="${plugins.dir}/language-identifier/src/java"/> | |
711 <packageset dir="${plugins.dir}/lib-htmlunit/src/java"/> | |
712 <packageset dir="${plugins.dir}/lib-http/src/java"/> | |
713 <packageset dir="${plugins.dir}/lib-rabbitmq/src/java"/> | |
714 <packageset dir="${plugins.dir}/lib-regex-filter/src/java"/> | |
715 <packageset dir="${plugins.dir}/lib-selenium/src/java"/> | |
716 <packageset dir="${plugins.dir}/microformats-reltag/src/java"/> | |
717 <packageset dir="${plugins.dir}/mimetype-filter/src/java"/> | |
718 <packageset dir="${plugins.dir}/parse-ext/src/java"/> | |
719 <packageset dir="${plugins.dir}/parse-html/src/java"/> | |
720 <packageset dir="${plugins.dir}/parse-js/src/java"/> | |
721 <packageset dir="${plugins.dir}/parse-metatags/src/java"/> | |
722 <packageset dir="${plugins.dir}/parse-swf/src/java"/> | |
723 <packageset dir="${plugins.dir}/parse-tika/src/java"/> | |
724 <packageset dir="${plugins.dir}/parse-zip/src/java"/> | |
725 <packageset dir="${plugins.dir}/parsefilter-naivebayes/src/java"/> | |
726 <packageset dir="${plugins.dir}/parsefilter-regex/src/java"/> | |
727 <packageset dir="${plugins.dir}/protocol-file/src/java"/> | |
728 <packageset dir="${plugins.dir}/protocol-ftp/src/java"/> | |
729 <packageset dir="${plugins.dir}/protocol-htmlunit/src/java"/> | |
730 <packageset dir="${plugins.dir}/protocol-http/src/java"/> | |
731 <packageset dir="${plugins.dir}/protocol-httpclient/src/java"/> | |
732 <packageset dir="${plugins.dir}/protocol-interactiveselenium/src/java"/> | |
733 <packageset dir="${plugins.dir}/protocol-okhttp/src/java"/> | |
734 <packageset dir="${plugins.dir}/protocol-selenium/src/java"/> | |
735 <packageset dir="${plugins.dir}/publish-rabbitmq/src/java"/> | |
736 <packageset dir="${plugins.dir}/scoring-adaptive/src/java"/> | |
737 <packageset dir="${plugins.dir}/scoring-depth/src/java"/> | |
738 <packageset dir="${plugins.dir}/scoring-link/src/java"/> | |
739 <packageset dir="${plugins.dir}/scoring-opic/src/java"/> | |
740 <packageset dir="${plugins.dir}/scoring-orphan/src/java"/> | |
741 <packageset dir="${plugins.dir}/scoring-similarity/src/java"/> | |
742 <packageset dir="${plugins.dir}/subcollection/src/java"/> | |
743 <packageset dir="${plugins.dir}/tld/src/java"/> | |
744 <packageset dir="${plugins.dir}/urlfilter-automaton/src/java"/> | |
745 <packageset dir="${plugins.dir}/urlfilter-domain/src/java"/> | |
746 <packageset dir="${plugins.dir}/urlfilter-domainblacklist/src/java"/> | |
747 <packageset dir="${plugins.dir}/urlfilter-fast/src/java"/> | |
748 <packageset dir="${plugins.dir}/urlfilter-ignoreexempt/src/java"/> | |
749 <packageset dir="${plugins.dir}/urlfilter-prefix/src/java"/> | |
750 <packageset dir="${plugins.dir}/urlfilter-regex/src/java"/> | |
751 <packageset dir="${plugins.dir}/urlfilter-suffix/src/java"/> | |
752 <packageset dir="${plugins.dir}/urlfilter-validator/src/java"/> | |
753 <packageset dir="${plugins.dir}/urlmeta/src/java"/> | |
754 <packageset dir="${plugins.dir}/urlnormalizer-ajax/src/java"/> | |
755 <packageset dir="${plugins.dir}/urlnormalizer-basic/src/java"/> | |
756 <packageset dir="${plugins.dir}/urlnormalizer-host/src/java"/> | |
757 <packageset dir="${plugins.dir}/urlnormalizer-pass/src/java"/> | |
758 <packageset dir="${plugins.dir}/urlnormalizer-protocol/src/java"/> | |
759 <packageset dir="${plugins.dir}/urlnormalizer-querystring/src/java"/> | |
760 <packageset dir="${plugins.dir}/urlnormalizer-regex/src/java"/> | |
761 <packageset dir="${plugins.dir}/urlnormalizer-slash/src/java"/> | |
762 | |
763 <link href="${javadoc.link.java}"/> | |
764 <link href="${javadoc.link.hadoop}"/> | |
765 <link href="${javadoc.link.lucene.core}"/> | |
766 <link href="${javadoc.link.lucene.analyzers-common}"/> | |
767 <link href="${javadoc.link.solr-solrj}"/> | |
768 | |
769 <classpath refid="classpath"/> | |
770 <classpath> | |
771 <fileset dir="${plugins.dir}" > | |
772 <include name="**/*.jar"/> | |
773 </fileset> | |
774 </classpath> | |
775 | |
776 <group title="Core" packages="org.apache.nutch.*"/> | |
777 <group title="Plugins API" packages="${plugins.api}"/> | |
778 <group title="Protocol Plugins" packages="${plugins.protocol}"/> | |
779 <group title="URL Filter Plugins" packages="${plugins.urlfilter}"/> | |
780 <group title="URL Normalizer Plugins" packages="${plugins.urlnormalizer}"/> | |
781 <group title="Scoring Plugins" packages="${plugins.scoring}"/> | |
782 <group title="Parse Plugins" packages="${plugins.parse}"/> | |
783 <group title="Parse Filter Plugins" packages="${plugins.parsefilter}"/> | |
784 <group title="Publisher Plugins" packages="${plugins.publisher}"/> | |
785 <group title="Exchange Plugins" packages="${plugins.exchange}"/> | |
786 <group title="Indexing Filter Plugins" packages="${plugins.index}"/> | |
787 <group title="Indexer Plugins" packages="${plugins.indexer}"/> | |
788 <group title="Misc. Plugins" packages="${plugins.misc}"/> | |
789 </javadoc> | |
790 <!-- Copy the plugin.dtd file to the plugin doc-files dir --> | |
791 <copy file="${plugins.dir}/plugin.dtd" | |
792 todir="${build.javadoc}/org/apache/nutch/plugin/doc-files"/> | |
793 </target> | |
794 | |
795 <target name="default-doc" description="--> generate default Nutch documentation"> | |
796 <style basedir="${conf.dir}" destdir="${docs.dir}" | |
797 includes="nutch-default.xml" style="conf/nutch-conf.xsl"/> | |
798 </target> | |
799 | |
800 <!-- ================================================================== --> | |
801 <!-- D I S T R I B U T I O N --> | |
802 <!-- ================================================================== --> | |
803 <!-- --> | |
804 <!-- ================================================================== --> | |
805 <target name="package-src" depends="runtime, javadoc" description="--> generate source distribution package"> | |
806 <mkdir dir="${dist.dir}"/> | |
807 <mkdir dir="${src.dist.version.dir}"/> | |
808 <mkdir dir="${src.dist.version.dir}/lib"/> | |
809 <mkdir dir="${src.dist.version.dir}/docs"/> | |
810 <mkdir dir="${src.dist.version.dir}/docs/api"/> | |
811 <mkdir dir="${src.dist.version.dir}/ivy"/> | |
812 | |
813 <copy todir="${src.dist.version.dir}/lib" includeEmptyDirs="false"> | |
814 <fileset dir="lib"/> | |
815 </copy> | |
816 | |
817 <copy todir="${src.dist.version.dir}/conf"> | |
818 <fileset dir="${conf.dir}" excludes="**/*.template"/> | |
819 </copy> | |
820 | |
821 <copy todir="${src.dist.version.dir}/docs/api"> | |
822 <fileset dir="${build.javadoc}"/> | |
823 </copy> | |
824 | |
825 <copy todir="${src.dist.version.dir}"> | |
826 <fileset dir="."> | |
827 <include name="*.txt" /> | |
828 <!--<include name="KEYS" />--> | |
829 </fileset> | |
830 </copy> | |
831 | |
832 <copy todir="${src.dist.version.dir}/src" includeEmptyDirs="true"> | |
833 <fileset dir="src"/> | |
834 </copy> | |
835 | |
836 <copy todir="${src.dist.version.dir}/ivy" includeEmptyDirs="true"> | |
837 <fileset dir="ivy"/> | |
838 </copy> | |
839 | |
840 <copy todir="${src.dist.version.dir}/" file="build.xml"/> | |
841 <copy todir="${src.dist.version.dir}/" file="default.properties"/> | |
842 | |
843 </target> | |
844 | |
845 <target name="package-bin" depends="runtime, javadoc" description="--> generate binary distribution package"> | |
846 <mkdir dir="${dist.dir}"/> | |
847 <mkdir dir="${bin.dist.version.dir}"/> | |
848 <mkdir dir="${bin.dist.version.dir}/lib"/> | |
849 <mkdir dir="${bin.dist.version.dir}/bin"/> | |
850 <mkdir dir="${bin.dist.version.dir}/conf"/> | |
851 <mkdir dir="${bin.dist.version.dir}/docs"/> | |
852 <mkdir dir="${bin.dist.version.dir}/docs/api"/> | |
853 <mkdir dir="${bin.dist.version.dir}/plugins"/> | |
854 | |
855 <copy todir="${bin.dist.version.dir}/lib" includeEmptyDirs="false"> | |
856 <fileset dir="runtime/local/lib"/> | |
857 </copy> | |
858 | |
859 <copy todir="${bin.dist.version.dir}/bin"> | |
860 <fileset dir="runtime/local/bin"/> | |
861 </copy> | |
862 | |
863 <chmod perm="ugo+x" type="file"> | |
864 <fileset dir="${bin.dist.version.dir}/bin"/> | |
865 </chmod> | |
866 | |
867 <copy todir="${bin.dist.version.dir}/conf"> | |
868 <fileset dir="runtime/local/conf" excludes="**/*.template"/> | |
869 </copy> | |
870 | |
871 <copy todir="${bin.dist.version.dir}/docs/api"> | |
872 <fileset dir="${build.javadoc}"/> | |
873 </copy> | |
874 | |
875 <copy todir="${bin.dist.version.dir}"> | |
876 <fileset dir="."> | |
877 <include name="*.txt" /> | |
878 </fileset> | |
879 </copy> | |
880 | |
881 <copy todir="${bin.dist.version.dir}/plugins" includeEmptyDirs="true"> | |
882 <fileset dir="runtime/local/plugins"/> | |
883 </copy> | |
884 | |
885 </target> | |
886 | |
887 <!-- ================================================================== --> | |
888 <!-- Make src release tarball --> | |
889 <!-- ================================================================== --> | |
890 <target name="tar-src" depends="package-src" description="--> generate src.tar.gz distribution package"> | |
891 <tar compression="gzip" longfile="gnu" | |
892 destfile="${src.dist.version.dir}.tar.gz"> | |
893 <tarfileset dir="${src.dist.version.dir}" mode="664" prefix="${final.name}"> | |
894 <exclude name="src/bin/*" /> | |
895 <include name="**" /> | |
896 </tarfileset> | |
897 <tarfileset dir="${src.dist.version.dir}" mode="755" prefix="${final.name}"> | |
898 <include name="src/bin/*" /> | |
899 </tarfileset> | |
900 </tar> | |
901 </target> | |
902 | |
903 <!-- ================================================================== --> | |
904 <!-- Make bin release tarball --> | |
905 <!-- ================================================================== --> | |
906 <target name="tar-bin" depends="package-bin" description="--> generate bin.tar.gz distribution package"> | |
907 <tar compression="gzip" longfile="gnu" | |
908 destfile="${bin.dist.version.dir}.tar.gz"> | |
909 <tarfileset dir="${bin.dist.version.dir}" mode="664" prefix="${final.name}"> | |
910 <exclude name="bin/*" /> | |
911 <include name="**" /> | |
912 </tarfileset> | |
913 <tarfileset dir="${bin.dist.version.dir}" mode="755" prefix="${final.name}"> | |
914 <include name="bin/*" /> | |
915 </tarfileset> | |
916 </tar> | |
917 </target> | |
918 | |
919 <!-- ================================================================== --> | |
920 <!-- Make src release zip --> | |
921 <!-- ================================================================== --> | |
922 <target name="zip-src" depends="package-src" description="--> generate src.zip distribution package"> | |
923 <zip compress="true" casesensitive="yes" | |
924 destfile="${src.dist.version.dir}.zip"> | |
925 <zipfileset dir="${src.dist.version.dir}" filemode="664" prefix="${final.name}"> | |
926 <exclude name="src/bin/*" /> | |
927 <include name="**" /> | |
928 </zipfileset> | |
929 <zipfileset dir="${src.dist.version.dir}" filemode="755" prefix="${final.name}"> | |
930 <include name="src/bin/*" /> | |
931 </zipfileset> | |
932 </zip> | |
933 </target> | |
934 | |
935 <!-- ================================================================== --> | |
936 <!-- Make bin release zip --> | |
937 <!-- ================================================================== --> | |
938 <target name="zip-bin" depends="package-bin" description="--> generate bin.zip distribution package"> | |
939 <zip compress="true" casesensitive="yes" | |
940 destfile="${bin.dist.version.dir}.zip"> | |
941 <zipfileset dir="${bin.dist.version.dir}" filemode="664" prefix="${final.name}"> | |
942 <exclude name="bin/*" /> | |
943 <include name="**" /> | |
944 </zipfileset> | |
945 <zipfileset dir="${bin.dist.version.dir}" filemode="755" prefix="${final.name}"> | |
946 <include name="bin/*" /> | |
947 </zipfileset> | |
948 </zip> | |
949 </target> | |
950 | |
951 <!-- ================================================================== --> | |
952 <!-- Clean. Delete the build files, and their directories --> | |
953 <!-- ================================================================== --> | |
954 | |
955 <!-- target: clean =================================================== --> | |
956 <target name="clean" depends="clean-build, clean-lib, clean-dist, clean-runtime" description="--> clean the project" /> | |
957 | |
958 <!-- target: clean-eclipse ============================================ --> | |
959 <target name="clean-eclipse" depends="clean-build, clean-lib, clean-dist" description="--> cleans the eclipse project"/> | |
960 | |
961 <!-- target: clean-local ============================================= --> | |
962 <target name="clean-local" depends="" | |
963 description="--> cleans the local repository for the current module"> | |
964 <delete dir="${ivy.local.default.root}/${ivy.organisation}/${ivy.module}"/> | |
965 </target> | |
966 | |
967 <!-- target: clean-lib =============================================== --> | |
968 <target name="clean-lib" depends="clean-default-lib, clean-test-lib" | |
969 description="--> clean the project libraries directories (dependencies: default + test)"> | |
970 </target> | |
971 <!-- target: clean-default-lib =============================================== --> | |
972 <target name="clean-default-lib" description="--> clean the project libraries directory (dependencies)"> | |
973 <delete includeemptydirs="true" dir="${build.lib.dir}"/> | |
974 </target> | |
975 <!-- target: clean-test-lib =============================================== --> | |
976 <target name="clean-test-lib" description="--> clean the project test libraries directory (dependencies)"> | |
977 <delete includeemptydirs="true" dir="${test.build.lib.dir}"/> | |
978 </target> | |
979 | |
980 <!-- target: clean-build ============================================= --> | |
981 <target name="clean-build" description="--> clean the project built files"> | |
982 <delete includeemptydirs="true" dir="${build.dir}"/> | |
983 </target> | |
984 | |
985 <!-- target: clean-dist ============================================= --> | |
986 <target name="clean-dist" description="--> clean the project dist files"> | |
987 <delete includeemptydirs="true" dir="${dist.dir}"/> | |
988 </target> | |
989 | |
990 <!-- target: clean-cache ============================================= --> | |
991 <target name="clean-cache" depends="" | |
992 description="--> delete ivy cache"> | |
993 <ivy:cleancache /> | |
994 </target> | |
995 | |
996 <target name="clean-runtime" description="--> clean the project runtime area"> | |
997 <delete includeemptydirs="true" dir="${runtime.dir}"/> | |
998 </target> | |
999 | |
1000 <!-- ================================================================== --> | |
1001 <!-- RAT targets --> | |
1002 <!-- ================================================================== --> | |
1003 <target name="rat-sources-typedef" description="--> run RAT antlib task"> | |
1004 <typedef resource="org/apache/rat/anttasks/antlib.xml" > | |
1005 <classpath> | |
1006 <fileset dir="." includes="rat*.jar"/> | |
1007 </classpath> | |
1008 </typedef> | |
1009 </target> | |
1010 | |
1011 <target name="rat-sources" depends="rat-sources-typedef" | |
1012 description="--> runs RAT tasks over src/java"> | |
1013 <rat:report xmlns:rat="antlib:org.apache.rat.anttasks"> | |
1014 <fileset dir="src"> | |
1015 <include name="java/**/*"/> | |
1016 <include name="plugin/**/src/**/*"/> | |
1017 </fileset> | |
1018 </rat:report> | |
1019 </target> | |
1020 | |
1021 | |
1022 <!-- ================================================================== --> | |
1023 <!-- Eclipse targets --> | |
1024 <!-- ================================================================== --> | |
1025 | |
1026 <!-- classpath for generating eclipse project --> | |
1027 <path id="eclipse.classpath"> | |
1028 <fileset dir="${build.lib.dir}"> | |
1029 <include name="*.jar" /> | |
1030 <exclude name="ant-eclipse-1.0-jvm1.2.jar" /> | |
1031 </fileset> | |
1032 <fileset dir="${build.plugins}"> | |
1033 <include name="**/*.jar" /> | |
1034 </fileset> | |
1035 <fileset dir="${test.build.lib.dir}"> | |
1036 <include name="*.jar" /> | |
1037 </fileset> | |
1038 </path> | |
1039 | |
1040 <!-- target: ant-eclipse-download =================================== --> | |
1041 <target name="ant-eclipse-download" description="--> downloads the ant-eclipse binary."> | |
1042 <get src="https://downloads.sourceforge.net/project/ant-eclipse/ant-eclipse/1.0/ant-eclipse-1.0.bin.tar.bz2" | |
1043 dest="${build.dir}/ant-eclipse-1.0.bin.tar.bz2" usetimestamp="false" /> | |
1044 | |
1045 <untar src="${build.dir}/ant-eclipse-1.0.bin.tar.bz2" | |
1046 dest="${build.dir}" compression="bzip2"> | |
1047 <patternset> | |
1048 <include name="lib/ant-eclipse-1.0-jvm1.2.jar"/> | |
1049 </patternset> | |
1050 </untar> | |
1051 | |
1052 <delete file="${build.dir}/ant-eclipse-1.0.bin.tar.bz2" /> | |
1053 </target> | |
1054 | |
1055 <!-- target: eclipse ================================================ --> | |
1056 <target name="eclipse" | |
1057 depends="clean-eclipse,init,resolve-test,job,ant-eclipse-download" | |
1058 description="--> create eclipse project files"> | |
1059 | |
1060 <pathconvert property="eclipse.project"> | |
1061 <path path="${basedir}"/> | |
1062 <regexpmapper from="^.*/([^/]+)$$" to="\1" handledirsep="yes"/> | |
1063 </pathconvert> | |
1064 | |
1065 <taskdef name="eclipse" | |
1066 classname="prantl.ant.eclipse.EclipseTask" | |
1067 classpath="${build.dir}/lib/ant-eclipse-1.0-jvm1.2.jar" /> | |
1068 <eclipse updatealways="true"> | |
1069 <project name="${eclipse.project}" /> | |
1070 <classpath> | |
1071 <library path="${conf.dir}" exported="false" /> | |
1072 <library path="${basedir}/src/bin" exported="false" /> | |
1073 <library pathref="eclipse.classpath" exported="false" /> | |
1074 | |
1075 <source path="${basedir}/src/java/" /> | |
1076 <source path="${basedir}/src/test/" output="build/test/classes" /> | |
1077 | |
1078 <source path="${plugins.dir}/any23/src/java/" /> | |
1079 <source path="${plugins.dir}/any23/src/test/" /> | |
1080 <source path="${plugins.dir}/creativecommons/src/java/" /> | |
1081 <source path="${plugins.dir}/creativecommons/src/test/" /> | |
1082 <source path="${plugins.dir}/feed/src/java/" /> | |
1083 <source path="${plugins.dir}/feed/src/test/" /> | |
1084 <source path="${plugins.dir}/headings/src/java/" /> | |
1085 <source path="${plugins.dir}/headings/src/test/" /> | |
1086 <source path="${plugins.dir}/exchange-jexl/src/java/" /> | |
1087 <source path="${plugins.dir}/index-anchor/src/java/" /> | |
1088 <source path="${plugins.dir}/index-anchor/src/test/" /> | |
1089 <source path="${plugins.dir}/index-basic/src/java/" /> | |
1090 <source path="${plugins.dir}/index-basic/src/test/" /> | |
1091 <source path="${plugins.dir}/index-geoip/src/java/" /> | |
1092 <source path="${plugins.dir}/index-jexl-filter/src/java/" /> | |
1093 <source path="${plugins.dir}/index-jexl-filter/src/test/" /> | |
1094 <source path="${plugins.dir}/index-links/src/java/" /> | |
1095 <source path="${plugins.dir}/index-links/src/test/" /> | |
1096 <source path="${plugins.dir}/index-metadata/src/java/" /> | |
1097 <source path="${plugins.dir}/index-more/src/java/" /> | |
1098 <source path="${plugins.dir}/index-more/src/test/" /> | |
1099 <source path="${plugins.dir}/index-replace/src/java/" /> | |
1100 <source path="${plugins.dir}/index-replace/src/test/" /> | |
1101 <source path="${plugins.dir}/index-static/src/java/" /> | |
1102 <source path="${plugins.dir}/index-static/src/test/" /> | |
1103 <source path="${plugins.dir}/indexer-cloudsearch/src/java/" /> | |
1104 <source path="${plugins.dir}/indexer-csv/src/java"/> | |
1105 <source path="${plugins.dir}/indexer-csv/src/test"/> | |
1106 <source path="${plugins.dir}/indexer-dummy/src/java/" /> | |
1107 <source path="${plugins.dir}/indexer-elastic-rest/src/java/"/> | |
1108 <source path="${plugins.dir}/indexer-elastic/src/java/" /> | |
1109 <source path="${plugins.dir}/indexer-kafka/src/java/" /> | |
1110 <source path="${plugins.dir}/indexer-rabbit/src/java/" /> | |
1111 <source path="${plugins.dir}/indexer-solr/src/java/" /> | |
1112 <source path="${plugins.dir}/language-identifier/src/java/" /> | |
1113 <source path="${plugins.dir}/language-identifier/src/test/" /> | |
1114 <source path="${plugins.dir}/lib-htmlunit/src/java/" /> | |
1115 <source path="${plugins.dir}/lib-http/src/java/" /> | |
1116 <source path="${plugins.dir}/lib-http/src/test/" /> | |
1117 <source path="${plugins.dir}/lib-rabbitmq/src/java/" /> | |
1118 <source path="${plugins.dir}/lib-regex-filter/src/java/" /> | |
1119 <source path="${plugins.dir}/lib-regex-filter/src/test/" /> | |
1120 <source path="${plugins.dir}/lib-selenium/src/java/" /> | |
1121 <source path="${plugins.dir}/microformats-reltag/src/java/" /> | |
1122 <source path="${plugins.dir}/mimetype-filter/src/java/" /> | |
1123 <source path="${plugins.dir}/mimetype-filter/src/test/" /> | |
1124 <source path="${plugins.dir}/parse-ext/src/java/" /> | |
1125 <source path="${plugins.dir}/parse-ext/src/test/" /> | |
1126 <source path="${plugins.dir}/parse-html/src/java/" /> | |
1127 <source path="${plugins.dir}/parse-html/src/test/" /> | |
1128 <source path="${plugins.dir}/parse-js/src/java/" /> | |
1129 <source path="${plugins.dir}/parse-js/src/test/" /> | |
1130 <source path="${plugins.dir}/parse-metatags/src/java/" /> | |
1131 <source path="${plugins.dir}/parse-metatags/src/test/" /> | |
1132 <source path="${plugins.dir}/parse-swf/src/java/" /> | |
1133 <source path="${plugins.dir}/parse-swf/src/test/" /> | |
1134 <source path="${plugins.dir}/parse-tika/src/java/" /> | |
1135 <source path="${plugins.dir}/parse-tika/src/test/" /> | |
1136 <source path="${plugins.dir}/parse-zip/src/java/" /> | |
1137 <source path="${plugins.dir}/parse-zip/src/test/" /> | |
1138 <source path="${plugins.dir}/parsefilter-naivebayes/src/java/" /> | |
1139 <source path="${plugins.dir}/parsefilter-regex/src/java/" /> | |
1140 <source path="${plugins.dir}/parsefilter-regex/src/test/" /> | |
1141 <source path="${plugins.dir}/protocol-file/src/java/" /> | |
1142 <source path="${plugins.dir}/protocol-file/src/test/" /> | |
1143 <source path="${plugins.dir}/protocol-ftp/src/java/" /> | |
1144 <source path="${plugins.dir}/protocol-htmlunit/src/java/" /> | |
1145 <source path="${plugins.dir}/protocol-http/src/java/" /> | |
1146 <source path="${plugins.dir}/protocol-http/src/test/" /> | |
1147 <source path="${plugins.dir}/protocol-httpclient/src/java/" /> | |
1148 <source path="${plugins.dir}/protocol-httpclient/src/test/" /> | |
1149 <source path="${plugins.dir}/protocol-interactiveselenium/src/java/" /> | |
1150 <source path="${plugins.dir}/protocol-okhttp/src/java/" /> | |
1151 <source path="${plugins.dir}/protocol-okhttp/src/test/" /> | |
1152 <source path="${plugins.dir}/protocol-selenium/src/java"/> | |
1153 <source path="${plugins.dir}/publish-rabbitmq/src/java"/> | |
1154 <source path="${plugins.dir}/scoring-adaptive/src/java"/> | |
1155 <source path="${plugins.dir}/scoring-depth/src/java/" /> | |
1156 <source path="${plugins.dir}/scoring-link/src/java/" /> | |
1157 <source path="${plugins.dir}/scoring-opic/src/java/" /> | |
1158 <source path="${plugins.dir}/scoring-orphan/src/java"/> | |
1159 <source path="${plugins.dir}/scoring-orphan/src/test"/> | |
1160 <source path="${plugins.dir}/scoring-similarity/src/java/" /> | |
1161 <source path="${plugins.dir}/subcollection/src/java/" /> | |
1162 <source path="${plugins.dir}/subcollection/src/test/" /> | |
1163 <source path="${plugins.dir}/tld/src/java/" /> | |
1164 <source path="${plugins.dir}/urlfilter-automaton/src/java/" /> | |
1165 <source path="${plugins.dir}/urlfilter-automaton/src/test/" /> | |
1166 <source path="${plugins.dir}/urlfilter-domain/src/java/" /> | |
1167 <source path="${plugins.dir}/urlfilter-domain/src/test/" /> | |
1168 <source path="${plugins.dir}/urlfilter-domainblacklist/src/java/" /> | |
1169 <source path="${plugins.dir}/urlfilter-domainblacklist/src/test/" /> | |
1170 <source path="${plugins.dir}/urlfilter-fast/src/java/"/> | |
1171 <source path="${plugins.dir}/urlfilter-fast/src/test/"/> | |
1172 <source path="${plugins.dir}/urlfilter-ignoreexempt/src/java/" /> | |
1173 <source path="${plugins.dir}/urlfilter-prefix/src/java/" /> | |
1174 <source path="${plugins.dir}/urlfilter-prefix/src/test/" /> | |
1175 <source path="${plugins.dir}/urlfilter-regex/src/java/" /> | |
1176 <source path="${plugins.dir}/urlfilter-regex/src/test/" /> | |
1177 <source path="${plugins.dir}/urlfilter-suffix/src/java/" /> | |
1178 <source path="${plugins.dir}/urlfilter-suffix/src/test/" /> | |
1179 <source path="${plugins.dir}/urlfilter-validator/src/java/" /> | |
1180 <source path="${plugins.dir}/urlfilter-validator/src/test/" /> | |
1181 <source path="${plugins.dir}/urlmeta/src/java/" /> | |
1182 <source path="${plugins.dir}/urlnormalizer-ajax/src/java/" /> | |
1183 <source path="${plugins.dir}/urlnormalizer-ajax/src/test/" /> | |
1184 <source path="${plugins.dir}/urlnormalizer-basic/src/java/" /> | |
1185 <source path="${plugins.dir}/urlnormalizer-basic/src/test/" /> | |
1186 <source path="${plugins.dir}/urlnormalizer-host/src/java/" /> | |
1187 <source path="${plugins.dir}/urlnormalizer-host/src/test/" /> | |
1188 <source path="${plugins.dir}/urlnormalizer-pass/src/java/" /> | |
1189 <source path="${plugins.dir}/urlnormalizer-pass/src/test/" /> | |
1190 <source path="${plugins.dir}/urlnormalizer-protocol/src/java/" /> | |
1191 <source path="${plugins.dir}/urlnormalizer-protocol/src/test/" /> | |
1192 <source path="${plugins.dir}/urlnormalizer-querystring/src/java/" /> | |
1193 <source path="${plugins.dir}/urlnormalizer-querystring/src/test/" /> | |
1194 <source path="${plugins.dir}/urlnormalizer-regex/src/java/" /> | |
1195 <source path="${plugins.dir}/urlnormalizer-regex/src/test/" /> | |
1196 <source path="${plugins.dir}/urlnormalizer-slash/src/java/" /> | |
1197 <source path="${plugins.dir}/urlnormalizer-slash/src/test/" /> | |
1198 | |
1199 <output path="${build.classes}" /> | |
1200 </classpath> | |
1201 </eclipse> | |
1202 </target> | |
1203 | |
1204 </project> |