This is an automated email from the ASF dual-hosted git repository.

snagel pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nutch.git


The following commit(s) were added to refs/heads/master by this push:
     new d07c075  NUTCH-2697 Upgrade Ivy to fix the issue of an unset 
packaging.type property NUTCH-2671 Upgrade ant ivy library - upgrade Ivy (2.4.0 
-> 2.5.0) - upgrade all plugins build-ivy.xml to use the ivy jar 2.5.0 
installed in   $NUTCH_HOME/ivy/ for preparing lists of dependencies registered 
in plugin.xml
d07c075 is described below

commit d07c075f5ff7bd29ad7329fcb76d5548f8e991c6
Author: Sebastian Nagel <sna...@apache.org>
AuthorDate: Wed Aug 12 12:51:51 2020 +0200

    NUTCH-2697 Upgrade Ivy to fix the issue of an unset packaging.type property
    NUTCH-2671 Upgrade ant ivy library
    - upgrade Ivy (2.4.0 -> 2.5.0)
    - upgrade all plugins build-ivy.xml to use the ivy jar 2.5.0 installed in
      $NUTCH_HOME/ivy/ for preparing lists of dependencies registered in 
plugin.xml
---
 .gitignore                                         |  1 +
 default.properties                                 |  2 +-
 src/plugin/any23/build-ivy.xml                     | 53 +++++++++----------
 src/plugin/exchange-jexl/build-ivy.xml             | 53 +++++++++----------
 src/plugin/index-geoip/build-ivy.xml               | 53 +++++++++----------
 src/plugin/indexer-elastic/build-ivy.xml           | 53 +++++++++----------
 src/plugin/indexer-kafka/build-ivy.xml             | 59 ++++++++++------------
 src/plugin/indexer-rabbit/build-ivy.xml            | 53 +++++++++----------
 src/plugin/indexer-solr/build-ivy.xml              | 53 +++++++++----------
 src/plugin/lib-htmlunit/build-ivy.xml              | 51 ++++++++-----------
 src/plugin/lib-rabbitmq/build-ivy.xml              | 51 ++++++++-----------
 src/plugin/lib-selenium/build-ivy.xml              | 51 ++++++++-----------
 src/plugin/parse-tika/build-ivy.xml                | 52 ++++++++-----------
 src/plugin/parsefilter-naivebayes/build-ivy.xml    | 53 +++++++++----------
 .../protocol-interactiveselenium/build-ivy.xml     | 51 ++++++++-----------
 src/plugin/protocol-selenium/build-ivy.xml         | 51 ++++++++-----------
 src/plugin/publish-rabbitmq/build-ivy.xml          | 53 +++++++++----------
 src/plugin/scoring-similarity/build-ivy.xml        | 53 +++++++++----------
 18 files changed, 367 insertions(+), 479 deletions(-)

diff --git a/.gitignore b/.gitignore
index 3e3bad2..02a74cf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,7 @@ logs/
 ivy/ivy-2.3.0.jar
 ivy/ivy-2.4.0.jar
 ivy/ivy-2.5.0-rc1.jar
+ivy/ivy-2.5.0.jar
 naivebayes-model
 .naivebayes-model.crc
 .gitconfig
diff --git a/default.properties b/default.properties
index 0e406f7..e4b9619 100644
--- a/default.properties
+++ b/default.properties
@@ -63,7 +63,7 @@ runtime.dir=./runtime
 runtime.deploy=${runtime.dir}/deploy
 runtime.local=${runtime.dir}/local
 
-ivy.version=2.4.0
+ivy.version=2.5.0
 ivy.dir=${basedir}/ivy
 ivy.file=${ivy.dir}/ivy.xml
 ivy.jar=${ivy.dir}/ivy-${ivy.version}.jar
diff --git a/src/plugin/any23/build-ivy.xml b/src/plugin/any23/build-ivy.xml
index d3a0405..6c7c6b9 100644
--- a/src/plugin/any23/build-ivy.xml
+++ b/src/plugin/any23/build-ivy.xml
@@ -17,38 +17,31 @@
 -->
 <project name="any23" default="deps-jar" xmlns:ivy="antlib:org.apache.ivy.ant">
 
-    <property name="ivy.install.version" value="2.1.0" />
-    <condition property="ivy.home" value="${env.IVY_HOME}">
-      <isset property="env.IVY_HOME" />
-    </condition>
-    <property name="ivy.home" value="${user.home}/.ant" />
-    <property name="ivy.checksums" value="" />
-    <property name="ivy.jar.dir" value="${ivy.home}/lib" />
-    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
-
-    <target name="download-ivy" unless="offline">
-
-        <mkdir dir="${ivy.jar.dir}"/>
-        <!-- download Ivy from web site so that it can be used even without 
any special installation -->
-        <get 
src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar";
 
-             dest="${ivy.jar.file}" usetimestamp="true"/>
-    </target>
-
-    <target name="init-ivy" depends="download-ivy">
-      <!-- try to load ivy here from ivy home, in case the user has not 
already dropped
-              it into ant's lib dir (note that the latter copy will always 
take precedence).
-              We will not fail as long as local lib dir exists (it may be 
empty) and
-              ivy is in at least one of ant's lib dir or the local lib dir. -->
-        <path id="ivy.lib.path">
-            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
-
-        </path>
-        <taskdef resource="org/apache/ivy/ant/antlib.xml"
-                 uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
-    </target>
+  <property name="ivy.dir" value="../../../ivy" />
+  <property file="../../../default.properties" />
+
+  <target name="download-ivy" unless="offline">
+    <!-- download Ivy from web site so that it can be used even without any 
special installation -->
+    <available file="${ivy.jar}" property="ivy.jar.found"/>
+    <antcall target="ivy-download-unchecked"/>
+  </target>
+
+  <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 name="init-ivy" depends="download-ivy">
+    <!-- try to load ivy here from ivy home, in case the user has not already 
dropped
+         it into ant's lib dir (note that the latter copy will always take 
precedence).
+         We will not fail as long as local lib dir exists (it may be empty) and
+         ivy is in at least one of ant's lib dir or the local lib dir. -->
+    <taskdef resource="org/apache/ivy/ant/antlib.xml"
+             uri="antlib:org.apache.ivy.ant" classpath="${ivy.jar}"/>
+    <ivy:settings file="${ivy.dir}/ivysettings.xml" />
+  </target>
 
   <target name="deps-jar" depends="init-ivy">
