<?xml version="1.0"?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<project name="${name}" default="runtime" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:artifact="antlib:org.apache.maven.artifact.ant">

 <!-- Load all the default properties, and any the user wants -->
 <!-- to contribute (without having to type -D or edit this file -->
 <property file="${user.home}/build.properties" />
 <property file="${basedir}/build.properties" />
 <property file="${basedir}/default.properties" />
 <property name="test.junit.output.format" value="plain" />
 <property name="release.dir" value="${build.dir}/release" />

 <!-- define Maven coordinates, repository url and artifacts name etc -->
 <property name="groupId" value="org.apache.nutch" />
 <property name="artifactId" value="nutch" />
 <property name="maven-repository-url" value="https://repository.apache.org/service/local/staging/deploy/maven2" />
 <property name="maven-repository-id" value="apache.releases.https" />
 <property name="maven-jar" value="${release.dir}/${artifactId}-${version}.jar" />
 <property name="maven-javadoc-jar" value="${release.dir}/${artifactId}-${version}-javadoc.jar" />
 <property name="maven-sources-jar" value="${release.dir}/${artifactId}-${version}-sources.jar" />


 <!-- the normal classpath -->
 <path id="classpath">
  <pathelement location="${build.classes}" />
  <fileset dir="${build.lib.dir}">
   <include name="*.jar" />
  </fileset>
 </path>

 <presetdef name="javac">
   <javac includeantruntime="false" />
 </presetdef>

 <!-- the unit test classpath -->
 <dirname property="plugins.classpath.dir" file="${build.plugins}" />
 <path id="test.classpath">
  <pathelement location="${test.build.classes}" />
  <pathelement location="${conf.dir}" />
  <pathelement location="${test.src.dir}" />
  <pathelement location="${plugins.classpath.dir}" />
  <path refid="classpath" />
  <pathelement location="${build.dir}/${final.name}.job" />
  <fileset dir="${build.lib.dir}">
   <include name="*.jar" />
  </fileset>
 </path>

 <!-- ====================================================== -->
 <!-- Forbidden APIs Targets -->
 <!-- ====================================================== -->

 <!-- will be used by forbiddenapis -->
 <path id="all-lib-classpath">
   <fileset dir="${build.lib.dir}">
     <include name="**/*.jar" />
   </fileset>
   <fileset dir="${runtime.dir}/local/lib">
     <include name="**/*.jar" />
   </fileset>
   <fileset dir="${runtime.dir}/local/plugins">
     <include name="**/*.jar" />
   </fileset>
 </path>

 <!-- forbiddenapis target -->
 <target name="precommit" depends="runtime, test">
   <!-- forbiddenapis task definition -->
   <taskdef name="forbiddenapis" classname="de.thetaphi.forbiddenapis.ant.AntTask" classpath="${build.lib.dir}/forbiddenapis-2.2.jar"/>

   <forbiddenapis classpathref="all-lib-classpath" dir="${build.dir}" targetVersion="${javac.version}">
     <bundledsignatures name="jdk-unsafe"/>
     <bundledsignatures name="jdk-deprecated"/>
     <bundledsignatures name="jdk-non-portable"/>
   </forbiddenapis>
 </target>

 <!-- ====================================================== -->
 <!-- Stuff needed by all targets -->
 <!-- ====================================================== -->
 <target name="init" depends="ivy-init" description="--> stuff required by all targets">
  <mkdir dir="${build.dir}" />
  <mkdir dir="${build.lib.dir}" />
  <mkdir dir="${build.classes}" />
  <mkdir dir="${release.dir}" />

  <mkdir dir="${test.build.dir}" />
  <mkdir dir="${test.build.classes}" />

  <touch datetime="01/25/1971 2:00 pm">
   <fileset dir="${conf.dir}" includes="**/*.template" />
  </touch>

  <copy todir="${conf.dir}" verbose="true">
   <fileset dir="${conf.dir}" includes="**/*.template" />
   <mapper type="glob" from="*.template" to="*" />
  </copy>
 </target>

 <!-- ====================================================== -->
 <!-- Compile the Java files -->
 <!-- ====================================================== -->
 <target name="compile" depends="compile-core, compile-plugins" description="--> compile all Java files"/>

 <target name="compile-core" depends="init, resolve-default" description="--> compile core Java files only">
  <javac 
  	encoding="${build.encoding}" 
  	srcdir="${src.dir}"
    includes="org/apache/nutch/**/*.java" 
  	destdir="${build.classes}"
    debug="${javac.debug}" 
  	optimize="${javac.optimize}" 
  	target="${javac.version}"
    source="${javac.version}" 
  	deprecation="${javac.deprecation}">
   <compilerarg value="-Xlint:-path"/>
   <classpath refid="classpath" />
  </javac>
  <copy todir="${build.classes}">
   <fileset dir="${src.dir}" includes="**/*.html" />
   <fileset dir="${src.dir}" includes="**/*.css" />
   <fileset dir="${src.dir}" includes="**/*.properties" />
  </copy>
 </target>

 <target name="compile-plugins" depends="init, resolve-default" description="--> compile plugins only">
  <ant dir="src/plugin" target="deploy" inheritAll="false" />
 </target>

 <!-- ================================================================== -->
 <!-- Make nutch.jar -->
 <!-- ================================================================== -->
 <!-- -->
 <!-- ================================================================== -->
 <target name="jar" depends="compile-core" description="--> make nutch.jar">
  <copy file="${conf.dir}/nutch-default.xml" todir="${build.classes}" />
  <copy file="${conf.dir}/nutch-site.xml" todir="${build.classes}" />
  <jar jarfile="${build.dir}/${final.name}.jar" basedir="${build.classes}">
   <manifest>
   </manifest>
  </jar>
 </target>

 <!-- ================================================================== -->
 <!-- Make Maven Central Release -->
 <!-- ================================================================== -->
 <!-- -->
 <!-- ================================================================== -->
 <target name="release" depends="compile-core"
  description="--> generate the release distribution">
  <copy file="${conf.dir}/nutch-default.xml" todir="${build.classes}" />
  <copy file="${conf.dir}/nutch-site.xml" todir="${build.classes}" />

  <!-- build the main artifact -->
  <jar jarfile="${maven-jar}" basedir="${build.classes}" />

  <fail message="Unsupported Java version: ${java.version}. Javadoc requires Java version 7u25 or greater. See https://issues.apache.org/jira/browse/NUTCH-1590">
    <condition>
      <or>
        <matches string="${java.version}" pattern="1.7.0_2[01234].+" casesensitive="false" /> 
        <matches string="${java.version}" pattern="1.7.0_1.+" casesensitive="false" /> 
        <equals arg1="${ant.java.version}" arg2="1.6" />
        <equals arg1="${ant.java.version}" arg2="1.5" /> 
      </or>
    </condition>
  </fail>

  <!-- build the javadoc artifact -->
  <javadoc 
  	destdir="${release.dir}/javadoc" 
  	overview="${src.dir}/overview.html"
    author="true" 
  	version="true" 
  	use="true" 
  	windowtitle="${name} ${version} API"
    doctitle="${name} ${version} API"
    bottom="Copyright &amp;copy; ${year} The Apache Software Foundation">
   <arg value="${javadoc.proxy.host}" />
   <arg value="${javadoc.proxy.port}" />

   <packageset dir="${src.dir}"/>
      <packageset dir="${plugins.dir}/creativecommons/src/java"/>
      <!--packageset dir="${plugins.dir}/feed/src/java"/-->
      <packageset dir="${plugins.dir}/index-anchor/src/java"/>
      <packageset dir="${plugins.dir}/index-basic/src/java"/>
      <packageset dir="${plugins.dir}/index-html/src/java"/>
      <packageset dir="${plugins.dir}/index-metadata/src/java"/>
      <packageset dir="${plugins.dir}/index-more/src/java"/>
      <packageset dir="${plugins.dir}/indexer-elastic/src/java"/>
      <packageset dir="${plugins.dir}/indexer-hbase/src/java"/>
      <packageset dir="${plugins.dir}/indexer-solr/src/java"/>
      <packageset dir="${plugins.dir}/jsoup-extractor/src/java"/>
      <packageset dir="${plugins.dir}/jsoup-extractor/src/test"/>
      <packageset dir="${plugins.dir}/language-identifier/src/java"/>
      <packageset dir="${plugins.dir}/lib-http/src/java"/>
      <packageset dir="${plugins.dir}/lib-regex-filter/src/java"/>
      <packageset dir="${plugins.dir}/microformats-reltag/src/java"/>
      <!--packageset dir="${plugins.dir}/parse-ext/src/java"/-->
      <packageset dir="${plugins.dir}/parse-html/src/java"/>
      <packageset dir="${plugins.dir}/parse-metatags/src/java"/>
      <packageset dir="${plugins.dir}/parse-js/src/java"/>
      <!--packageset dir="${plugins.dir}/parse-swf/src/java"/-->
      <packageset dir="${plugins.dir}/parse-tika/src/java"/>
      <!--packageset dir="${plugins.dir}/parse-zip/src/java"/-->
      <packageset dir="${plugins.dir}/protocol-file/src/java"/>
      <packageset dir="${plugins.dir}/protocol-ftp/src/java"/>
      <packageset dir="${plugins.dir}/protocol-http/src/java"/>
      <packageset dir="${plugins.dir}/protocol-httpclient/src/java"/>
      <packageset dir="${plugins.dir}/protocol-sftp/src/java"/>
      <packageset dir="${plugins.dir}/scoring-link/src/java"/>
      <packageset dir="${plugins.dir}/scoring-opic/src/java"/>
      <packageset dir="${plugins.dir}/subcollection/src/java"/>
      <packageset dir="${plugins.dir}/tld/src/java"/>
      <packageset dir="${plugins.dir}/urlfilter-automaton/src/java"/>
      <packageset dir="${plugins.dir}/urlfilter-domain/src/java"/>
      <packageset dir="${plugins.dir}/urlfilter-prefix/src/java"/>
      <packageset dir="${plugins.dir}/urlfilter-regex/src/java"/>
      <packageset dir="${plugins.dir}/urlfilter-suffix/src/java"/>
      <packageset dir="${plugins.dir}/urlfilter-validator/src/java"/>
      <packageset dir="${plugins.dir}/urlnormalizer-basic/src/java"/>
      <packageset dir="${plugins.dir}/urlnormalizer-pass/src/java"/>
      <packageset dir="${plugins.dir}/urlnormalizer-regex/src/java"/>

   <link href="${javadoc.link.java}" />
   <link href="${javadoc.link.lucene}" />
   <link href="${javadoc.link.hadoop}" />

   <classpath refid="classpath" />
   <classpath>
    <fileset dir="${plugins.dir}">
     <include name="**/*.jar" />
    </fileset>
   </classpath>

   <group title="Core" packages="org.apache.nutch.*" />
   <group title="Plugins API" packages="${plugins.api}" />
   <group title="Protocol Plugins" packages="${plugins.protocol}" />
   <group title="URL Filter Plugins" packages="${plugins.urlfilter}" />
   <group title="URL Normalizer Plugins" packages="${plugins.urlnormalizer}"/>
   <group title="Scoring Plugins" packages="${plugins.scoring}" />
   <group title="Parse Plugins" packages="${plugins.parse}" />
   <group title="Parse Filter Plugins" packages="${plugins.parsefilter}"/>
   <group title="Indexing Filter Plugins" packages="${plugins.index}" />
   <group title="Indexer Plugins" packages="${plugins.indexer}"/>
   <group title="Misc. Plugins" packages="${plugins.misc}" />
  </javadoc>
  <jar jarfile="${maven-javadoc-jar}">
   <fileset dir="${release.dir}/javadoc" />
  </jar>

  <!-- build the sources artifact -->
  <jar jarfile="${maven-sources-jar}">
   <fileset dir="${src.dir}" />
  </jar>
 </target>

 <!-- ================================================================== -->
 <!-- Deploy to Apache Nexus -->
 <!-- ================================================================== -->
 <!-- -->
 <!-- ================================================================== -->
 <target name="deploy" depends="release" description="--> deploy to Apache Nexus">

  <!-- generate a pom file -->
  <ivy:makepom ivyfile="${ivy.file}" pomfile="${basedir}/pom.xml"
   templatefile="ivy/mvn.template">
   <mapping conf="default" scope="compile" />
   <mapping conf="runtime" scope="runtime" />
  </ivy:makepom>

  <!-- sign and deploy the main artifact -->
  <artifact:mvn>
   <arg
    value="org.apache.maven.plugins:maven-gpg-plugin:1.4:sign-and-deploy-file" />
   <arg value="-Durl=${maven-repository-url}" />
   <arg value="-DrepositoryId=${maven-repository-id}" />
   <arg value="-DpomFile=pom.xml" />
   <arg value="-Dfile=${maven-jar}" />
   <arg value="-Papache-release" />
  </artifact:mvn>

  <!-- sign and deploy the sources artifact -->
  <artifact:mvn>
   <arg value="org.apache.maven.plugins:maven-gpg-plugin:1.4:sign-and-deploy-file" />
   <arg value="-Durl=${maven-repository-url}" />
   <arg value="-DrepositoryId=${maven-repository-id}" />
   <arg value="-DpomFile=pom.xml" />
   <arg value="-Dfile=${maven-sources-jar}" />
   <arg value="-Dclassifier=sources" />
   <arg value="-Papache-release" />
  </artifact:mvn>

  <!-- sign and deploy the javadoc artifact -->
  <artifact:mvn>
   <arg value="org.apache.maven.plugins:maven-gpg-plugin:1.4:sign-and-deploy-file" />
   <arg value="-Durl=${maven-repository-url}" />
   <arg value="-DrepositoryId=${maven-repository-id}" />
   <arg value="-DpomFile=pom.xml" />
   <arg value="-Dfile=${maven-javadoc-jar}" />
   <arg value="-Dclassifier=javadoc" />
   <arg value="-Papache-release" />
  </artifact:mvn>
 </target>

    <!-- ================================================================== -->
    <!-- Generate REST API Documentation with Miredot                       -->
    <!-- ================================================================== -->
 <target name="restdocs" description="--> generate REST API Documentation with Miredot">

    <!-- generate a pom file -->
   <ivy:makepom ivyfile="${ivy.file}" pomfile="${basedir}/pom.xml" templatefile="ivy/mvn.template">
     <mapping conf="default" scope="compile"/>
     <mapping conf="runtime" scope="runtime"/>
   </ivy:makepom>

   <!--artifact:dependencies pathId="dependency.classpath">
     <dependency groupId="log4j" artifactId="log4j" version="1.2.15" >
       <exclusion groupId="javax.jms" artifactId="jms" />
       <exclusion groupId="com.sun.jdmk" artifactId="jmxtools" />
       <exclusion groupId="com.sun.jmx" artifactId="jmxri" />
     </dependency>
   </artifact:dependencies-->

   <artifact:mvn>
    <arg value="test"/>
    <arg value="-e"/>
    <arg value="-o"/>
    <!-- run offline (-o): must not download dependencies as this is
         done from http://repo1.maven.org/ hardwired in
         maven-ant-tasks-2.1.3.jar, see NUTCH-2722.

         Dependencies and plugins need to be resolved and cached locally beforehand
         by running
           `mvn dependency:resolve`
         resp.
           `mvn dependency:resolve-plugins`
         after the pom.xml has been generated. -->
   </artifact:mvn>
 </target>

 <!-- ================================================================== -->
 <!-- Make job jar -->
 <!-- ================================================================== -->
 <!-- -->
 <!-- ================================================================== -->
 <target name="job" depends="compile" description="--> make nutch.job jar">
  <jar jarfile="${build.dir}/${final.name}.job">
   <!-- 
   If the build.classes has the nutch config files because the jar command 
   command has run, exclude them. The conf directory has them. 
   -->
   <zipfileset dir="${build.classes}" excludes="nutch-default.xml,nutch-site.xml" />
   <zipfileset dir="${conf.dir}" excludes="*.template,hadoop*.*" />
   <!-- 
   need to exclude hsqldb.jar due to a conflicting version already present 
   in Hadoop/lib. 
   -->
   <zipfileset dir="${build.lib.dir}" prefix="lib" includes="**/*.jar"
    excludes="jasper*.jar,jsp-*.jar,hadoop-*.jar,hbase*test*.jar,ant*jar,hsqldb*.jar,slf4j*.jar,log4j*.jar" />
   <zipfileset dir="${build.plugins}" prefix="classes/plugins" />
  </jar>
 </target>

 <target name="runtime" depends="jar, job" description="--> default target for running Nutch">
  <mkdir dir="${runtime.dir}" />
  <mkdir dir="${runtime.local}" />
  <mkdir dir="${runtime.deploy}" />
  <!-- deploy area -->
  <copy file="${build.dir}/${final.name}.job" todir="${runtime.deploy}" />
  <copy todir="${runtime.deploy}/bin">
   <fileset dir="src/bin" />
  </copy>
  <chmod perm="ugo+x" type="file">
   <fileset dir="${runtime.deploy}/bin" />
  </chmod>
  <!-- local area -->
  <copy file="${build.dir}/${final.name}.jar" todir="${runtime.local}/lib" />
  <copy todir="${runtime.local}/lib/native">
   <fileset dir="lib/native" />
  </copy>
  <copy todir="${runtime.local}/conf">
   <fileset dir="${conf.dir}" excludes="*.template" />
  </copy>
  <copy todir="${runtime.local}/bin">
   <fileset dir="src/bin" />
  </copy>
  <chmod perm="ugo+x" type="file">
   <fileset dir="${runtime.local}/bin" />
  </chmod>
  <copy todir="${runtime.local}/lib">
   <fileset dir="${build.dir}/lib"
    excludes="ant*.jar,jasper*.jar,jsp-*.jar,hadoop*test*.jar,hbase*test*.jar" />
  </copy>
  <copy todir="${runtime.local}/plugins">
   <fileset dir="${build.dir}/plugins" />
  </copy>
  <copy todir="${runtime.local}/test">
   <fileset dir="${build.dir}/test" />
  </copy>
 </target>

 <!-- ================================================================== -->
 <!-- Compile test code -->
 <!-- ================================================================== -->
 <target name="compile-core-test" depends="compile-core, resolve-test" description="--> compile test code">
  <javac 
  	encoding="${build.encoding}" 
  	srcdir="${test.src.dir}"
    includes="org/apache/nutch*/**/*.java" 
  	destdir="${test.build.classes}"
    debug="${javac.debug}" 
  	optimize="${javac.optimize}" 
  	target="${javac.version}"
    source="${javac.version}" 
  	deprecation="${javac.deprecation}">
   <compilerarg value="-Xlint:-path"/>
   <classpath refid="test.classpath" />
  </javac>
 </target>

 <!-- ================================================================== -->
 <!-- Run Nutch proxy -->
 <!-- ================================================================== -->

 <target name="proxy" depends="job, compile-core-test" description="--> run nutch proxy">
  <java classname="org.apache.nutch.tools.proxy.TestbedProxy" fork="true">
   <classpath refid="test.classpath" />
   <arg value="-fake" />
   <!-- 
   <arg value="-delay"/> 
   <arg value="-200"/> 
   -->
   <jvmarg line="-Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl" />
  </java>
 </target>

 <!-- ================================================================== -->
 <!-- Run Nutch benchmarking analysis -->
 <!-- ================================================================== -->

 <target name="benchmark" description="--> run nutch benchmarking analysis">
  <java classname="org.apache.nutch.tools.Benchmark" fork="true">
   <classpath refid="test.classpath" />
   <jvmarg line="-Xmx512m -Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl" />
   <arg value="-maxPerHost" />
   <arg value="10" />
   <arg value="-seeds" />
   <arg value="1" />
   <arg value="-depth" />
   <arg value="5" />
  </java>
 </target>


 <!-- ================================================================== -->
 <!-- Run unit tests -->
 <!-- ================================================================== -->
 <target name="test" depends="test-core, test-plugins" description="--> run JUnit tests"/>

 <target name="test-core" depends="job, compile-core-test" description="--> run core JUnit tests only">

  <delete dir="${test.build.data}" />
  <mkdir dir="${test.build.data}" />
  <!-- 
  copy resources needed in junit tests 
  -->
  <copy todir="${test.build.data}">
   <fileset dir="src/testresources" includes="**/*" />
  </copy>
  <copy file="${test.src.dir}/nutch-site.xml" 
  	todir="${test.build.classes}" />

  <copy file="${test.src.dir}/log4j.properties" 
  	todir="${test.build.classes}" />
  	
  <copy file="${test.src.dir}/gora.properties" 
  	todir="${test.build.classes}" />

  <copy file="${test.src.dir}/crawl-tests.xml"
        todir="${test.build.classes}"/>
        
  <copy file="${test.src.dir}/domain-urlfilter.txt"
        todir="${test.build.classes}"/>

  <copy file="${test.src.dir}/filter-all.txt"
        todir="${test.build.classes}"/>

  <junit printsummary="yes" haltonfailure="no" fork="yes" dir="${basedir}"
   errorProperty="tests.failed" failureProperty="tests.failed" maxmemory="1000m">
   <sysproperty key="test.build.data" value="${test.build.data}" />
   <sysproperty key="test.src.dir" value="${test.src.dir}" />
   <sysproperty key="javax.xml.parsers.DocumentBuilderFactory" value="com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl" />
   <classpath refid="test.classpath" />
   <formatter type="${test.junit.output.format}" />
   <batchtest todir="${test.build.dir}" unless="testcase">
    <fileset dir="${test.src.dir}" 
    	includes="**/Test*.java" excludes="**/${test.exclude}.java" />
   </batchtest>
   <batchtest todir="${test.build.dir}" if="testcase">
    <fileset dir="${test.src.dir}" includes="**/${testcase}.java" />
   </batchtest>
  </junit>

  <fail if="tests.failed">Tests failed!</fail>

 </target>

 <target name="test-plugins" depends="compile" description="--> run plugin JUnit tests only">
  <ant dir="src/plugin" target="test" inheritAll="false" />
 </target>

 <target name="nightly" depends="test, tar-src, zip-src, javadoc" description="--> run the nightly target build">
 </target>

 <!-- ================================================================== -->
 <!-- Ivy targets -->
 <!-- ================================================================== -->

 <!-- target: resolve ================================================= -->
 <target name="resolve-default" depends="clean-lib, init" description="--> resolve and retrieve dependencies with ivy">
  <ivy:resolve file="${ivy.file}" conf="default" log="download-only" />
  <ivy:retrieve pattern="${build.lib.dir}/[artifact]-[revision].[ext]" symlink="false" log="quiet" />
  <antcall target="copy-libs" />
 </target>

 <target name="resolve-test" depends="clean-lib, init" description="--> resolve and retrieve dependencies with ivy">
  <ivy:resolve file="${ivy.file}" conf="test" log="download-only" />
  <ivy:retrieve pattern="${build.lib.dir}/[artifact]-[revision].[ext]" symlink="false" log="quiet" />
  <antcall target="copy-libs" />
 </target>

 <target name="copy-libs" description="--> copy the libs in lib, which are not ivy enabled">
  <!-- copy the libs in lib, which are not ivy enabled -->
  <copy todir="${build.lib.dir}/" failonerror="false">
   <fileset dir="${lib.dir}" includes="**/*.jar" />
  </copy>
 </target>

 <!-- target: publish-local =========================================== -->
 <target name="publish-local" depends="jar" description="--> publish this project in the local ivy repository">
  <ivy:publish artifactspattern="${build.dir}/[artifact]-${version}.[ext]"
    resolver="local" 
  	pubrevision="${version}" 
  	pubdate="${now}" 
  	status="integration"
    forcedeliver="true" overwrite="true" />
  <echo message="project ${ant.project.name} published locally with version ${version}" />
 </target>

 <!-- target: report ================================================== -->
 <target name="report" depends="resolve-test" description="--> generates a report of dependencies">
  <ivy:report todir="${build.dir}" />
 </target>

 <!-- target: ivy-init ================================================ -->
 <target name="ivy-init" depends="ivy-probe-antlib, ivy-init-antlib" description="--> initialise Ivy settings">
  <ivy:settings file="${ivy.dir}/ivysettings.xml" />
 </target>

 <!-- target: ivy-probe-antlib ======================================== -->
 <target name="ivy-probe-antlib" description="--> probe the antlib library">
  <condition property="ivy.found">
   <typefound uri="antlib:org.apache.ivy.ant" name="cleancache" />
  </condition>
 </target>

 <!-- target: ivy-download ============================================ -->
 <target name="ivy-download" description="--> download ivy">
  <available file="${ivy.jar}" property="ivy.jar.found" />
  <antcall target="ivy-download-unchecked" />
 </target>

 <!-- target: ivy-download-unchecked ================================== -->
 <target name="ivy-download-unchecked" unless="ivy.jar.found" description="--> fetch any ivy file">
  <get src="${ivy.repo.url}" dest="${ivy.jar}" usetimestamp="true" />
 </target>

 <!-- target: ivy-init-antlib ========================================= -->
 <target name="ivy-init-antlib" depends="ivy-download" unless="ivy.found" description="--> attempt to use Ivy with Antlib">
  <typedef uri="antlib:org.apache.ivy.ant" onerror="fail"
   loaderRef="ivyLoader">
   <classpath>
    <pathelement location="${ivy.jar}" />
   </classpath>
  </typedef>
  <fail>
   <condition>
    <not>
     <typefound uri="antlib:org.apache.ivy.ant" name="cleancache" />
    </not>
   </condition>
   You need Apache Ivy 2.0 or later from http://ant.apache.org/
   It could not be loaded from ${ivy.repo.url}
  </fail>
 </target>
	
  <!-- Check dependencies for security vulnerabilities                                    -->
  <!-- requires installation of OWASP dependency check tool, see                          -->
  <!--   https://jeremylong.github.io/DependencyCheck/dependency-check-ant/index.html     -->
  <!-- get http://dl.bintray.com/jeremy-long/owasp/dependency-check-ant-3.3.2-release.zip -->
  <!-- and unzip in directory ./ivy/                                                      -->
  <property name="dependency-check.home" value="${ivy.dir}/dependency-check-ant/"/>
  <path id="dependency-check.path">
    <pathelement location="${dependency-check.home}/dependency-check-ant.jar"/>
    <fileset dir="${dependency-check.home}/lib" erroronmissingdir="false">
      <include name="*.jar"/>
    </fileset>
  </path>
  <taskdef resource="dependency-check-taskdefs.properties" onerror="ignore">
    <classpath refid="dependency-check.path" />
  </taskdef>
  <target name="report-vulnerabilities" description="--> check dependencies for security vulnerabilities">
    <dependency-check projectname="${name}"
                      reportoutputdirectory="${build.dir}"
                      reportformat="ALL">
        <suppressionfile path="${dependency-check.home}/dependency-check-suppressions.xml" />
        <retirejsFilter regex="copyright.*jeremy long" />
        <fileset dir="${build.dir}">
          <include name="lib/*.jar"/>
          <include name="plugins/*/*.jar"/>
        </fileset>
    </dependency-check>
  </target>


  <target name="compile-avro-schema" depends="resolve-default" description="--> compile the avro schema(s) in src/gora/*.avsc">
    <typedef name="schema" 
  	         classname="org.apache.avro.specific.SchemaTask"
  	         classpathref="classpath" />
    
  	<mkdir dir="${build.gora}" />
  	<schema destdir="${build.gora}">
  	  <fileset dir="./src/gora">
  	    <include name="**/*.avsc"/>
  	  </fileset>
  	</schema>
  	
	</target>

   <!-- ====================================================== -->
  <!-- Generate the Java files from the GORA schemas          -->
  <!-- Will call this automatically later                     -->
  <!-- ====================================================== -->
  <target name="generate-gora-src" depends="init" description="--> compile the avro schema(s) in src/gora/*.avsc">
    <java classname="org.apache.gora.compiler.cli.GoraCompilerCLI">
     <classpath refid="classpath"/>
     <arg value="src/gora/webpage.avsc"/>
     <!--arg value="src/gora/host.avsc"/-->
     <arg value="${src.dir}"/>
    </java>
 </target>

 <!-- ================================================================== -->
 <!-- Documentation -->
 <!-- ================================================================== -->
 <target name="javadoc" depends="compile" description="--> generate Javadoc">
   <fail message="Unsupported Java version: ${java.version}. Javadoc requires Java version 7u25 or greater. See https://issues.apache.org/jira/browse/NUTCH-1590">
      <condition>
          <or>
        	<matches string="${java.version}" pattern="1.7.0_2[01234].+" casesensitive="false" /> 
			<matches string="${java.version}" pattern="1.7.0_1.+" casesensitive="false" /> 
            <equals arg1="${ant.java.version}" arg2="1.6" />
			<equals arg1="${ant.java.version}" arg2="1.5" /> 
          </or>
      </condition>
   </fail>
  <mkdir dir="${build.javadoc}" />
  <javadoc 
  	overview="${src.dir}/overview.html" 
  	destdir="${build.javadoc}"
    author="true" 
  	version="true" 
  	use="true" 
  	windowtitle="${name} ${version} API"
    doctitle="${name} ${version} API"
    bottom="Copyright &amp;copy; ${year} The Apache Software Foundation">
   <arg value="${javadoc.proxy.host}" />
   <arg value="${javadoc.proxy.port}" />

   <packageset dir="${src.dir}"/>
      <packageset dir="${plugins.dir}/creativecommons/src/java"/>
      <!--packageset dir="${plugins.dir}/feed/src/java"/-->
      <packageset dir="${plugins.dir}/index-anchor/src/java"/>
      <packageset dir="${plugins.dir}/index-basic/src/java"/>
      <packageset dir="${plugins.dir}/index-html/src/java"/>
      <packageset dir="${plugins.dir}/index-metadata/src/java"/>
      <packageset dir="${plugins.dir}/index-more/src/java"/>
      <!--<packageset dir="${plugins.dir}/indexer-elastic/src/java"/>-->
      <packageset dir="${plugins.dir}/indexer-elastic2/src/java"/>
      <packageset dir="${plugins.dir}/indexer-hbase/src/java"/>
      <packageset dir="${plugins.dir}/indexer-solr/src/java"/>
      <packageset dir="${plugins.dir}/jsoup-extractor/src/java"/>
      <packageset dir="${plugins.dir}/language-identifier/src/java"/>
      <packageset dir="${plugins.dir}/lib-http/src/java"/>
      <packageset dir="${plugins.dir}/lib-regex-filter/src/java"/>
      <packageset dir="${plugins.dir}/microformats-reltag/src/java"/>
      <!--packageset dir="${plugins.dir}/parse-ext/src/java"/-->
      <packageset dir="${plugins.dir}/parse-html/src/java"/>
      <packageset dir="${plugins.dir}/parse-js/src/java"/>
      <packageset dir="${plugins.dir}/parse-metatags/src/java"/>
      <!--packageset dir="${plugins.dir}/parse-swf/src/java"/-->
      <packageset dir="${plugins.dir}/parse-tika/src/java"/>
      <!--packageset dir="${plugins.dir}/parse-zip/src/java"/-->
      <packageset dir="${plugins.dir}/protocol-file/src/java"/>
      <packageset dir="${plugins.dir}/protocol-ftp/src/java"/>
      <packageset dir="${plugins.dir}/protocol-http/src/java"/>
      <packageset dir="${plugins.dir}/protocol-httpclient/src/java"/>
      <packageset dir="${plugins.dir}/protocol-sftp/src/java"/>
      <packageset dir="${plugins.dir}/scoring-link/src/java"/>
      <packageset dir="${plugins.dir}/scoring-opic/src/java"/>
      <packageset dir="${plugins.dir}/subcollection/src/java"/>
      <packageset dir="${plugins.dir}/tld/src/java"/>
      <packageset dir="${plugins.dir}/urlfilter-automaton/src/java"/>
      <packageset dir="${plugins.dir}/urlfilter-domain/src/java"/>
      <packageset dir="${plugins.dir}/urlfilter-prefix/src/java"/>
      <packageset dir="${plugins.dir}/urlfilter-regex/src/java"/>
      <packageset dir="${plugins.dir}/urlfilter-suffix/src/java"/>
      <packageset dir="${plugins.dir}/urlfilter-validator/src/java"/>
      <packageset dir="${plugins.dir}/urlnormalizer-basic/src/java"/>
      <packageset dir="${plugins.dir}/urlnormalizer-pass/src/java"/>
      <packageset dir="${plugins.dir}/urlnormalizer-regex/src/java"/>

   <link href="${javadoc.link.java}" />
   <link href="${javadoc.link.lucene.core}" />
   <link href="${javadoc.link.lucene.analyzers-common}" />
   <link href="${javadoc.link.solr-solrj}" />
   <link href="${javadoc.link.hadoop}" />

   <classpath refid="classpath" />
   <classpath>
    <fileset dir="${plugins.dir}">
     <include name="**/*.jar" />
    </fileset>
   </classpath>

   <group title="Core" packages="org.apache.nutch.*" />
   <group title="Plugins API" packages="${plugins.api}" />
   <group title="Protocol Plugins" packages="${plugins.protocol}" />
   <group title="URL Filter Plugins" packages="${plugins.urlfilter}" />
   <group title="URL Normalizer Plugins" packages="${plugins.urlnormalizer}"/>
   <group title="Scoring Plugins" packages="${plugins.scoring}" />
   <group title="Parse Plugins" packages="${plugins.parse}" />
   <group title="Parse Filter Plugins" packages="${plugins.parsefilter}"/>
   <group title="Indexing Filter Plugins" packages="${plugins.index}" />
   <group title="Indexer Plugins" packages="${plugins.indexer}"/>
   <group title="Misc. Plugins" packages="${plugins.misc}" />
  </javadoc>
  <!-- Copy the plugin.dtd file to the plugin doc-files dir -->
  <copy file="${plugins.dir}/plugin.dtd" todir="${build.javadoc}/org/apache/nutch/plugin/doc-files" />
 </target>

 <target name="default-doc" description="--> generate default Nutch documentation">
  <style basedir="${conf.dir}" destdir="${docs.dir}" 
  	includes="nutch-default.xml" style="conf/nutch-conf.xsl" />
 </target>

 <!-- ================================================================== -->
  <!-- D I S T R I B U T I O N                                            -->
  <!-- ================================================================== -->
  <!--                                                                    -->
  <!-- ================================================================== -->
  <target name="package-src" depends="runtime, javadoc" description="--> generate source distribution package">
    <mkdir dir="${dist.dir}"/>
    <mkdir dir="${src.dist.version.dir}"/>
    <mkdir dir="${src.dist.version.dir}/lib"/>
    <mkdir dir="${src.dist.version.dir}/docs"/>
    <mkdir dir="${src.dist.version.dir}/docs/api"/>
    <mkdir dir="${src.dist.version.dir}/ivy"/>

    <copy todir="${src.dist.version.dir}/lib" includeEmptyDirs="false">
      <fileset dir="lib"/>
    </copy>

    <copy todir="${src.dist.version.dir}/conf">
      <fileset dir="${conf.dir}" excludes="**/*.template"/>
    </copy>

    <copy todir="${src.dist.version.dir}/docs/api">
      <fileset dir="${build.javadoc}"/>
    </copy>

    <copy todir="${src.dist.version.dir}">
      <fileset dir=".">
        <include name="*.txt" />
        <!--<include name="KEYS" />-->
      </fileset>
    </copy>

    <copy todir="${src.dist.version.dir}/src" includeEmptyDirs="true">
      <fileset dir="src"/>
    </copy>

    <copy todir="${src.dist.version.dir}/ivy" includeEmptyDirs="true">
      <fileset dir="ivy"/>
    </copy>

    <copy todir="${src.dist.version.dir}/" file="build.xml"/>
    <copy todir="${src.dist.version.dir}/" file="default.properties"/>

  </target>

 <target name="package-bin" depends="runtime, javadoc" description="--> generate binary distribution package">
    <mkdir dir="${dist.dir}"/>
    <mkdir dir="${bin.dist.version.dir}"/>
    <mkdir dir="${bin.dist.version.dir}/lib"/>
    <mkdir dir="${bin.dist.version.dir}/bin"/>
    <mkdir dir="${bin.dist.version.dir}/conf"/>
    <mkdir dir="${bin.dist.version.dir}/docs"/>
    <mkdir dir="${bin.dist.version.dir}/docs/api"/>
    <mkdir dir="${bin.dist.version.dir}/plugins"/>

    <copy todir="${bin.dist.version.dir}/lib" includeEmptyDirs="false">
      <fileset dir="runtime/local/lib"/>
    </copy>
   
    <copy todir="${bin.dist.version.dir}/bin">
      <fileset dir="runtime/local/bin"/>
    </copy>

    <chmod perm="ugo+x" type="file">
        <fileset dir="${bin.dist.version.dir}/bin"/>
    </chmod>

    <copy todir="${bin.dist.version.dir}/conf">
      <fileset dir="runtime/local/conf" excludes="**/*.template"/>
    </copy>

    <copy todir="${bin.dist.version.dir}/docs/api">
      <fileset dir="${build.javadoc}"/>
    </copy>

    <copy todir="${bin.dist.version.dir}">
      <fileset dir=".">
        <include name="*.txt" />
      </fileset>
    </copy>

    <copy todir="${bin.dist.version.dir}/plugins" includeEmptyDirs="true">
      <fileset dir="runtime/local/plugins"/>
    </copy>

  </target>

  <!-- ================================================================== -->
  <!-- Make src-release tarball                                               -->
  <!-- ================================================================== -->
  <target name="tar-src" depends="package-src" description="--> generate src.tar.gz distribution package">
    <tar compression="gzip" longfile="gnu"
      destfile="${src.dist.version.dir}.tar.gz">
      <tarfileset dir="${src.dist.version.dir}" mode="664" prefix="${final.name}">
        <exclude name="src/bin/*" />
        <include name="**" />
      </tarfileset>
      <tarfileset dir="${src.dist.version.dir}" mode="755" prefix="${final.name}">
        <include name="src/bin/*" />
      </tarfileset>
    </tar>
  </target>
  
  <!-- ================================================================== -->
  <!-- Make bin release tarball                                               -->
  <!-- ================================================================== -->
  <target name="tar-bin" depends="package-bin" description="--> generate bin.tar.gz distribution package">
    <tar compression="gzip" longfile="gnu"
      destfile="${bin.dist.version.dir}.tar.gz">
      <tarfileset dir="${bin.dist.version.dir}" mode="664" prefix="${final.name}">
        <exclude name="bin/*" />
        <include name="**" />
      </tarfileset>
      <tarfileset dir="${bin.dist.version.dir}" mode="755" prefix="${final.name}">
        <include name="bin/*" />
      </tarfileset>
    </tar>
  </target>

  <!-- ================================================================== -->
  <!-- Make src release zip                                               -->
  <!-- ================================================================== -->
  <target name="zip-src" depends="package-src" description="--> generate src.zip distribution package">
   <zip compress="true" casesensitive="yes" 
     destfile="${src.dist.version.dir}.zip">
   <zipfileset dir="${src.dist.version.dir}" filemode="664" prefix="${final.name}">
       <exclude name="src/bin/*" />
       <include name="**" />
   </zipfileset>
   <zipfileset dir="${src.dist.version.dir}" filemode="755" prefix="${final.name}">
       <include name="src/bin/*" />
   </zipfileset>
   </zip>
  </target>

  <!-- ================================================================== -->
  <!-- Make bin release zip                                               -->
  <!-- ================================================================== -->
  <target name="zip-bin" depends="package-bin" description="--> generate bin.zip distribution package">
   <zip compress="true" casesensitive="yes" 
     destfile="${bin.dist.version.dir}.zip">
   <zipfileset dir="${bin.dist.version.dir}" filemode="664" prefix="${final.name}">
       <exclude name="bin/*" />
       <include name="**" />
   </zipfileset>
   <zipfileset dir="${bin.dist.version.dir}" filemode="755" prefix="${final.name}">
       <include name="bin/*" />
   </zipfileset>
   </zip>
  </target>

 <!-- ================================================================== -->
 <!-- Clean. Delete the build files, and their directories -->
 <!-- ================================================================== -->

 <!-- target: clean =================================================== -->
 <target name="clean" depends="clean-build, clean-lib, clean-dist, clean-runtime" description="--> clean the project" />

  <!-- target: clean-eclipse ============================================ -->
  <target name="clean-eclipse" depends="clean-build, clean-lib, clean-dist" description="--> cleans the eclipse project"/> 

 <!-- target: clean-local ============================================= -->
 <target name="clean-local" depends="" description="--> cleans the local repository for the current module">
  <delete dir="${ivy.local.default.root}/${ivy.organisation}/${ivy.module}" />
 </target>

 <!-- target: clean-lib =============================================== -->
 <target name="clean-lib" description="--> clean the project libraries directory (dependencies)">
  <delete includeemptydirs="true" dir="${build.lib.dir}" />
 </target>

 <!-- target: clean-build ============================================= -->
 <target name="clean-build" description="--> clean the project built files">
  <delete includeemptydirs="true" dir="${build.dir}" />
 </target>

 <!-- target: clean-dist ============================================= -->
 <target name="clean-dist" description="--> clean the project dist files">
  <delete includeemptydirs="true" dir="${dist.dir}" />
 </target>

 <!-- target: clean-cache ============================================= -->
 <target name="clean-cache" depends="" description="--> delete ivy cache">
  <ivy:cleancache />
 </target>

 <target name="clean-runtime" description="--> clean the project runtime area">
  <delete includeemptydirs="true" dir="${runtime.dir}" />
 </target>

 <!-- ================================================================== -->
 <!-- RAT targets -->
 <!-- ================================================================== -->
 <target name="rat-sources-typedef" description="--> run RAT antlib task">
  <typedef resource="org/apache/rat/anttasks/antlib.xml">
   <classpath>
    <fileset dir="." includes="rat*.jar" />
   </classpath>
  </typedef>
 </target>

 <target name="rat-sources" depends="rat-sources-typedef"
  description="--> runs the tasks over src/java">
  <rat:report xmlns:rat="antlib:org.apache.rat.anttasks">
   <fileset dir="src">
    <include name="java/**/*" />
    <include name="plugin/**/src/**/*" />
   </fileset>
  </rat:report>
 </target>

 <!-- ================================================================== -->
 <!-- SONAR targets -->
 <!-- ================================================================== -->

 <!-- Define the Sonar task if this hasn't been done in a common script -->
 <taskdef uri="antlib:org.sonar.ant" resource="org/sonar/ant/antlib.xml">
  <classpath path="${ant.library.dir}" />
  <classpath path="${mysql.library.dir}" />
 </taskdef>

 <!-- Add the target -->
 <target name="sonar" description="--> run SONAR analysis">

  <!-- list of mandatory source directories (required) -->
  <property name="sonar.sources" value="${src.dir}" />

  <!-- list of properties (optional) -->
  <property name="sonar.projectName" value="Nutchgora Branch Sonar Analysis" />
  <property name="sonar.binaries" value="${build.dir}/classes" />
  <property name="sonar.binaries" value="${build.dir}/plugins" />
  <property name="sonar.tests" value="${test.src.dir}" />

  <sonar:sonar workDir="${base.dir}" key="org.apache.nutch:branch"
   version="2.0-SNAPSHOT" xmlns:sonar="antlib:org.sonar.ant" />
 </target>
 
  <!-- ================================================================== -->
  <!-- Eclipse targets                                                    -->
  <!-- ================================================================== -->

  <!-- classpath for generating eclipse project -->
  <path id="eclipse.classpath">
    <fileset dir="${build.lib.dir}">
      <include name="*.jar" />
      <exclude name="ant-eclipse-1.0-jvm1.2.jar" />
    </fileset>
  	
  	<fileset dir="${build.plugins}" >
  	 	<include name="**/*.jar"/>
  	 </fileset>
  </path>
  
  <!-- target: ant-eclipse-download   =================================== -->
  <target name="ant-eclipse-download" description="--> Downloads the ant-eclipse binary.">
    <get src="https://downloads.sourceforge.net/project/ant-eclipse/ant-eclipse/1.0/ant-eclipse-1.0.bin.tar.bz2"
         dest="${build.dir}/ant-eclipse-1.0.bin.tar.bz2" usetimestamp="false" />

    <untar src="${build.dir}/ant-eclipse-1.0.bin.tar.bz2"
           dest="${build.dir}" compression="bzip2">
      <patternset>
        <include name="lib/ant-eclipse-1.0-jvm1.2.jar"/>
      </patternset>
    </untar>

    <delete file="${build.dir}/ant-eclipse-1.0.bin.tar.bz2" />
  </target>
  
  <!-- target: eclipse   ================================================ -->
  <target name="eclipse" 
          depends="clean-eclipse,init,resolve-test,job,ant-eclipse-download"
          description="--> Create eclipse project files">

         <pathconvert property="eclipse.project">
           <path path="${basedir}"/>
           <regexpmapper from="^.*/([^/]+)$$" to="\1" handledirsep="yes"/>
         </pathconvert>
  
    <taskdef name="eclipse"
             classname="prantl.ant.eclipse.EclipseTask"
             classpath="${build.dir}/lib/ant-eclipse-1.0-jvm1.2.jar" />
    <eclipse updatealways="true">
      <project name="${eclipse.project}" />
      <classpath>
        
        <library path="${conf.dir}" exported="false" />
        <library path="${basedir}/src/bin" exported="false" />
        <library pathref="eclipse.classpath" exported="false" />
       
        <source path="${basedir}/src/java/" />
        <source path="${basedir}/src/test/" output="build/test/classes" />
        <source path="${basedir}/src/plugin/creativecommons/src/java/" />
        <source path="${basedir}/src/plugin/creativecommons/src/test/" />
        <!-- feed is currently disabled 
        <source path="${basedir}/src/plugin/feed/src/java/" />
        <source path="${basedir}/src/plugin/feed/src/test/" /> -->
        <source path="${basedir}/src/plugin/indexer-solr/src/java/" />
      	<!--<source path="${basedir}/src/plugin/indexer-elastic/src/java/" />-->
      	<source path="${basedir}/src/plugin/indexer-elastic2/src/java/" />
        <source path="${basedir}/src/plugin/indexer-hbase/src/java/" />
      	<source path="${basedir}/src/plugin/index-anchor/src/java/" />
        <source path="${basedir}/src/plugin/index-anchor/src/test/" />
        <source path="${basedir}/src/plugin/index-basic/src/java/" />
        <source path="${basedir}/src/plugin/index-basic/src/test/" />
        <source path="${basedir}/src/plugin/index-html/src/java/" />
        <source path="${basedir}/src/plugin/index-metadata/src/java/" />
        <source path="${basedir}/src/plugin/index-more/src/java/" />
        <source path="${basedir}/src/plugin/index-more/src/test/" />
        <source path="${basedir}/src/plugin/jsoup-extractor/src/java/" />
        <source path="${basedir}/src/plugin/jsoup-extractor/src/test/" />
        <source path="${basedir}/src/plugin/language-identifier/src/java/" />
        <source path="${basedir}/src/plugin/language-identifier/src/test/" />
        <source path="${basedir}/src/plugin/lib-http/src/java/" />
        <source path="${basedir}/src/plugin/lib-http/src/test/" />
        <source path="${basedir}/src/plugin/lib-regex-filter/src/java/" />
        <source path="${basedir}/src/plugin/lib-regex-filter/src/test/" />
        <source path="${basedir}/src/plugin/microformats-reltag/src/java/" />
        <source path="${basedir}/src/plugin/microformats-reltag/src/test/" />
        <!-- parse-ext is currently disabled 
        <source path="${basedir}/src/plugin/parse-ext/src/java/" />
        <source path="${basedir}/src/plugin/parse-ext/src/test/" /> -->
        <source path="${basedir}/src/plugin/parse-html/src/java/" />
        <source path="${basedir}/src/plugin/parse-html/src/test/" />
        <source path="${basedir}/src/plugin/parse-js/src/java/" />
        <source path="${basedir}/src/plugin/parse-js/src/test/" />
        <source path="${basedir}/src/plugin/parse-metatags/src/java/" />
        <source path="${basedir}/src/plugin/parse-metatags/src/test/" />
        <!-- parse-swf and parse-zip are currently disabled 
        <source path="${basedir}/src/plugin/parse-swf/src/java/" />
        <source path="${basedir}/src/plugin/parse-swf/src/test/" />
        <source path="${basedir}/src/plugin/parse-zip/src/java/" />
        <source path="${basedir}/src/plugin/parse-zip/src/test/" /> -->
        <source path="${basedir}/src/plugin/parse-tika/src/java/" />
        <source path="${basedir}/src/plugin/parse-tika/src/test/" />
        <source path="${basedir}/src/plugin/protocol-file/src/java/" />
        <source path="${basedir}/src/plugin/protocol-file/src/test/" />
        <source path="${basedir}/src/plugin/protocol-ftp/src/java/" />
        <source path="${basedir}/src/plugin/protocol-httpclient/src/java/" />
        <source path="${basedir}/src/plugin/protocol-httpclient/src/test/" />
        <source path="${basedir}/src/plugin/protocol-http/src/java/" />
      	<source path="${basedir}/src/plugin/protocol-http/src/test/" />
        <source path="${basedir}/src/plugin/protocol-sftp/src/java/" />
        <source path="${basedir}/src/plugin/scoring-link/src/java/" />
        <source path="${basedir}/src/plugin/scoring-opic/src/java/" />
        <source path="${basedir}/src/plugin/scoring-opic/src/test/" />
        <source path="${basedir}/src/plugin/subcollection/src/java/" />
        <source path="${basedir}/src/plugin/subcollection/src/test/" />
        <source path="${basedir}/src/plugin/tld/src/java/" />
        <source path="${basedir}/src/plugin/tld/src/test/" />
        <source path="${basedir}/src/plugin/urlfilter-automaton/src/java/" />
        <source path="${basedir}/src/plugin/urlfilter-automaton/src/test/" />
        <source path="${basedir}/src/plugin/urlfilter-domain/src/java/" />
        <source path="${basedir}/src/plugin/urlfilter-domain/src/test/" />
        <source path="${basedir}/src/plugin/urlfilter-prefix/src/java/" />
        <source path="${basedir}/src/plugin/urlfilter-prefix/src/test/" />
        <source path="${basedir}/src/plugin/urlfilter-regex/src/java/" />
        <source path="${basedir}/src/plugin/urlfilter-regex/src/test/" />
        <source path="${basedir}/src/plugin/urlfilter-suffix/src/java/" />
        <source path="${basedir}/src/plugin/urlfilter-suffix/src/test/" />
        <source path="${basedir}/src/plugin/urlfilter-validator/src/java/" />
        <source path="${basedir}/src/plugin/urlfilter-validator/src/test/" />
        <source path="${basedir}/src/plugin/urlnormalizer-basic/src/java/" />
        <source path="${basedir}/src/plugin/urlnormalizer-basic/src/test/" />
        <source path="${basedir}/src/plugin/urlnormalizer-pass/src/java/" />
        <source path="${basedir}/src/plugin/urlnormalizer-pass/src/test/" />
        <source path="${basedir}/src/plugin/urlnormalizer-regex/src/java/" />
        <source path="${basedir}/src/plugin/urlnormalizer-regex/src/test/" />

        <output path="${basedir}/build/classes" />
      </classpath>
    </eclipse>
  </target>
</project>
