Mercurial > hg > cc > cirrus_home
annotate src/nutch-cc/build.xml @ 195:5f3c36e4fd6d default tip
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
author | Henry S. Thompson <ht@inf.ed.ac.uk> |
---|---|
date | Thu, 26 Sep 2024 17:55:56 +0100 |
parents | 4275eb6484da |
children |
rev | line source |
---|---|
191 | 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 | |
195
5f3c36e4fd6d
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
192
diff
changeset
|
390 <target name="job-core" depends="compile-core" description="--> make |
5f3c36e4fd6d
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
192
diff
changeset
|
391 nutch.job jar assuming plugins are OK"> |
5f3c36e4fd6d
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
192
diff
changeset
|
392 <jar jarfile="${build.dir}/${final.name}.job"> |
5f3c36e4fd6d
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
192
diff
changeset
|
393 <!-- If the build.classes has the nutch config files because the jar |
5f3c36e4fd6d
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
192
diff
changeset
|
394 command command has run, exclude them. The conf directory has |
5f3c36e4fd6d
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
192
diff
changeset
|
395 them. |
5f3c36e4fd6d
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
192
diff
changeset
|
396 --> |
5f3c36e4fd6d
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
192
diff
changeset
|
397 <zipfileset dir="${build.classes}" |
5f3c36e4fd6d
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
192
diff
changeset
|
398 excludes="nutch-default.xml,nutch-site.xml"/> |
5f3c36e4fd6d
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
192
diff
changeset
|
399 <zipfileset dir="${conf.dir}" excludes="*.template,hadoop*.*"/> |
5f3c36e4fd6d
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
192
diff
changeset
|
400 <zipfileset dir="${build.lib.dir}" prefix="lib" |
5f3c36e4fd6d
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
192
diff
changeset
|
401 includes="**/*.jar" excludes="hadoop-*.jar,slf4j*.jar,log4j*.jar"/> |
5f3c36e4fd6d
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
192
diff
changeset
|
402 <zipfileset dir="${build.plugins}" prefix="classes/plugins"/> |
5f3c36e4fd6d
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
192
diff
changeset
|
403 </jar> |
5f3c36e4fd6d
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
192
diff
changeset
|
404 </target> |
5f3c36e4fd6d
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
192
diff
changeset
|
405 |
191 | 406 <target name="runtime" depends="jar, job" description="--> default target for running Nutch"> |
407 <mkdir dir="${runtime.dir}"/> | |
408 <mkdir dir="${runtime.local}"/> | |
409 <mkdir dir="${runtime.deploy}"/> | |
410 <!-- deploy area --> | |
411 <copy file="${build.dir}/${final.name}.job" | |
412 todir="${runtime.deploy}"/> | |
413 <copy todir="${runtime.deploy}/bin"> | |
414 <fileset dir="src/bin"/> | |
415 </copy> | |
416 <chmod perm="ugo+x" type="file"> | |
417 <fileset dir="${runtime.deploy}/bin"/> | |
418 </chmod> | |
419 <!-- local area --> | |
420 <copy file="${build.dir}/${final.name}.jar" | |
421 todir="${runtime.local}/lib"/> | |
422 <copy todir="${runtime.local}/lib/native"> | |
423 <fileset dir="lib/native"/> | |
424 </copy> | |
425 <copy todir="${runtime.local}/conf"> | |
426 <fileset dir="${conf.dir}" excludes="*.template"/> | |
427 </copy> | |
428 <copy todir="${runtime.local}/bin"> | |
429 <fileset dir="src/bin"/> | |
430 </copy> | |
431 <chmod perm="ugo+x" type="file"> | |
432 <fileset dir="${runtime.local}/bin"/> | |
433 </chmod> | |
434 <copy todir="${runtime.local}/lib"> | |
435 <fileset dir="${build.dir}/lib"/> | |
436 </copy> | |
437 <copy todir="${runtime.local}/plugins"> | |
438 <fileset dir="${build.dir}/plugins"/> | |
439 </copy> | |
440 <copy todir="${runtime.local}/test"> | |
441 <fileset dir="${build.dir}/test"/> | |
442 </copy> | |
443 </target> | |
444 | |
445 <!-- ================================================================== --> | |
446 <!-- Compile test code --> | |
447 <!-- ================================================================== --> | |
448 <target name="compile-core-test" depends="init, compile-core, resolve-test" description="--> compile test code"> | |
449 <javac | |
450 encoding="${build.encoding}" | |
451 srcdir="${test.src.dir}" | |
452 includes="org/apache/nutch/**/*.java org/commoncrawl/**/*.java" | |
453 destdir="${test.build.classes}" | |
454 debug="${javac.debug}" | |
455 optimize="${javac.optimize}" | |
456 target="${javac.version}" | |
457 source="${javac.version}" | |
458 deprecation="${javac.deprecation}"> | |
459 <compilerarg value="-Xlint:-path"/> | |
460 <classpath refid="test.classpath"/> | |
461 </javac> | |
462 </target> | |
463 | |
464 <!-- ================================================================== --> | |
465 <!-- Run Nutch proxy --> | |
466 <!-- ================================================================== --> | |
467 | |
468 <target name="proxy" depends="compile-core-test, job" description="--> run nutch proxy"> | |
469 <java classname="org.apache.nutch.tools.proxy.ProxyTestbed" fork="true"> | |
470 <classpath refid="test.classpath"/> | |
471 <arg value="-fake"/> | |
472 <!-- | |
473 <arg value="-delay"/> | |
474 <arg value="-200"/> | |
475 --> | |
476 <jvmarg line="-Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"/> | |
477 </java> | |
478 </target> | |
479 | |
480 <!-- ================================================================== --> | |
481 <!-- Run Nutch benchmarking analysis --> | |
482 <!-- ================================================================== --> | |
483 | |
484 <target name="benchmark" description="--> run nutch benchmarking analysis"> | |
485 <java classname="org.apache.nutch.tools.Benchmark" fork="true"> | |
486 <classpath refid="test.classpath"/> | |
487 <jvmarg line="-Xmx512m -Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"/> | |
488 <arg value="-maxPerHost"/> | |
489 <arg value="10"/> | |
490 <arg value="-seeds"/> | |
491 <arg value="1"/> | |
492 <arg value="-depth"/> | |
493 <arg value="5"/> | |
494 </java> | |
495 </target> | |
496 | |
497 <!-- ================================================================== --> | |
498 <!-- Run unit tests --> | |
499 <!-- ================================================================== --> | |
192
4275eb6484da
maybe triggers jdb on tests with -DdebugTest=true on command line
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
191
diff
changeset
|
500 <property name="debugTest" value="false"/> |
4275eb6484da
maybe triggers jdb on tests with -DdebugTest=true on command line
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
191
diff
changeset
|
501 |
195
5f3c36e4fd6d
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
192
diff
changeset
|
502 <target name="test" depends="test-core, test-plugins, job" description="--> run JUnit tests"/> |
191 | 503 |
195
5f3c36e4fd6d
add target test-core which (dangerously) avoids (we hope pointless) recompilation of all the plugins
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
192
diff
changeset
|
504 <target name="test-core" depends="compile-core-test, job-core" description="--> run core JUnit tests only"> |
191 | 505 |
506 <delete dir="${test.build.data}"/> | |
507 <mkdir dir="${test.build.data}"/> | |
508 <!-- | |
509 copy resources needed in junit tests | |
510 --> | |
511 <copy todir="${test.build.data}"> | |
512 <fileset dir="src/testresources" includes="**/*"/> | |
513 </copy> | |
514 | |
515 <copy file="${test.src.dir}/log4j.properties" | |
516 todir="${test.build.classes}"/> | |
517 | |
518 <copy file="${test.src.dir}/crawl-tests.xml" | |
519 todir="${test.build.classes}"/> | |
520 | |
521 <copy file="${test.src.dir}/domain-urlfilter.txt" | |
522 todir="${test.build.classes}"/> | |
523 | |
524 <copy file="${test.src.dir}/filter-all.txt" | |
525 todir="${test.build.classes}"/> | |
526 | |
192
4275eb6484da
maybe triggers jdb on tests with -DdebugTest=true on command line
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
191
diff
changeset
|
527 <condition property="debugJvmArgs" |
4275eb6484da
maybe triggers jdb on tests with -DdebugTest=true on command line
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
191
diff
changeset
|
528 value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8787" |
4275eb6484da
maybe triggers jdb on tests with -DdebugTest=true on command line
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
191
diff
changeset
|
529 else="-ea"> |
4275eb6484da
maybe triggers jdb on tests with -DdebugTest=true on command line
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
191
diff
changeset
|
530 <istrue value="${debugTest}"/> |
4275eb6484da
maybe triggers jdb on tests with -DdebugTest=true on command line
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
191
diff
changeset
|
531 </condition> |
191 | 532 <junit printsummary="yes" haltonfailure="no" fork="yes" |
533 forkmode="once" dir="${basedir}" | |
534 errorProperty="tests.failed" failureProperty="tests.failed" | |
535 maxmemory="1000m"> | |
192
4275eb6484da
maybe triggers jdb on tests with -DdebugTest=true on command line
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
191
diff
changeset
|
536 <jvmarg value="${debugJvmArgs}"/> |
191 | 537 <sysproperty key="test.build.data" value="${test.build.data}"/> |
538 <sysproperty key="test.src.dir" value="${test.src.dir}"/> | |
539 <sysproperty key="javax.xml.parsers.DocumentBuilderFactory" value="com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl"/> | |
540 <classpath refid="test.classpath"/> | |
541 <formatter type="${test.junit.output.format}" /> | |
542 <batchtest todir="${test.build.dir}" unless="testcase"> | |
543 <fileset dir="${test.src.dir}" | |
544 includes="**/Test*.java" excludes="**/${test.exclude}.java" /> | |
545 </batchtest> | |
546 <batchtest todir="${test.build.dir}" if="testcase"> | |
547 <fileset dir="${test.src.dir}" includes="**/${testcase}.java"/> | |
548 </batchtest> | |
549 </junit> | |
550 | |
551 <fail if="tests.failed">Tests failed!</fail> | |
552 | |
553 </target> | |
554 | |
555 <target name="test-plugins" depends="resolve-test, compile" description="--> run plugin JUnit tests only"> | |
556 <ant dir="src/plugin" target="test" inheritAll="false"/> | |
557 </target> | |
558 | |
559 <target name="test-plugin" depends="resolve-test, compile" description="--> run a single plugin's JUnit tests"> | |
560 <ant dir="src/plugin" target="test-single" inheritAll="false"/> | |
561 </target> | |
562 | |
563 <target name="nightly" depends="test, tar-src, zip-src" description="--> run the nightly target build"> | |
564 </target> | |
565 | |
566 <!-- ================================================================== --> | |
567 <!-- Ivy targets --> | |
568 <!-- ================================================================== --> | |
569 | |
570 <!-- target: resolve ================================================= --> | |
571 <target name="resolve-default" depends="clean-default-lib, init" description="--> resolve and retrieve dependencies with ivy"> | |
572 <ivy:resolve file="${ivy.file}" conf="default" log="download-only"/> | |
573 <ivy:retrieve pattern="${build.lib.dir}/[artifact]-[revision].[ext]" symlink="false" log="quiet"/> | |
574 <antcall target="copy-libs"/> | |
575 </target> | |
576 | |
577 <target name="resolve-test" depends="clean-test-lib, init" description="--> resolve and retrieve dependencies with ivy"> | |
578 <ivy:resolve file="${ivy.file}" conf="test" log="download-only"/> | |
579 <ivy:retrieve pattern="${test.build.lib.dir}/[artifact]-[revision].[ext]" symlink="false" log="quiet"/> | |
580 <antcall target="copy-libs"/> | |
581 </target> | |
582 | |
583 <target name="copy-libs" description="--> copy the libs in lib, which are not ivy enabled"> | |
584 <!-- copy the libs in lib, which are not ivy enabled--> | |
585 <copy todir="${build.lib.dir}/" failonerror="false"> | |
586 <fileset dir="${lib.dir}" includes="**/*.jar"/> | |
587 </copy> | |
588 </target> | |
589 | |
590 <!-- target: publish-local =========================================== --> | |
591 <target name="publish-local" depends="jar" description="--> publish this project in the local ivy repository"> | |
592 <ivy:publish artifactspattern="${build.dir}/[artifact]-${version}.[ext]" | |
593 resolver="local" | |
594 pubrevision="${version}" | |
595 pubdate="${now}" | |
596 status="integration" | |
597 forcedeliver="true" | |
598 overwrite="true" | |
599 /> | |
600 <echo message="project ${ant.project.name} published locally with version ${version}" /> | |
601 </target> | |
602 | |
603 <!-- target: report ================================================== --> | |
604 <target name="report" depends="resolve-test" description="--> generates a report of dependencies"> | |
605 <ivy:report todir="${build.dir}" xml="true"/> | |
606 </target> | |
607 | |
608 <!-- target: 3rd-party licenses report =============================== --> | |
609 <target name="report-licenses" depends="resolve-default" description="--> generates a report of licenses of dependencies"> | |
610 <ivy:report todir="${build.dir}" xml="false" graph="false" xslfile="ivy/ivy-report-license.xsl" | |
611 outputpattern="[organisation]-[module]-[conf]-3rd-party-licenses.tsv"/> | |
612 </target> | |
613 | |
614 <!-- target: ivy-init ================================================ --> | |
615 <target name="ivy-init" depends="ivy-probe-antlib, ivy-init-antlib" description="--> initialise Ivy settings"> | |
616 <ivy:settings file="${ivy.dir}/ivysettings.xml" /> | |
617 </target> | |
618 | |
619 <!-- target: ivy-probe-antlib ======================================== --> | |
620 <target name="ivy-probe-antlib" description="--> probe the antlib library"> | |
621 <condition property="ivy.found"> | |
622 <typefound uri="antlib:org.apache.ivy.ant" name="cleancache" /> | |
623 </condition> | |
624 </target> | |
625 | |
626 <!-- target: ivy-download ============================================ --> | |
627 <target name="ivy-download" description="--> download ivy"> | |
628 <available file="${ivy.jar}" property="ivy.jar.found"/> | |
629 <antcall target="ivy-download-unchecked"/> | |
630 </target> | |
631 | |
632 <!-- target: ivy-download-unchecked ================================== --> | |
633 <target name="ivy-download-unchecked" unless="ivy.jar.found" description="--> fetch any ivy file"> | |
634 <get src="${ivy.repo.url}" dest="${ivy.jar}" usetimestamp="true" /> | |
635 </target> | |
636 | |
637 <!-- target: ivy-init-antlib ========================================= --> | |
638 <target name="ivy-init-antlib" depends="ivy-download" unless="ivy.found" description="--> attempt to use Ivy with Antlib"> | |
639 <typedef uri="antlib:org.apache.ivy.ant" onerror="fail" loaderRef="ivyLoader"> | |
640 <classpath> | |
641 <pathelement location="${ivy.jar}" /> | |
642 </classpath> | |
643 </typedef> | |
644 <fail> | |
645 <condition> | |
646 <not> | |
647 <typefound uri="antlib:org.apache.ivy.ant" name="cleancache" /> | |
648 </not> | |
649 </condition> | |
650 You need Apache Ivy 2.0 or later from http://ant.apache.org/ | |
651 It could not be loaded from ${ivy.repo.url} | |
652 </fail> | |
653 </target> | |
654 | |
655 <!-- Check dependencies for security vulnerabilities --> | |
656 <!-- requires installation of OWASP dependency check tool, see --> | |
657 <!-- https://jeremylong.github.io/DependencyCheck/dependency-check-ant/index.html --> | |
658 <!-- get http://dl.bintray.com/jeremy-long/owasp/dependency-check-ant-3.3.2-release.zip --> | |
659 <!-- and unzip in directory ./ivy/ --> | |
660 <property name="dependency-check.home" value="${ivy.dir}/dependency-check-ant/"/> | |
661 <path id="dependency-check.path"> | |
662 <pathelement location="${dependency-check.home}/dependency-check-ant.jar"/> | |
663 <fileset dir="${dependency-check.home}/lib" erroronmissingdir="false"> | |
664 <include name="*.jar"/> | |
665 </fileset> | |
666 </path> | |
667 <taskdef resource="dependency-check-taskdefs.properties" onerror="ignore"> | |
668 <classpath refid="dependency-check.path" /> | |
669 </taskdef> | |
670 <target name="report-vulnerabilities" description="--> check dependencies for security vulnerabilities"> | |
671 <dependency-check projectname="${name}" | |
672 reportoutputdirectory="${build.dir}" | |
673 reportformat="ALL"> | |
674 <suppressionfile path="${dependency-check.home}/dependency-check-suppressions.xml" /> | |
675 <retirejsFilter regex="copyright.*jeremy long" /> | |
676 <fileset dir="${build.dir}"> | |
677 <include name="lib/*.jar"/> | |
678 <include name="plugins/*/*.jar"/> | |
679 </fileset> | |
680 </dependency-check> | |
681 </target> | |
682 | |
683 <!-- ================================================================== --> | |
684 <!-- Documentation --> | |
685 <!-- ================================================================== --> | |
686 <target name="javadoc" depends="compile" description="--> generate Javadoc"> | |
687 <fail message="Unsupported Java version: ${java.version}. Javadoc requires Java version 7u25 or greater. See https://issues.apache.org/jira/browse/NUTCH-1590"> | |
688 <condition> | |
689 <or> | |
690 <matches string="${java.version}" pattern="1.7.0_2[01234].+" casesensitive="false" /> | |
691 <matches string="${java.version}" pattern="1.7.0_1.+" casesensitive="false" /> | |
692 <equals arg1="${ant.java.version}" arg2="1.6" /> | |
693 <equals arg1="${ant.java.version}" arg2="1.5" /> | |
694 </or> | |
695 </condition> | |
696 </fail> | |
697 <mkdir dir="${build.javadoc}"/> | |
698 <javadoc | |
699 overview="${src.dir}/overview.html" | |
700 destdir="${build.javadoc}" | |
701 author="true" | |
702 version="true" | |
703 use="true" | |
704 windowtitle="${name} ${version} API" | |
705 doctitle="${name} ${version} API" | |
706 bottom="Copyright &copy; ${year} The Apache Software Foundation" | |
707 > | |
708 <arg value="${javadoc.proxy.host}"/> | |
709 <arg value="${javadoc.proxy.port}"/> | |
710 | |
711 <packageset dir="${src.dir}"/> | |
712 <packageset dir="${plugins.dir}/any23/src/java/" /> | |
713 <packageset dir="${plugins.dir}/creativecommons/src/java"/> | |
714 <packageset dir="${plugins.dir}/feed/src/java"/> | |
715 <packageset dir="${plugins.dir}/headings/src/java"/> | |
716 <packageset dir="${plugins.dir}/exchange-jexl/src/java"/> | |
717 <packageset dir="${plugins.dir}/index-anchor/src/java"/> | |
718 <packageset dir="${plugins.dir}/index-basic/src/java"/> | |
719 <packageset dir="${plugins.dir}/index-geoip/src/java"/> | |
720 <packageset dir="${plugins.dir}/index-jexl-filter/src/java"/> | |
721 <packageset dir="${plugins.dir}/index-links/src/java"/> | |
722 <packageset dir="${plugins.dir}/index-metadata/src/java"/> | |
723 <packageset dir="${plugins.dir}/index-more/src/java"/> | |
724 <packageset dir="${plugins.dir}/index-replace/src/java"/> | |
725 <packageset dir="${plugins.dir}/index-static/src/java"/> | |
726 <packageset dir="${plugins.dir}/indexer-cloudsearch/src/java/" /> | |
727 <packageset dir="${plugins.dir}/indexer-csv/src/java"/> | |
728 <packageset dir="${plugins.dir}/indexer-dummy/src/java"/> | |
729 <packageset dir="${plugins.dir}/indexer-elastic-rest/src/java/"/> | |
730 <packageset dir="${plugins.dir}/indexer-elastic/src/java/" /> | |
731 <packageset dir="${plugins.dir}/indexer-kafka/src/java/" /> | |
732 <packageset dir="${plugins.dir}/indexer-rabbit/src/java"/> | |
733 <packageset dir="${plugins.dir}/indexer-solr/src/java"/> | |
734 <packageset dir="${plugins.dir}/language-identifier/src/java"/> | |
735 <packageset dir="${plugins.dir}/lib-htmlunit/src/java"/> | |
736 <packageset dir="${plugins.dir}/lib-http/src/java"/> | |
737 <packageset dir="${plugins.dir}/lib-rabbitmq/src/java"/> | |
738 <packageset dir="${plugins.dir}/lib-regex-filter/src/java"/> | |
739 <packageset dir="${plugins.dir}/lib-selenium/src/java"/> | |
740 <packageset dir="${plugins.dir}/microformats-reltag/src/java"/> | |
741 <packageset dir="${plugins.dir}/mimetype-filter/src/java"/> | |
742 <packageset dir="${plugins.dir}/parse-ext/src/java"/> | |
743 <packageset dir="${plugins.dir}/parse-html/src/java"/> | |
744 <packageset dir="${plugins.dir}/parse-js/src/java"/> | |
745 <packageset dir="${plugins.dir}/parse-metatags/src/java"/> | |
746 <packageset dir="${plugins.dir}/parse-swf/src/java"/> | |
747 <packageset dir="${plugins.dir}/parse-tika/src/java"/> | |
748 <packageset dir="${plugins.dir}/parse-zip/src/java"/> | |
749 <packageset dir="${plugins.dir}/parsefilter-naivebayes/src/java"/> | |
750 <packageset dir="${plugins.dir}/parsefilter-regex/src/java"/> | |
751 <packageset dir="${plugins.dir}/protocol-file/src/java"/> | |
752 <packageset dir="${plugins.dir}/protocol-ftp/src/java"/> | |
753 <packageset dir="${plugins.dir}/protocol-htmlunit/src/java"/> | |
754 <packageset dir="${plugins.dir}/protocol-http/src/java"/> | |
755 <packageset dir="${plugins.dir}/protocol-httpclient/src/java"/> | |
756 <packageset dir="${plugins.dir}/protocol-interactiveselenium/src/java"/> | |
757 <packageset dir="${plugins.dir}/protocol-okhttp/src/java"/> | |
758 <packageset dir="${plugins.dir}/protocol-selenium/src/java"/> | |
759 <packageset dir="${plugins.dir}/publish-rabbitmq/src/java"/> | |
760 <packageset dir="${plugins.dir}/scoring-adaptive/src/java"/> | |
761 <packageset dir="${plugins.dir}/scoring-depth/src/java"/> | |
762 <packageset dir="${plugins.dir}/scoring-link/src/java"/> | |
763 <packageset dir="${plugins.dir}/scoring-opic/src/java"/> | |
764 <packageset dir="${plugins.dir}/scoring-orphan/src/java"/> | |
765 <packageset dir="${plugins.dir}/scoring-similarity/src/java"/> | |
766 <packageset dir="${plugins.dir}/subcollection/src/java"/> | |
767 <packageset dir="${plugins.dir}/tld/src/java"/> | |
768 <packageset dir="${plugins.dir}/urlfilter-automaton/src/java"/> | |
769 <packageset dir="${plugins.dir}/urlfilter-domain/src/java"/> | |
770 <packageset dir="${plugins.dir}/urlfilter-domainblacklist/src/java"/> | |
771 <packageset dir="${plugins.dir}/urlfilter-fast/src/java"/> | |
772 <packageset dir="${plugins.dir}/urlfilter-ignoreexempt/src/java"/> | |
773 <packageset dir="${plugins.dir}/urlfilter-prefix/src/java"/> | |
774 <packageset dir="${plugins.dir}/urlfilter-regex/src/java"/> | |
775 <packageset dir="${plugins.dir}/urlfilter-suffix/src/java"/> | |
776 <packageset dir="${plugins.dir}/urlfilter-validator/src/java"/> | |
777 <packageset dir="${plugins.dir}/urlmeta/src/java"/> | |
778 <packageset dir="${plugins.dir}/urlnormalizer-ajax/src/java"/> | |
779 <packageset dir="${plugins.dir}/urlnormalizer-basic/src/java"/> | |
780 <packageset dir="${plugins.dir}/urlnormalizer-host/src/java"/> | |
781 <packageset dir="${plugins.dir}/urlnormalizer-pass/src/java"/> | |
782 <packageset dir="${plugins.dir}/urlnormalizer-protocol/src/java"/> | |
783 <packageset dir="${plugins.dir}/urlnormalizer-querystring/src/java"/> | |
784 <packageset dir="${plugins.dir}/urlnormalizer-regex/src/java"/> | |
785 <packageset dir="${plugins.dir}/urlnormalizer-slash/src/java"/> | |
786 | |
787 <link href="${javadoc.link.java}"/> | |
788 <link href="${javadoc.link.hadoop}"/> | |
789 <link href="${javadoc.link.lucene.core}"/> | |
790 <link href="${javadoc.link.lucene.analyzers-common}"/> | |
791 <link href="${javadoc.link.solr-solrj}"/> | |
792 | |
793 <classpath refid="classpath"/> | |
794 <classpath> | |
795 <fileset dir="${plugins.dir}" > | |
796 <include name="**/*.jar"/> | |
797 </fileset> | |
798 </classpath> | |
799 | |
800 <group title="Core" packages="org.apache.nutch.*"/> | |
801 <group title="Plugins API" packages="${plugins.api}"/> | |
802 <group title="Protocol Plugins" packages="${plugins.protocol}"/> | |
803 <group title="URL Filter Plugins" packages="${plugins.urlfilter}"/> | |
804 <group title="URL Normalizer Plugins" packages="${plugins.urlnormalizer}"/> | |
805 <group title="Scoring Plugins" packages="${plugins.scoring}"/> | |
806 <group title="Parse Plugins" packages="${plugins.parse}"/> | |
807 <group title="Parse Filter Plugins" packages="${plugins.parsefilter}"/> | |
808 <group title="Publisher Plugins" packages="${plugins.publisher}"/> | |
809 <group title="Exchange Plugins" packages="${plugins.exchange}"/> | |
810 <group title="Indexing Filter Plugins" packages="${plugins.index}"/> | |
811 <group title="Indexer Plugins" packages="${plugins.indexer}"/> | |
812 <group title="Misc. Plugins" packages="${plugins.misc}"/> | |
813 </javadoc> | |
814 <!-- Copy the plugin.dtd file to the plugin doc-files dir --> | |
815 <copy file="${plugins.dir}/plugin.dtd" | |
816 todir="${build.javadoc}/org/apache/nutch/plugin/doc-files"/> | |
817 </target> | |
818 | |
819 <target name="default-doc" description="--> generate default Nutch documentation"> | |
820 <style basedir="${conf.dir}" destdir="${docs.dir}" | |
821 includes="nutch-default.xml" style="conf/nutch-conf.xsl"/> | |
822 </target> | |
823 | |
824 <!-- ================================================================== --> | |
825 <!-- D I S T R I B U T I O N --> | |
826 <!-- ================================================================== --> | |
827 <!-- --> | |
828 <!-- ================================================================== --> | |
829 <target name="package-src" depends="runtime, javadoc" description="--> generate source distribution package"> | |
830 <mkdir dir="${dist.dir}"/> | |
831 <mkdir dir="${src.dist.version.dir}"/> | |
832 <mkdir dir="${src.dist.version.dir}/lib"/> | |
833 <mkdir dir="${src.dist.version.dir}/docs"/> | |
834 <mkdir dir="${src.dist.version.dir}/docs/api"/> | |
835 <mkdir dir="${src.dist.version.dir}/ivy"/> | |
836 | |
837 <copy todir="${src.dist.version.dir}/lib" includeEmptyDirs="false"> | |
838 <fileset dir="lib"/> | |
839 </copy> | |
840 | |
841 <copy todir="${src.dist.version.dir}/conf"> | |
842 <fileset dir="${conf.dir}" excludes="**/*.template"/> | |
843 </copy> | |
844 | |
845 <copy todir="${src.dist.version.dir}/docs/api"> | |
846 <fileset dir="${build.javadoc}"/> | |
847 </copy> | |
848 | |
849 <copy todir="${src.dist.version.dir}"> | |
850 <fileset dir="."> | |
851 <include name="*.txt" /> | |
852 <!--<include name="KEYS" />--> | |
853 </fileset> | |
854 </copy> | |
855 | |
856 <copy todir="${src.dist.version.dir}/src" includeEmptyDirs="true"> | |
857 <fileset dir="src"/> | |
858 </copy> | |
859 | |
860 <copy todir="${src.dist.version.dir}/ivy" includeEmptyDirs="true"> | |
861 <fileset dir="ivy"/> | |
862 </copy> | |
863 | |
864 <copy todir="${src.dist.version.dir}/" file="build.xml"/> | |
865 <copy todir="${src.dist.version.dir}/" file="default.properties"/> | |
866 | |
867 </target> | |
868 | |
869 <target name="package-bin" depends="runtime, javadoc" description="--> generate binary distribution package"> | |
870 <mkdir dir="${dist.dir}"/> | |
871 <mkdir dir="${bin.dist.version.dir}"/> | |
872 <mkdir dir="${bin.dist.version.dir}/lib"/> | |
873 <mkdir dir="${bin.dist.version.dir}/bin"/> | |
874 <mkdir dir="${bin.dist.version.dir}/conf"/> | |
875 <mkdir dir="${bin.dist.version.dir}/docs"/> | |
876 <mkdir dir="${bin.dist.version.dir}/docs/api"/> | |
877 <mkdir dir="${bin.dist.version.dir}/plugins"/> | |
878 | |
879 <copy todir="${bin.dist.version.dir}/lib" includeEmptyDirs="false"> | |
880 <fileset dir="runtime/local/lib"/> | |
881 </copy> | |
882 | |
883 <copy todir="${bin.dist.version.dir}/bin"> | |
884 <fileset dir="runtime/local/bin"/> | |
885 </copy> | |
886 | |
887 <chmod perm="ugo+x" type="file"> | |
888 <fileset dir="${bin.dist.version.dir}/bin"/> | |
889 </chmod> | |
890 | |
891 <copy todir="${bin.dist.version.dir}/conf"> | |
892 <fileset dir="runtime/local/conf" excludes="**/*.template"/> | |
893 </copy> | |
894 | |
895 <copy todir="${bin.dist.version.dir}/docs/api"> | |
896 <fileset dir="${build.javadoc}"/> | |
897 </copy> | |
898 | |
899 <copy todir="${bin.dist.version.dir}"> | |
900 <fileset dir="."> | |
901 <include name="*.txt" /> | |
902 </fileset> | |
903 </copy> | |
904 | |
905 <copy todir="${bin.dist.version.dir}/plugins" includeEmptyDirs="true"> | |
906 <fileset dir="runtime/local/plugins"/> | |
907 </copy> | |
908 | |
909 </target> | |
910 | |
911 <!-- ================================================================== --> | |
912 <!-- Make src release tarball --> | |
913 <!-- ================================================================== --> | |
914 <target name="tar-src" depends="package-src" description="--> generate src.tar.gz distribution package"> | |
915 <tar compression="gzip" longfile="gnu" | |
916 destfile="${src.dist.version.dir}.tar.gz"> | |
917 <tarfileset dir="${src.dist.version.dir}" mode="664" prefix="${final.name}"> | |
918 <exclude name="src/bin/*" /> | |
919 <include name="**" /> | |
920 </tarfileset> | |
921 <tarfileset dir="${src.dist.version.dir}" mode="755" prefix="${final.name}"> | |
922 <include name="src/bin/*" /> | |
923 </tarfileset> | |
924 </tar> | |
925 </target> | |
926 | |
927 <!-- ================================================================== --> | |
928 <!-- Make bin release tarball --> | |
929 <!-- ================================================================== --> | |
930 <target name="tar-bin" depends="package-bin" description="--> generate bin.tar.gz distribution package"> | |
931 <tar compression="gzip" longfile="gnu" | |
932 destfile="${bin.dist.version.dir}.tar.gz"> | |
933 <tarfileset dir="${bin.dist.version.dir}" mode="664" prefix="${final.name}"> | |
934 <exclude name="bin/*" /> | |
935 <include name="**" /> | |
936 </tarfileset> | |
937 <tarfileset dir="${bin.dist.version.dir}" mode="755" prefix="${final.name}"> | |
938 <include name="bin/*" /> | |
939 </tarfileset> | |
940 </tar> | |
941 </target> | |
942 | |
943 <!-- ================================================================== --> | |
944 <!-- Make src release zip --> | |
945 <!-- ================================================================== --> | |
946 <target name="zip-src" depends="package-src" description="--> generate src.zip distribution package"> | |
947 <zip compress="true" casesensitive="yes" | |
948 destfile="${src.dist.version.dir}.zip"> | |
949 <zipfileset dir="${src.dist.version.dir}" filemode="664" prefix="${final.name}"> | |
950 <exclude name="src/bin/*" /> | |
951 <include name="**" /> | |
952 </zipfileset> | |
953 <zipfileset dir="${src.dist.version.dir}" filemode="755" prefix="${final.name}"> | |
954 <include name="src/bin/*" /> | |
955 </zipfileset> | |
956 </zip> | |
957 </target> | |
958 | |
959 <!-- ================================================================== --> | |
960 <!-- Make bin release zip --> | |
961 <!-- ================================================================== --> | |
962 <target name="zip-bin" depends="package-bin" description="--> generate bin.zip distribution package"> | |
963 <zip compress="true" casesensitive="yes" | |
964 destfile="${bin.dist.version.dir}.zip"> | |
965 <zipfileset dir="${bin.dist.version.dir}" filemode="664" prefix="${final.name}"> | |
966 <exclude name="bin/*" /> | |
967 <include name="**" /> | |
968 </zipfileset> | |
969 <zipfileset dir="${bin.dist.version.dir}" filemode="755" prefix="${final.name}"> | |
970 <include name="bin/*" /> | |
971 </zipfileset> | |
972 </zip> | |
973 </target> | |
974 | |
975 <!-- ================================================================== --> | |
976 <!-- Clean. Delete the build files, and their directories --> | |
977 <!-- ================================================================== --> | |
978 | |
979 <!-- target: clean =================================================== --> | |
980 <target name="clean" depends="clean-build, clean-lib, clean-dist, clean-runtime" description="--> clean the project" /> | |
981 | |
982 <!-- target: clean-eclipse ============================================ --> | |
983 <target name="clean-eclipse" depends="clean-build, clean-lib, clean-dist" description="--> cleans the eclipse project"/> | |
984 | |
985 <!-- target: clean-local ============================================= --> | |
986 <target name="clean-local" depends="" | |
987 description="--> cleans the local repository for the current module"> | |
988 <delete dir="${ivy.local.default.root}/${ivy.organisation}/${ivy.module}"/> | |
989 </target> | |
990 | |
991 <!-- target: clean-lib =============================================== --> | |
992 <target name="clean-lib" depends="clean-default-lib, clean-test-lib" | |
993 description="--> clean the project libraries directories (dependencies: default + test)"> | |
994 </target> | |
995 <!-- target: clean-default-lib =============================================== --> | |
996 <target name="clean-default-lib" description="--> clean the project libraries directory (dependencies)"> | |
997 <delete includeemptydirs="true" dir="${build.lib.dir}"/> | |
998 </target> | |
999 <!-- target: clean-test-lib =============================================== --> | |
1000 <target name="clean-test-lib" description="--> clean the project test libraries directory (dependencies)"> | |
1001 <delete includeemptydirs="true" dir="${test.build.lib.dir}"/> | |
1002 </target> | |
1003 | |
1004 <!-- target: clean-build ============================================= --> | |
1005 <target name="clean-build" description="--> clean the project built files"> | |
1006 <delete includeemptydirs="true" dir="${build.dir}"/> | |
1007 </target> | |
1008 | |
1009 <!-- target: clean-dist ============================================= --> | |
1010 <target name="clean-dist" description="--> clean the project dist files"> | |
1011 <delete includeemptydirs="true" dir="${dist.dir}"/> | |
1012 </target> | |
1013 | |
1014 <!-- target: clean-cache ============================================= --> | |
1015 <target name="clean-cache" depends="" | |
1016 description="--> delete ivy cache"> | |
1017 <ivy:cleancache /> | |
1018 </target> | |
1019 | |
1020 <target name="clean-runtime" description="--> clean the project runtime area"> | |
1021 <delete includeemptydirs="true" dir="${runtime.dir}"/> | |
1022 </target> | |
1023 | |
1024 <!-- ================================================================== --> | |
1025 <!-- RAT targets --> | |
1026 <!-- ================================================================== --> | |
1027 <target name="rat-sources-typedef" description="--> run RAT antlib task"> | |
1028 <typedef resource="org/apache/rat/anttasks/antlib.xml" > | |
1029 <classpath> | |
1030 <fileset dir="." includes="rat*.jar"/> | |
1031 </classpath> | |
1032 </typedef> | |
1033 </target> | |
1034 | |
1035 <target name="rat-sources" depends="rat-sources-typedef" | |
1036 description="--> runs RAT tasks over src/java"> | |
1037 <rat:report xmlns:rat="antlib:org.apache.rat.anttasks"> | |
1038 <fileset dir="src"> | |
1039 <include name="java/**/*"/> | |
1040 <include name="plugin/**/src/**/*"/> | |
1041 </fileset> | |
1042 </rat:report> | |
1043 </target> | |
1044 | |
1045 | |
1046 <!-- ================================================================== --> | |
1047 <!-- Eclipse targets --> | |
1048 <!-- ================================================================== --> | |
1049 | |
1050 <!-- classpath for generating eclipse project --> | |
1051 <path id="eclipse.classpath"> | |
1052 <fileset dir="${build.lib.dir}"> | |
1053 <include name="*.jar" /> | |
1054 <exclude name="ant-eclipse-1.0-jvm1.2.jar" /> | |
1055 </fileset> | |
1056 <fileset dir="${build.plugins}"> | |
1057 <include name="**/*.jar" /> | |
1058 </fileset> | |
1059 <fileset dir="${test.build.lib.dir}"> | |
1060 <include name="*.jar" /> | |
1061 </fileset> | |
1062 </path> | |
1063 | |
1064 <!-- target: ant-eclipse-download =================================== --> | |
1065 <target name="ant-eclipse-download" description="--> downloads the ant-eclipse binary."> | |
1066 <get src="https://downloads.sourceforge.net/project/ant-eclipse/ant-eclipse/1.0/ant-eclipse-1.0.bin.tar.bz2" | |
1067 dest="${build.dir}/ant-eclipse-1.0.bin.tar.bz2" usetimestamp="false" /> | |
1068 | |
1069 <untar src="${build.dir}/ant-eclipse-1.0.bin.tar.bz2" | |
1070 dest="${build.dir}" compression="bzip2"> | |
1071 <patternset> | |
1072 <include name="lib/ant-eclipse-1.0-jvm1.2.jar"/> | |
1073 </patternset> | |
1074 </untar> | |
1075 | |
1076 <delete file="${build.dir}/ant-eclipse-1.0.bin.tar.bz2" /> | |
1077 </target> | |
1078 | |
1079 <!-- target: eclipse ================================================ --> | |
1080 <target name="eclipse" | |
1081 depends="clean-eclipse,init,resolve-test,job,ant-eclipse-download" | |
1082 description="--> create eclipse project files"> | |
1083 | |
1084 <pathconvert property="eclipse.project"> | |
1085 <path path="${basedir}"/> | |
1086 <regexpmapper from="^.*/([^/]+)$$" to="\1" handledirsep="yes"/> | |
1087 </pathconvert> | |
1088 | |
1089 <taskdef name="eclipse" | |
1090 classname="prantl.ant.eclipse.EclipseTask" | |
1091 classpath="${build.dir}/lib/ant-eclipse-1.0-jvm1.2.jar" /> | |
1092 <eclipse updatealways="true"> | |
1093 <project name="${eclipse.project}" /> | |
1094 <classpath> | |
1095 <library path="${conf.dir}" exported="false" /> | |
1096 <library path="${basedir}/src/bin" exported="false" /> | |
1097 <library pathref="eclipse.classpath" exported="false" /> | |
1098 | |
1099 <source path="${basedir}/src/java/" /> | |
1100 <source path="${basedir}/src/test/" output="build/test/classes" /> | |
1101 | |
1102 <source path="${plugins.dir}/any23/src/java/" /> | |
1103 <source path="${plugins.dir}/any23/src/test/" /> | |
1104 <source path="${plugins.dir}/creativecommons/src/java/" /> | |
1105 <source path="${plugins.dir}/creativecommons/src/test/" /> | |
1106 <source path="${plugins.dir}/feed/src/java/" /> | |
1107 <source path="${plugins.dir}/feed/src/test/" /> | |
1108 <source path="${plugins.dir}/headings/src/java/" /> | |
1109 <source path="${plugins.dir}/headings/src/test/" /> | |
1110 <source path="${plugins.dir}/exchange-jexl/src/java/" /> | |
1111 <source path="${plugins.dir}/index-anchor/src/java/" /> | |
1112 <source path="${plugins.dir}/index-anchor/src/test/" /> | |
1113 <source path="${plugins.dir}/index-basic/src/java/" /> | |
1114 <source path="${plugins.dir}/index-basic/src/test/" /> | |
1115 <source path="${plugins.dir}/index-geoip/src/java/" /> | |
1116 <source path="${plugins.dir}/index-jexl-filter/src/java/" /> | |
1117 <source path="${plugins.dir}/index-jexl-filter/src/test/" /> | |
1118 <source path="${plugins.dir}/index-links/src/java/" /> | |
1119 <source path="${plugins.dir}/index-links/src/test/" /> | |
1120 <source path="${plugins.dir}/index-metadata/src/java/" /> | |
1121 <source path="${plugins.dir}/index-more/src/java/" /> | |
1122 <source path="${plugins.dir}/index-more/src/test/" /> | |
1123 <source path="${plugins.dir}/index-replace/src/java/" /> | |
1124 <source path="${plugins.dir}/index-replace/src/test/" /> | |
1125 <source path="${plugins.dir}/index-static/src/java/" /> | |
1126 <source path="${plugins.dir}/index-static/src/test/" /> | |
1127 <source path="${plugins.dir}/indexer-cloudsearch/src/java/" /> | |
1128 <source path="${plugins.dir}/indexer-csv/src/java"/> | |
1129 <source path="${plugins.dir}/indexer-csv/src/test"/> | |
1130 <source path="${plugins.dir}/indexer-dummy/src/java/" /> | |
1131 <source path="${plugins.dir}/indexer-elastic-rest/src/java/"/> | |
1132 <source path="${plugins.dir}/indexer-elastic/src/java/" /> | |
1133 <source path="${plugins.dir}/indexer-kafka/src/java/" /> | |
1134 <source path="${plugins.dir}/indexer-rabbit/src/java/" /> | |
1135 <source path="${plugins.dir}/indexer-solr/src/java/" /> | |
1136 <source path="${plugins.dir}/language-identifier/src/java/" /> | |
1137 <source path="${plugins.dir}/language-identifier/src/test/" /> | |
1138 <source path="${plugins.dir}/lib-htmlunit/src/java/" /> | |
1139 <source path="${plugins.dir}/lib-http/src/java/" /> | |
1140 <source path="${plugins.dir}/lib-http/src/test/" /> | |
1141 <source path="${plugins.dir}/lib-rabbitmq/src/java/" /> | |
1142 <source path="${plugins.dir}/lib-regex-filter/src/java/" /> | |
1143 <source path="${plugins.dir}/lib-regex-filter/src/test/" /> | |
1144 <source path="${plugins.dir}/lib-selenium/src/java/" /> | |
1145 <source path="${plugins.dir}/microformats-reltag/src/java/" /> | |
1146 <source path="${plugins.dir}/mimetype-filter/src/java/" /> | |
1147 <source path="${plugins.dir}/mimetype-filter/src/test/" /> | |
1148 <source path="${plugins.dir}/parse-ext/src/java/" /> | |
1149 <source path="${plugins.dir}/parse-ext/src/test/" /> | |
1150 <source path="${plugins.dir}/parse-html/src/java/" /> | |
1151 <source path="${plugins.dir}/parse-html/src/test/" /> | |
1152 <source path="${plugins.dir}/parse-js/src/java/" /> | |
1153 <source path="${plugins.dir}/parse-js/src/test/" /> | |
1154 <source path="${plugins.dir}/parse-metatags/src/java/" /> | |
1155 <source path="${plugins.dir}/parse-metatags/src/test/" /> | |
1156 <source path="${plugins.dir}/parse-swf/src/java/" /> | |
1157 <source path="${plugins.dir}/parse-swf/src/test/" /> | |
1158 <source path="${plugins.dir}/parse-tika/src/java/" /> | |
1159 <source path="${plugins.dir}/parse-tika/src/test/" /> | |
1160 <source path="${plugins.dir}/parse-zip/src/java/" /> | |
1161 <source path="${plugins.dir}/parse-zip/src/test/" /> | |
1162 <source path="${plugins.dir}/parsefilter-naivebayes/src/java/" /> | |
1163 <source path="${plugins.dir}/parsefilter-regex/src/java/" /> | |
1164 <source path="${plugins.dir}/parsefilter-regex/src/test/" /> | |
1165 <source path="${plugins.dir}/protocol-file/src/java/" /> | |
1166 <source path="${plugins.dir}/protocol-file/src/test/" /> | |
1167 <source path="${plugins.dir}/protocol-ftp/src/java/" /> | |
1168 <source path="${plugins.dir}/protocol-htmlunit/src/java/" /> | |
1169 <source path="${plugins.dir}/protocol-http/src/java/" /> | |
1170 <source path="${plugins.dir}/protocol-http/src/test/" /> | |
1171 <source path="${plugins.dir}/protocol-httpclient/src/java/" /> | |
1172 <source path="${plugins.dir}/protocol-httpclient/src/test/" /> | |
1173 <source path="${plugins.dir}/protocol-interactiveselenium/src/java/" /> | |
1174 <source path="${plugins.dir}/protocol-okhttp/src/java/" /> | |
1175 <source path="${plugins.dir}/protocol-okhttp/src/test/" /> | |
1176 <source path="${plugins.dir}/protocol-selenium/src/java"/> | |
1177 <source path="${plugins.dir}/publish-rabbitmq/src/java"/> | |
1178 <source path="${plugins.dir}/scoring-adaptive/src/java"/> | |
1179 <source path="${plugins.dir}/scoring-depth/src/java/" /> | |
1180 <source path="${plugins.dir}/scoring-link/src/java/" /> | |
1181 <source path="${plugins.dir}/scoring-opic/src/java/" /> | |
1182 <source path="${plugins.dir}/scoring-orphan/src/java"/> | |
1183 <source path="${plugins.dir}/scoring-orphan/src/test"/> | |
1184 <source path="${plugins.dir}/scoring-similarity/src/java/" /> | |
1185 <source path="${plugins.dir}/subcollection/src/java/" /> | |
1186 <source path="${plugins.dir}/subcollection/src/test/" /> | |
1187 <source path="${plugins.dir}/tld/src/java/" /> | |
1188 <source path="${plugins.dir}/urlfilter-automaton/src/java/" /> | |
1189 <source path="${plugins.dir}/urlfilter-automaton/src/test/" /> | |
1190 <source path="${plugins.dir}/urlfilter-domain/src/java/" /> | |
1191 <source path="${plugins.dir}/urlfilter-domain/src/test/" /> | |
1192 <source path="${plugins.dir}/urlfilter-domainblacklist/src/java/" /> | |
1193 <source path="${plugins.dir}/urlfilter-domainblacklist/src/test/" /> | |
1194 <source path="${plugins.dir}/urlfilter-fast/src/java/"/> | |
1195 <source path="${plugins.dir}/urlfilter-fast/src/test/"/> | |
1196 <source path="${plugins.dir}/urlfilter-ignoreexempt/src/java/" /> | |
1197 <source path="${plugins.dir}/urlfilter-prefix/src/java/" /> | |
1198 <source path="${plugins.dir}/urlfilter-prefix/src/test/" /> | |
1199 <source path="${plugins.dir}/urlfilter-regex/src/java/" /> | |
1200 <source path="${plugins.dir}/urlfilter-regex/src/test/" /> | |
1201 <source path="${plugins.dir}/urlfilter-suffix/src/java/" /> | |
1202 <source path="${plugins.dir}/urlfilter-suffix/src/test/" /> | |
1203 <source path="${plugins.dir}/urlfilter-validator/src/java/" /> | |
1204 <source path="${plugins.dir}/urlfilter-validator/src/test/" /> | |
1205 <source path="${plugins.dir}/urlmeta/src/java/" /> | |
1206 <source path="${plugins.dir}/urlnormalizer-ajax/src/java/" /> | |
1207 <source path="${plugins.dir}/urlnormalizer-ajax/src/test/" /> | |
1208 <source path="${plugins.dir}/urlnormalizer-basic/src/java/" /> | |
1209 <source path="${plugins.dir}/urlnormalizer-basic/src/test/" /> | |
1210 <source path="${plugins.dir}/urlnormalizer-host/src/java/" /> | |
1211 <source path="${plugins.dir}/urlnormalizer-host/src/test/" /> | |
1212 <source path="${plugins.dir}/urlnormalizer-pass/src/java/" /> | |
1213 <source path="${plugins.dir}/urlnormalizer-pass/src/test/" /> | |
1214 <source path="${plugins.dir}/urlnormalizer-protocol/src/java/" /> | |
1215 <source path="${plugins.dir}/urlnormalizer-protocol/src/test/" /> | |
1216 <source path="${plugins.dir}/urlnormalizer-querystring/src/java/" /> | |
1217 <source path="${plugins.dir}/urlnormalizer-querystring/src/test/" /> | |
1218 <source path="${plugins.dir}/urlnormalizer-regex/src/java/" /> | |
1219 <source path="${plugins.dir}/urlnormalizer-regex/src/test/" /> | |
1220 <source path="${plugins.dir}/urlnormalizer-slash/src/java/" /> | |
1221 <source path="${plugins.dir}/urlnormalizer-slash/src/test/" /> | |
1222 | |
1223 <output path="${build.classes}" /> | |
1224 </classpath> | |
1225 </eclipse> | |
1226 </target> | |
1227 | |
1228 </project> |