-    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]"/>
+    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]" sync="true"/>
   </target>
 
 </project>
diff --git a/src/plugin/exchange-jexl/build-ivy.xml 
b/src/plugin/exchange-jexl/build-ivy.xml
index 4225742..fb059bf 100644
--- a/src/plugin/exchange-jexl/build-ivy.xml
+++ b/src/plugin/exchange-jexl/build-ivy.xml
@@ -17,38 +17,31 @@
 -->
 <project name="exchange-jexl" default="deps-jar" 
xmlns:ivy="antlib:org.apache.ivy.ant">
 
-    <property name="ivy.install.version" value="2.1.0" />
-    <condition property="ivy.home" value="${env.IVY_HOME}">
-      <isset property="env.IVY_HOME" />
-    </condition>
-    <property name="ivy.home" value="${user.home}/.ant" />
-    <property name="ivy.checksums" value="" />
-    <property name="ivy.jar.dir" value="${ivy.home}/lib" />
-    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
-
-    <target name="download-ivy" unless="offline">
-
-        <mkdir dir="${ivy.jar.dir}"/>
-        <!-- download Ivy from web site so that it can be used even without 
any special installation -->
-        <get 
src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar";
 
-             dest="${ivy.jar.file}" usetimestamp="true"/>
-    </target>
-
-    <target name="init-ivy" depends="download-ivy">
-      <!-- try to load ivy here from ivy home, in case the user has not 
already dropped
-              it into ant's lib dir (note that the latter copy will always 
take precedence).
-              We will not fail as long as local lib dir exists (it may be 
empty) and
-              ivy is in at least one of ant's lib dir or the local lib dir. -->
-        <path id="ivy.lib.path">
-            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
-
-        </path>
-        <taskdef resource="org/apache/ivy/ant/antlib.xml"
-                 uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
-    </target>
+  <property name="ivy.dir" value="../../../ivy" />
+  <property file="../../../default.properties" />
+
+  <target name="download-ivy" unless="offline">
+    <!-- download Ivy from web site so that it can be used even without any 
special installation -->
+    <available file="${ivy.jar}" property="ivy.jar.found"/>
+    <antcall target="ivy-download-unchecked"/>
+  </target>
+
+  <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 name="init-ivy" depends="download-ivy">
+    <!-- try to load ivy here from ivy home, in case the user has not already 
dropped
+         it into ant's lib dir (note that the latter copy will always take 
precedence).
+         We will not fail as long as local lib dir exists (it may be empty) and
+         ivy is in at least one of ant's lib dir or the local lib dir. -->
+    <taskdef resource="org/apache/ivy/ant/antlib.xml"
+             uri="antlib:org.apache.ivy.ant" classpath="${ivy.jar}"/>
+    <ivy:settings file="${ivy.dir}/ivysettings.xml" />
+  </target>
 
   <target name="deps-jar" depends="init-ivy">
-    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]"/>
+    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]" sync="true"/>
   </target>
 
 </project>
diff --git a/src/plugin/index-geoip/build-ivy.xml 
b/src/plugin/index-geoip/build-ivy.xml
index b8cd09e..974646e 100644
--- a/src/plugin/index-geoip/build-ivy.xml
+++ b/src/plugin/index-geoip/build-ivy.xml
@@ -17,38 +17,31 @@
 -->
 <project name="index-geoip" default="deps-jar" 
xmlns:ivy="antlib:org.apache.ivy.ant">
 
-    <property name="ivy.install.version" value="2.1.0" />
-    <condition property="ivy.home" value="${env.IVY_HOME}">
-      <isset property="env.IVY_HOME" />
-    </condition>
-    <property name="ivy.home" value="${user.home}/.ant" />
-    <property name="ivy.checksums" value="" />
-    <property name="ivy.jar.dir" value="${ivy.home}/lib" />
-    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
-
-    <target name="download-ivy" unless="offline">
-
-        <mkdir dir="${ivy.jar.dir}"/>
-        <!-- download Ivy from web site so that it can be used even without 
any special installation -->
-        <get 
src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar";
 
-             dest="${ivy.jar.file}" usetimestamp="true"/>
-    </target>
-
-    <target name="init-ivy" depends="download-ivy">
-      <!-- try to load ivy here from ivy home, in case the user has not 
already dropped
-              it into ant's lib dir (note that the latter copy will always 
take precedence).
-              We will not fail as long as local lib dir exists (it may be 
empty) and
-              ivy is in at least one of ant's lib dir or the local lib dir. -->
-        <path id="ivy.lib.path">
-            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
-
-        </path>
-        <taskdef resource="org/apache/ivy/ant/antlib.xml"
-                 uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
-    </target>
+  <property name="ivy.dir" value="../../../ivy" />
+  <property file="../../../default.properties" />
+
+  <target name="download-ivy" unless="offline">
+    <!-- download Ivy from web site so that it can be used even without any 
special installation -->
+    <available file="${ivy.jar}" property="ivy.jar.found"/>
+    <antcall target="ivy-download-unchecked"/>
+  </target>
+
+  <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 name="init-ivy" depends="download-ivy">
+    <!-- try to load ivy here from ivy home, in case the user has not already 
dropped
+         it into ant's lib dir (note that the latter copy will always take 
precedence).
+         We will not fail as long as local lib dir exists (it may be empty) and
+         ivy is in at least one of ant's lib dir or the local lib dir. -->
+    <taskdef resource="org/apache/ivy/ant/antlib.xml"
+             uri="antlib:org.apache.ivy.ant" classpath="${ivy.jar}"/>
+    <ivy:settings file="${ivy.dir}/ivysettings.xml" />
+  </target>
 
   <target name="deps-jar" depends="init-ivy">
-    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]"/>
+    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]" sync="true"/>
   </target>
 
 </project>
diff --git a/src/plugin/indexer-elastic/build-ivy.xml 
b/src/plugin/indexer-elastic/build-ivy.xml
index 7036979..8b97ab6 100644
--- a/src/plugin/indexer-elastic/build-ivy.xml
+++ b/src/plugin/indexer-elastic/build-ivy.xml
@@ -17,38 +17,31 @@
 -->
 <project name="indexer-elastic" default="deps-jar" 
