<?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>

 <!-- ====================================================== -->
 <!-- Stuff needed by all targets -->
 <!-- ====================================================== -->
 <target name="init" depends="ivy-init" description="--> stuff required by all targets">
  <mkdir dir="${build.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-metadata/src/java"/>
      <packageset dir="${plugins.dir}/index-more/src/java"/>
      <packageset dir="${plugins.dir}/indexer-elastic/src/java"/>
      <packageset dir="${plugins.dir}/indexer-solr/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-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>

 <!-- ================================================================== -->
 <!-- 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>
	
  <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-metadata/src/java"/>
      <packageset dir="${plugins.dir}/index-more/src/java"/>
      <packageset dir="${plugins.dir}/indexer-elastic/src/java"/>
      <packageset dir="${plugins.dir}/indexer-solr/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}" />
   <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="http://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/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-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/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>