xmlns:ivy="antlib:org.apache.ivy.ant">
 
-    <property name="ivy.install.version" value="2.1.0" />
-    <condition property="ivy.home" value="${env.IVY_HOME}">
-      <isset property="env.IVY_HOME" />
-    </condition>
-    <property name="ivy.home" value="${user.home}/.ant" />
-    <property name="ivy.checksums" value="" />
-    <property name="ivy.jar.dir" value="${ivy.home}/lib" />
-    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
-
-    <target name="download-ivy" unless="offline">
-
-        <mkdir dir="${ivy.jar.dir}"/>
-        <!-- download Ivy from web site so that it can be used even without 
any special installation -->
-        <get 
src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar";
 
-             dest="${ivy.jar.file}" usetimestamp="true"/>
-    </target>
-
-    <target name="init-ivy" depends="download-ivy">
-      <!-- try to load ivy here from ivy home, in case the user has not 
already dropped
-              it into ant's lib dir (note that the latter copy will always 
take precedence).
-              We will not fail as long as local lib dir exists (it may be 
empty) and
-              ivy is in at least one of ant's lib dir or the local lib dir. -->
-        <path id="ivy.lib.path">
-            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
-
-        </path>
-        <taskdef resource="org/apache/ivy/ant/antlib.xml"
-                 uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
-    </target>
+  <property name="ivy.dir" value="../../../ivy" />
+  <property file="../../../default.properties" />
+
+  <target name="download-ivy" unless="offline">
+    <!-- download Ivy from web site so that it can be used even without any 
special installation -->
+    <available file="${ivy.jar}" property="ivy.jar.found"/>
+    <antcall target="ivy-download-unchecked"/>
+  </target>
+
+  <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 name="init-ivy" depends="download-ivy">
+    <!-- try to load ivy here from ivy home, in case the user has not already 
dropped
+         it into ant's lib dir (note that the latter copy will always take 
precedence).
+         We will not fail as long as local lib dir exists (it may be empty) and
+         ivy is in at least one of ant's lib dir or the local lib dir. -->
+    <taskdef resource="org/apache/ivy/ant/antlib.xml"
+             uri="antlib:org.apache.ivy.ant" classpath="${ivy.jar}"/>
+    <ivy:settings file="${ivy.dir}/ivysettings.xml" />
+  </target>
 
   <target name="deps-jar" depends="init-ivy">
-    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]"/>
+    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]" sync="true"/>
   </target>
 
 </project>
diff --git a/src/plugin/indexer-kafka/build-ivy.xml 
b/src/plugin/indexer-kafka/build-ivy.xml
index 4f181bd..1afe4db 100644
--- a/src/plugin/indexer-kafka/build-ivy.xml
+++ b/src/plugin/indexer-kafka/build-ivy.xml
@@ -17,38 +17,31 @@
 -->
 <project name="indexer-kafka" default="deps-jar" 
xmlns:ivy="antlib:org.apache.ivy.ant">
 
-    <property name="ivy.install.version" value="2.1.0"/>
-    <condition property="ivy.home" value="${env.IVY_HOME}">
-        <isset property="env.IVY_HOME"/>
-    </condition>
-    <property name="ivy.home" value="${user.home}/.ant"/>
-    <property name="ivy.checksums" value=""/>
-    <property name="ivy.jar.dir" value="${ivy.home}/lib"/>
-    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar"/>
-
-    <target name="download-ivy" unless="offline">
-
-        <mkdir dir="${ivy.jar.dir}"/>
-        <!-- download Ivy from web site so that it can be used even without 
any special installation -->
-        <get 
src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar";
-             dest="${ivy.jar.file}" usetimestamp="true"/>
-    </target>
-
-    <target name="init-ivy" depends="download-ivy">
-        <!-- try to load ivy here from ivy home, in case the user has not 
already dropped
-                it into ant's lib dir (note that the latter copy will always 
take precedence).
-                We will not fail as long as local lib dir exists (it may be 
empty) and
-                ivy is in at least one of ant's lib dir or the local lib dir. 
-->
-        <path id="ivy.lib.path">
-            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
-
-        </path>
-        <taskdef resource="org/apache/ivy/ant/antlib.xml"
-                 uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
-    </target>
-
-    <target name="deps-jar" depends="init-ivy">
-        <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]"/>
-    </target>
+  <property name="ivy.dir" value="../../../ivy" />
+  <property file="../../../default.properties" />
+
+  <target name="download-ivy" unless="offline">
+    <!-- download Ivy from web site so that it can be used even without any 
special installation -->
+    <available file="${ivy.jar}" property="ivy.jar.found"/>
+    <antcall target="ivy-download-unchecked"/>
+  </target>
+
+  <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 name="init-ivy" depends="download-ivy">
+    <!-- try to load ivy here from ivy home, in case the user has not already 
dropped
+         it into ant's lib dir (note that the latter copy will always take 
precedence).
+         We will not fail as long as local lib dir exists (it may be empty) and
+         ivy is in at least one of ant's lib dir or the local lib dir. -->
+    <taskdef resource="org/apache/ivy/ant/antlib.xml"
+             uri="antlib:org.apache.ivy.ant" classpath="${ivy.jar}"/>
+    <ivy:settings file="${ivy.dir}/ivysettings.xml" />
+  </target>
+
+  <target name="deps-jar" depends="init-ivy">
+    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]" sync="true"/>
+  </target>
 
 </project>
diff --git a/src/plugin/indexer-rabbit/build-ivy.xml 
b/src/plugin/indexer-rabbit/build-ivy.xml
index e4d4f95..8a813b0 100644
--- a/src/plugin/indexer-rabbit/build-ivy.xml
+++ b/src/plugin/indexer-rabbit/build-ivy.xml
@@ -17,38 +17,31 @@
 -->
 <project name="indexer-rabbit" default="deps-jar" 
xmlns:ivy="antlib:org.apache.ivy.ant">
 
-    <property name="ivy.install.version" value="2.1.0" />
-    <condition property="ivy.home" value="${env.IVY_HOME}">
-      <isset property="env.IVY_HOME" />
-    </condition>
-    <property name="ivy.home" value="${user.home}/.ant" />
-    <property name="ivy.checksums" value="" />
-    <property name="ivy.jar.dir" value="${ivy.home}/lib" />
-    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
-
-    <target name="download-ivy" unless="offline">
-
-        <mkdir dir="${ivy.jar.dir}"/>
-        <!-- download Ivy from web site so that it can be used even without 
any special installation -->
-        <get 
src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar";
 
-             dest="${ivy.jar.file}" usetimestamp="true"/>
-    </target>
-
-    <target name="init-ivy" depends="download-ivy">
-      <!-- try to load ivy here from ivy home, in case the user has not 
already dropped
-              it into ant's lib dir (note that the latter copy will always 
take precedence).
-              We will not fail as long as local lib dir exists (it may be 
empty) and
-              ivy is in at least one of ant's lib dir or the local lib dir. -->
-        <path id="ivy.lib.path">
-            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
-
-        </path>
-        <taskdef resource="org/apache/ivy/ant/antlib.xml"
-                 uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
-    </target>
+  <property name="ivy.dir" value="../../../ivy" />
+  <property file="../../../default.properties" />
+
+  <target name="download-ivy" unless="offline">
+    <!-- download Ivy from web site so that it can be used even without any 
special installation -->
+    <available file="${ivy.jar}" property="ivy.jar.found"/>
+    <antcall target="ivy-download-unchecked"/>
+  </target>
+
+  <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 name="init-ivy" depends="download-ivy">
+    <!-- try to load ivy here from ivy home, in case the user has not already 
dropped
+         it into ant's lib dir (note that the latter copy will always take 
precedence).
+         We will not fail as long as local lib dir exists (it may be empty) and
+         ivy is in at least one of ant's lib dir or the local lib dir. -->
+    <taskdef resource="org/apache/ivy/ant/antlib.xml"
+             uri="antlib:org.apache.ivy.ant" classpath="${ivy.jar}"/>
+    <ivy:settings file="${ivy.dir}/ivysettings.xml" />
+  </target>
 
   <target name="deps-jar" depends="init-ivy">
-    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]"/>
+    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]" sync="true"/>
   </target>
 
 </project>
diff --git a/src/plugin/indexer-solr/build-ivy.xml 
b/src/plugin/indexer-solr/build-ivy.xml
index fe4d8c4..a57840b 100644
--- a/src/plugin/indexer-solr/build-ivy.xml
+++ b/src/plugin/indexer-solr/build-ivy.xml
@@ -17,38 +17,31 @@
 -->
 <project name="indexer-solr" default="deps-jar" 
xmlns:ivy="antlib:org.apache.ivy.ant">
 
-    <property name="ivy.install.version" value="2.4.0" />
-    <condition property="ivy.home" value="${env.IVY_HOME}">
-      <isset property="env.IVY_HOME" />
-    </condition>
-    <property name="ivy.home" value="${user.home}/.ant" />
-    <property name="ivy.checksums" value="" />
-    <property name="ivy.jar.dir" value="${ivy.home}/lib" />
-    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
-
-    <target name="download-ivy" unless="offline">
-
-        <mkdir dir="${ivy.jar.dir}"/>
-        <!-- download Ivy from web site so that it can be used even without 
any special installation -->
-        <get 
src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar";
 
-             dest="${ivy.jar.file}" usetimestamp="true"/>
-    </target>
-
-    <target name="init-ivy" depends="download-ivy">
-      <!-- try to load ivy here from ivy home, in case the user has not 
already dropped
-              it into ant's lib dir (note that the latter copy will always 
take precedence).
-              We will not fail as long as local lib dir exists (it may be 
empty) and
-              ivy is in at least one of ant's lib dir or the local lib dir. -->
-        <path id="ivy.lib.path">
-            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
-
-        </path>
-        <taskdef resource="org/apache/ivy/ant/antlib.xml"
-                 uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
-    </target>
+  <property name="ivy.dir" value="../../../ivy" />
+  <property file="../../../default.properties" />
+
+  <target name="download-ivy" unless="offline">
+    <!-- download Ivy from web site so that it can be used even without any 
special installation -->
+    <available file="${ivy.jar}" property="ivy.jar.found"/>
+    <antcall target="ivy-download-unchecked"/>
+  </target>
+
+  <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 name="init-ivy" depends="download-ivy">
+    <!-- try to load ivy here from ivy home, in case the user has not already 
dropped
+         it into ant's lib dir (note that the latter copy will always take 
precedence).
+         We will not fail as long as local lib dir exists (it may be empty) and
+         ivy is in at least one of ant's lib dir or the local lib dir. -->
+    <taskdef resource="org/apache/ivy/ant/antlib.xml"
+             uri="antlib:org.apache.ivy.ant" classpath="${ivy.jar}"/>
+    <ivy:settings file="${ivy.dir}/ivysettings.xml" />
+  </target>
 
   <target name="deps-jar" depends="init-ivy">
-    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]"/>
+    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]" sync="true"/>
   </target>
 
 </project>
diff --git a/src/plugin/lib-htmlunit/build-ivy.xml 
b/src/plugin/lib-htmlunit/build-ivy.xml
index 7e0a187..4802745 100644
--- a/src/plugin/lib-htmlunit/build-ivy.xml
+++ b/src/plugin/lib-htmlunit/build-ivy.xml
@@ -17,35 +17,28 @@
 -->
 <project name="lib-htmlunit" default="deps-jar" 
xmlns:ivy="antlib:org.apache.ivy.ant">
 
-    <property name="ivy.install.version" value="2.1.0" />
-    <condition property="ivy.home" value="${env.IVY_HOME}">
-      <isset property="env.IVY_HOME" />
-    </condition>
-    <property name="ivy.home" value="${user.home}/.ant" />
-    <property name="ivy.checksums" value="" />
-    <property name="ivy.jar.dir" value="${ivy.home}/lib" />
-    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
-
-    <target name="download-ivy" unless="offline">
-
-        <mkdir dir="${ivy.jar.dir}"/>
-        <!-- download Ivy from web site so that it can be used even without 
any special installation -->
-        <get 
src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar";
 
-             dest="${ivy.jar.file}" usetimestamp="true"/>
-    </target>
-
-    <target name="init-ivy" depends="download-ivy">
-      <!-- try to load ivy here from ivy home, in case the user has not 
already dropped
-              it into ant's lib dir (note that the latter copy will always 
take precedence).
-              We will not fail as long as local lib dir exists (it may be 
empty) and
-              ivy is in at least one of ant's lib dir or the local lib dir. -->
-        <path id="ivy.lib.path">
-            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
-
-        </path>
-        <taskdef resource="org/apache/ivy/ant/antlib.xml"
-                 uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
-    </target>
+  <property name="ivy.dir" value="../../../ivy" />
+  <property file="../../../default.properties" />
+
+  <target name="download-ivy" unless="offline">
+    <!-- download Ivy from web site so that it can be used even without any 
special installation -->
+    <available file="${ivy.jar}" property="ivy.jar.found"/>
+    <antcall target="ivy-download-unchecked"/>
+  </target>
+
+  <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 name="init-ivy" depends="download-ivy">
+    <!-- try to load ivy here from ivy home, in case the user has not already 
dropped
+         it into ant's lib dir (note that the latter copy will always take 
precedence).
+         We will not fail as long as local lib dir exists (it may be empty) and
+         ivy is in at least one of ant's lib dir or the local lib dir. -->
+    <taskdef resource="org/apache/ivy/ant/antlib.xml"
+             uri="antlib:org.apache.ivy.ant" classpath="${ivy.jar}"/>
+    <ivy:settings file="${ivy.dir}/ivysettings.xml" />
+  </target>
 
   <target name="deps-jar" depends="init-ivy">
     <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]" sync="true"/>
diff --git a/src/plugin/lib-rabbitmq/build-ivy.xml 
b/src/plugin/lib-rabbitmq/build-ivy.xml
index 80a0de3..4b91b93 100644
--- a/src/plugin/lib-rabbitmq/build-ivy.xml
+++ b/src/plugin/lib-rabbitmq/build-ivy.xml
@@ -17,35 +17,28 @@
 -->
 <project name="lib-rabbitmq" default="deps-jar" 
xmlns:ivy="antlib:org.apache.ivy.ant">
 
-    <property name="ivy.install.version" value="2.1.0" />
-    <condition property="ivy.home" value="${env.IVY_HOME}">
-      <isset property="env.IVY_HOME" />
-    </condition>
-    <property name="ivy.home" value="${user.home}/.ant" />
-    <property name="ivy.checksums" value="" />
-    <property name="ivy.jar.dir" value="${ivy.home}/lib" />
-    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
-
-    <target name="download-ivy" unless="offline">
-
-        <mkdir dir="${ivy.jar.dir}"/>
-        <!-- download Ivy from web site so that it can be used even without 
any special installation -->
-        <get 
src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar";
 
-             dest="${ivy.jar.file}" usetimestamp="true"/>
-    </target>
-
-    <target name="init-ivy" depends="download-ivy">
-      <!-- try to load ivy here from ivy home, in case the user has not 
already dropped
-              it into ant's lib dir (note that the latter copy will always 
take precedence).
-              We will not fail as long as local lib dir exists (it may be 
empty) and
-              ivy is in at least one of ant's lib dir or the local lib dir. -->
-        <path id="ivy.lib.path">
-            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
-
-        </path>
-        <taskdef resource="org/apache/ivy/ant/antlib.xml"
-                 uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
-    </target>
+  <property name="ivy.dir" value="../../../ivy" />
+  <property file="../../../default.properties" />
+
+  <target name="download-ivy" unless="offline">
+    <!-- download Ivy from web site so that it can be used even without any 
special installation -->
+    <available file="${ivy.jar}" property="ivy.jar.found"/>
+    <antcall target="ivy-download-unchecked"/>
+  </target>
+
+  <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 name="init-ivy" depends="download-ivy">
+    <!-- try to load ivy here from ivy home, in case the user has not already 
dropped
+         it into ant's lib dir (note that the latter copy will always take 
precedence).
+         We will not fail as long as local lib dir exists (it may be empty) and
+         ivy is in at least one of ant's lib dir or the local lib dir. -->
+    <taskdef resource="org/apache/ivy/ant/antlib.xml"
+             uri="antlib:org.apache.ivy.ant" classpath="${ivy.jar}"/>
+    <ivy:settings file="${ivy.dir}/ivysettings.xml" />
+  </target>
 
   <target name="deps-jar" depends="init-ivy">
     <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]" sync="true"/>
diff --git a/src/plugin/lib-selenium/build-ivy.xml 
b/src/plugin/lib-selenium/build-ivy.xml
index dbd7459..25a65ea 100644
--- a/src/plugin/lib-selenium/build-ivy.xml
+++ b/src/plugin/lib-selenium/build-ivy.xml
@@ -17,35 +17,28 @@
 -->
 <project name="lib-selenium" default="deps-jar" 
xmlns:ivy="antlib:org.apache.ivy.ant">
 
-    <property name="ivy.install.version" value="2.4.0" />
-    <condition property="ivy.home" value="${env.IVY_HOME}">
-      <isset property="env.IVY_HOME" />
-    </condition>
-    <property name="ivy.home" value="${user.home}/.ant" />
-    <property name="ivy.checksums" value="" />
-    <property name="ivy.jar.dir" value="${ivy.home}/lib" />
-    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
-
-    <target name="download-ivy" unless="offline">
-
-        <mkdir dir="${ivy.jar.dir}"/>
-        <!-- download Ivy from web site so that it can be used even without 
any special installation -->
-        <get 
src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar";
 
-             dest="${ivy.jar.file}" usetimestamp="true"/>
-    </target>
-
-    <target name="init-ivy" depends="download-ivy">
-      <!-- try to load ivy here from ivy home, in case the user has not 
already dropped
-              it into ant's lib dir (note that the latter copy will always 
take precedence).
-              We will not fail as long as local lib dir exists (it may be 
empty) and
-              ivy is in at least one of ant's lib dir or the local lib dir. -->
-        <path id="ivy.lib.path">
-            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
-
-        </path>
-        <taskdef resource="org/apache/ivy/ant/antlib.xml"
-                 uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
-    </target>
+  <property name="ivy.dir" value="../../../ivy" />
+  <property file="../../../default.properties" />
+
+  <target name="download-ivy" unless="offline">
+    <!-- download Ivy from web site so that it can be used even without any 
special installation -->
+    <available file="${ivy.jar}" property="ivy.jar.found"/>
+    <antcall target="ivy-download-unchecked"/>
+  </target>
+
+  <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 name="init-ivy" depends="download-ivy">
+    <!-- try to load ivy here from ivy home, in case the user has not already 
dropped
+         it into ant's lib dir (note that the latter copy will always take 
precedence).
+         We will not fail as long as local lib dir exists (it may be empty) and
+         ivy is in at least one of ant's lib dir or the local lib dir. -->
+    <taskdef resource="org/apache/ivy/ant/antlib.xml"
+             uri="antlib:org.apache.ivy.ant" classpath="${ivy.jar}"/>
+    <ivy:settings file="${ivy.dir}/ivysettings.xml" />
+  </target>
 
   <target name="deps-jar" depends="init-ivy">
     <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]" sync="true"/>
diff --git a/src/plugin/parse-tika/build-ivy.xml 
b/src/plugin/parse-tika/build-ivy.xml
index c67ea7a..83afc7c 100644
--- a/src/plugin/parse-tika/build-ivy.xml
+++ b/src/plugin/parse-tika/build-ivy.xml
@@ -17,36 +17,28 @@
 -->
 <project name="parse-tika" default="deps-jar" 
xmlns:ivy="antlib:org.apache.ivy.ant">
 
-    <property name="ivy.install.version" value="2.4.0" />
-    <condition property="ivy.home" value="${env.IVY_HOME}">
-      <isset property="env.IVY_HOME" />
-    </condition>
-    <property name="ivy.home" value="${user.home}/.ant" />
-    <property name="ivy.checksums" value="" />
-    <property name="ivy.jar.dir" value="${ivy.home}/lib" />
-    <property name="ivy.jar.file" 
value="${ivy.jar.dir}/ivy-${ivy.install.version}.jar" />
-    <ivy:settings id="ivy.instance" file="../../../ivy/ivysettings.xml" />
-
-    <target name="download-ivy" unless="offline">
-
-        <mkdir dir="${ivy.jar.dir}"/>
-        <!-- download Ivy from web site so that it can be used even without 
any special installation -->
-        <get 
src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar";
 
-             dest="${ivy.jar.file}" usetimestamp="true"/>
-    </target>
-
-    <target name="init-ivy" depends="download-ivy">
-      <!-- try to load ivy here from ivy home, in case the user has not 
already dropped
-              it into ant's lib dir (note that the latter copy will always 
take precedence).
-              We will not fail as long as local lib dir exists (it may be 
empty) and
-              ivy is in at least one of ant's lib dir or the local lib dir. -->
-        <path id="ivy.lib.path">
-            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
-
-        </path>
-        <taskdef resource="org/apache/ivy/ant/antlib.xml"
-                 uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
-    </target>
+  <property name="ivy.dir" value="../../../ivy" />
+  <property file="../../../default.properties" />
+
+  <target name="download-ivy" unless="offline">
+    <!-- download Ivy from web site so that it can be used even without any 
special installation -->
+    <available file="${ivy.jar}" property="ivy.jar.found"/>
+    <antcall target="ivy-download-unchecked"/>
+  </target>
+
+  <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 name="init-ivy" depends="download-ivy">
+    <!-- try to load ivy here from ivy home, in case the user has not already 
dropped
+         it into ant's lib dir (note that the latter copy will always take 
precedence).
+         We will not fail as long as local lib dir exists (it may be empty) and
+         ivy is in at least one of ant's lib dir or the local lib dir. -->
+    <taskdef resource="org/apache/ivy/ant/antlib.xml"
+             uri="antlib:org.apache.ivy.ant" classpath="${ivy.jar}"/>
+    <ivy:settings file="${ivy.dir}/ivysettings.xml" />
+  </target>
 
   <target name="deps-jar" depends="init-ivy">
     <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]" sync="true"/>
diff --git a/src/plugin/parsefilter-naivebayes/build-ivy.xml 
b/src/plugin/parsefilter-naivebayes/build-ivy.xml
index 077d972..af56f19 100644
--- a/src/plugin/parsefilter-naivebayes/build-ivy.xml
+++ b/src/plugin/parsefilter-naivebayes/build-ivy.xml
@@ -17,38 +17,31 @@
 -->
 <project name="parsefilter-naivebayes" default="deps-jar" 
xmlns:ivy="antlib:org.apache.ivy.ant">
 
-    <property name="ivy.install.version" value="2.1.0" />
-    <condition property="ivy.home" value="${env.IVY_HOME}">
-      <isset property="env.IVY_HOME" />
-    </condition>
-    <property name="ivy.home" value="${user.home}/.ant" />
-    <property name="ivy.checksums" value="" />
-    <property name="ivy.jar.dir" value="${ivy.home}/lib" />
-    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
-
-    <target name="download-ivy" unless="offline">
-
-        <mkdir dir="${ivy.jar.dir}"/>
-        <!-- download Ivy from web site so that it can be used even without 
any special installation -->
-        <get 
src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar";
 
-             dest="${ivy.jar.file}" usetimestamp="true"/>
-    </target>
-
-    <target name="init-ivy" depends="download-ivy">
-      <!-- try to load ivy here from ivy home, in case the user has not 
already dropped
-              it into ant's lib dir (note that the latter copy will always 
take precedence).
-              We will not fail as long as local lib dir exists (it may be 
empty) and
-              ivy is in at least one of ant's lib dir or the local lib dir. -->
-        <path id="ivy.lib.path">
-            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
-
-        </path>
-        <taskdef resource="org/apache/ivy/ant/antlib.xml"
-                 uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
-    </target>
+  <property name="ivy.dir" value="../../../ivy" />
+  <property file="../../../default.properties" />
+
+  <target name="download-ivy" unless="offline">
+    <!-- download Ivy from web site so that it can be used even without any 
special installation -->
+    <available file="${ivy.jar}" property="ivy.jar.found"/>
+    <antcall target="ivy-download-unchecked"/>
+  </target>
+
+  <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 name="init-ivy" depends="download-ivy">
+    <!-- try to load ivy here from ivy home, in case the user has not already 
dropped
+         it into ant's lib dir (note that the latter copy will always take 
precedence).
+         We will not fail as long as local lib dir exists (it may be empty) and
+         ivy is in at least one of ant's lib dir or the local lib dir. -->
+    <taskdef resource="org/apache/ivy/ant/antlib.xml"
+             uri="antlib:org.apache.ivy.ant" classpath="${ivy.jar}"/>
+    <ivy:settings file="${ivy.dir}/ivysettings.xml" />
+  </target>
 
   <target name="deps-jar" depends="init-ivy">
-    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]"/>
+    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]" sync="true"/>
   </target>
 
 </project>
diff --git a/src/plugin/protocol-interactiveselenium/build-ivy.xml 
b/src/plugin/protocol-interactiveselenium/build-ivy.xml
index de3df78..d9b986b 100644
--- a/src/plugin/protocol-interactiveselenium/build-ivy.xml
+++ b/src/plugin/protocol-interactiveselenium/build-ivy.xml
@@ -17,35 +17,28 @@
 -->
 <project name="protocol-interactiveselenium" default="deps-jar" 
xmlns:ivy="antlib:org.apache.ivy.ant">
 
-    <property name="ivy.install.version" value="2.1.0" />
-    <condition property="ivy.home" value="${env.IVY_HOME}">
-      <isset property="env.IVY_HOME" />
-    </condition>
-    <property name="ivy.home" value="${user.home}/.ant" />
-    <property name="ivy.checksums" value="" />
-    <property name="ivy.jar.dir" value="${ivy.home}/lib" />
-    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
-
-    <target name="download-ivy" unless="offline">
-
-        <mkdir dir="${ivy.jar.dir}"/>
-        <!-- download Ivy from web site so that it can be used even without 
any special installation -->
-        <get 
src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar";
 
-             dest="${ivy.jar.file}" usetimestamp="true"/>
-    </target>
-
-    <target name="init-ivy" depends="download-ivy">
-      <!-- try to load ivy here from ivy home, in case the user has not 
already dropped
-              it into ant's lib dir (note that the latter copy will always 
take precedence).
-              We will not fail as long as local lib dir exists (it may be 
empty) and
-              ivy is in at least one of ant's lib dir or the local lib dir. -->
-        <path id="ivy.lib.path">
-            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
-
-        </path>
-        <taskdef resource="org/apache/ivy/ant/antlib.xml"
-                 uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
-    </target>
+  <property name="ivy.dir" value="../../../ivy" />
+  <property file="../../../default.properties" />
+
+  <target name="download-ivy" unless="offline">
+    <!-- download Ivy from web site so that it can be used even without any 
special installation -->
+    <available file="${ivy.jar}" property="ivy.jar.found"/>
+    <antcall target="ivy-download-unchecked"/>
+  </target>
+
+  <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 name="init-ivy" depends="download-ivy">
+    <!-- try to load ivy here from ivy home, in case the user has not already 
dropped
+         it into ant's lib dir (note that the latter copy will always take 
precedence).
+         We will not fail as long as local lib dir exists (it may be empty) and
+         ivy is in at least one of ant's lib dir or the local lib dir. -->
+    <taskdef resource="org/apache/ivy/ant/antlib.xml"
+             uri="antlib:org.apache.ivy.ant" classpath="${ivy.jar}"/>
+    <ivy:settings file="${ivy.dir}/ivysettings.xml" />
+  </target>
 
   <target name="deps-jar" depends="init-ivy">
     <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]" sync="true"/>
diff --git a/src/plugin/protocol-selenium/build-ivy.xml 
b/src/plugin/protocol-selenium/build-ivy.xml
index 087b9bc..283770e 100644
--- a/src/plugin/protocol-selenium/build-ivy.xml
+++ b/src/plugin/protocol-selenium/build-ivy.xml
@@ -17,35 +17,28 @@
 -->
 <project name="protocol-selenium" default="deps-jar" 
xmlns:ivy="antlib:org.apache.ivy.ant">
 
-    <property name="ivy.install.version" value="2.1.0" />
-    <condition property="ivy.home" value="${env.IVY_HOME}">
-      <isset property="env.IVY_HOME" />
-    </condition>
-    <property name="ivy.home" value="${user.home}/.ant" />
-    <property name="ivy.checksums" value="" />
-    <property name="ivy.jar.dir" value="${ivy.home}/lib" />
-    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
-
-    <target name="download-ivy" unless="offline">
-
-        <mkdir dir="${ivy.jar.dir}"/>
-        <!-- download Ivy from web site so that it can be used even without 
any special installation -->
-        <get 
src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar";
 
-             dest="${ivy.jar.file}" usetimestamp="true"/>
-    </target>
-
-    <target name="init-ivy" depends="download-ivy">
-      <!-- try to load ivy here from ivy home, in case the user has not 
already dropped
-              it into ant's lib dir (note that the latter copy will always 
take precedence).
-              We will not fail as long as local lib dir exists (it may be 
empty) and
-              ivy is in at least one of ant's lib dir or the local lib dir. -->
-        <path id="ivy.lib.path">
-            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
-
-        </path>
-        <taskdef resource="org/apache/ivy/ant/antlib.xml"
-                 uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
-    </target>
+  <property name="ivy.dir" value="../../../ivy" />
+  <property file="../../../default.properties" />
+
+  <target name="download-ivy" unless="offline">
+    <!-- download Ivy from web site so that it can be used even without any 
special installation -->
+    <available file="${ivy.jar}" property="ivy.jar.found"/>
+    <antcall target="ivy-download-unchecked"/>
+  </target>
+
+  <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 name="init-ivy" depends="download-ivy">
+    <!-- try to load ivy here from ivy home, in case the user has not already 
dropped
+         it into ant's lib dir (note that the latter copy will always take 
precedence).
+         We will not fail as long as local lib dir exists (it may be empty) and
+         ivy is in at least one of ant's lib dir or the local lib dir. -->
+    <taskdef resource="org/apache/ivy/ant/antlib.xml"
+             uri="antlib:org.apache.ivy.ant" classpath="${ivy.jar}"/>
+    <ivy:settings file="${ivy.dir}/ivysettings.xml" />
+  </target>
 
   <target name="deps-jar" depends="init-ivy">
     <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]" sync="true"/>
diff --git a/src/plugin/publish-rabbitmq/build-ivy.xml 
b/src/plugin/publish-rabbitmq/build-ivy.xml
index b645e99..f0719b6 100644
--- a/src/plugin/publish-rabbitmq/build-ivy.xml
+++ b/src/plugin/publish-rabbitmq/build-ivy.xml
@@ -17,38 +17,31 @@
 -->
 <project name="publish-rabbitmq" default="deps-jar" 
xmlns:ivy="antlib:org.apache.ivy.ant">
 
-    <property name="ivy.install.version" value="2.1.0" />
-    <condition property="ivy.home" value="${env.IVY_HOME}">
-      <isset property="env.IVY_HOME" />
-    </condition>
-    <property name="ivy.home" value="${user.home}/.ant" />
-    <property name="ivy.checksums" value="" />
-    <property name="ivy.jar.dir" value="${ivy.home}/lib" />
-    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
-
-    <target name="download-ivy" unless="offline">
-
-        <mkdir dir="${ivy.jar.dir}"/>
-        <!-- download Ivy from web site so that it can be used even without 
any special installation -->
-        <get 
src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar";
 
-             dest="${ivy.jar.file}" usetimestamp="true"/>
-    </target>
-
-    <target name="init-ivy" depends="download-ivy">
-      <!-- try to load ivy here from ivy home, in case the user has not 
already dropped
-              it into ant's lib dir (note that the latter copy will always 
take precedence).
-              We will not fail as long as local lib dir exists (it may be 
empty) and
-              ivy is in at least one of ant's lib dir or the local lib dir. -->
-        <path id="ivy.lib.path">
-            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
-
-        </path>
-        <taskdef resource="org/apache/ivy/ant/antlib.xml"
-                 uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
-    </target>
+  <property name="ivy.dir" value="../../../ivy" />
+  <property file="../../../default.properties" />
+
+  <target name="download-ivy" unless="offline">
+    <!-- download Ivy from web site so that it can be used even without any 
special installation -->
+    <available file="${ivy.jar}" property="ivy.jar.found"/>
+    <antcall target="ivy-download-unchecked"/>
+  </target>
+
+  <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 name="init-ivy" depends="download-ivy">
+    <!-- try to load ivy here from ivy home, in case the user has not already 
dropped
+         it into ant's lib dir (note that the latter copy will always take 
precedence).
+         We will not fail as long as local lib dir exists (it may be empty) and
+         ivy is in at least one of ant's lib dir or the local lib dir. -->
+    <taskdef resource="org/apache/ivy/ant/antlib.xml"
+             uri="antlib:org.apache.ivy.ant" classpath="${ivy.jar}"/>
+    <ivy:settings file="${ivy.dir}/ivysettings.xml" />
+  </target>
 
   <target name="deps-jar" depends="init-ivy">
-    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]"/>
+    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]" sync="true"/>
   </target>
 
 </project>
diff --git a/src/plugin/scoring-similarity/build-ivy.xml 
b/src/plugin/scoring-similarity/build-ivy.xml
index 54c973f..5c28143 100644
--- a/src/plugin/scoring-similarity/build-ivy.xml
+++ b/src/plugin/scoring-similarity/build-ivy.xml
@@ -17,38 +17,31 @@
 -->
 <project name="scoring-similarity" default="deps-jar" 
xmlns:ivy="antlib:org.apache.ivy.ant">
 
-    <property name="ivy.install.version" value="2.1.0" />
-    <condition property="ivy.home" value="${env.IVY_HOME}">
-      <isset property="env.IVY_HOME" />
-    </condition>
-    <property name="ivy.home" value="${user.home}/.ant" />
-    <property name="ivy.checksums" value="" />
-    <property name="ivy.jar.dir" value="${ivy.home}/lib" />
-    <property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" />
-
-    <target name="download-ivy" unless="offline">
-
-        <mkdir dir="${ivy.jar.dir}"/>
-        <!-- download Ivy from web site so that it can be used even without 
any special installation -->
-        <get 
src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar";
 
-             dest="${ivy.jar.file}" usetimestamp="true"/>
-    </target>
-
-    <target name="init-ivy" depends="download-ivy">
-      <!-- try to load ivy here from ivy home, in case the user has not 
already dropped
-              it into ant's lib dir (note that the latter copy will always 
take precedence).
-              We will not fail as long as local lib dir exists (it may be 
empty) and
-              ivy is in at least one of ant's lib dir or the local lib dir. -->
-        <path id="ivy.lib.path">
-            <fileset dir="${ivy.jar.dir}" includes="*.jar"/>
-
-        </path>
-        <taskdef resource="org/apache/ivy/ant/antlib.xml"
-                 uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
-    </target>
+  <property name="ivy.dir" value="../../../ivy" />
+  <property file="../../../default.properties" />
+
+  <target name="download-ivy" unless="offline">
+    <!-- download Ivy from web site so that it can be used even without any 
special installation -->
+    <available file="${ivy.jar}" property="ivy.jar.found"/>
+    <antcall target="ivy-download-unchecked"/>
+  </target>
+
+  <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 name="init-ivy" depends="download-ivy">
+    <!-- try to load ivy here from ivy home, in case the user has not already 
dropped
+         it into ant's lib dir (note that the latter copy will always take 
precedence).
+         We will not fail as long as local lib dir exists (it may be empty) and
+         ivy is in at least one of ant's lib dir or the local lib dir. -->
+    <taskdef resource="org/apache/ivy/ant/antlib.xml"
+             uri="antlib:org.apache.ivy.ant" classpath="${ivy.jar}"/>
+    <ivy:settings file="${ivy.dir}/ivysettings.xml" />
+  </target>
 
   <target name="deps-jar" depends="init-ivy">
-    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]"/>
+    <ivy:retrieve pattern="lib/[artifact]-[revision].[ext]" sync="true"/>
   </target>
 
 </project>

Reply via email to