summaryrefslogtreecommitdiff
path: root/build.xml
diff options
context:
space:
mode:
Diffstat (limited to 'build.xml')
-rw-r--r--build.xml153
1 files changed, 35 insertions, 118 deletions
diff --git a/build.xml b/build.xml
index 4050e8db0..b4097b2a9 100644
--- a/build.xml
+++ b/build.xml
@@ -1,4 +1,4 @@
-<project name="YaCy" default="all" basedir=".">
+<project name="YaCy" default="all" basedir="." xmlns:ivy="antlib:org.apache.ivy.ant">
<description>
YaCy - a Peer to Peer Web Search Engine
</description>
@@ -80,17 +80,35 @@
<available file="${git}" />
</condition>
- <target name="buildGitRevTask">
+ <target name="install-ivy" depends="" description="--> install ivy">
+ <!-- try to load Ivy here from local Ivy dir, 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"/-->
+ <file file="/usr/share/java/ivy.jar" />
+ </path>
+ <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant" classpathref="ivy.lib.path"/>
+ </target>
+
+ <target name="resolve" depends="install-ivy" description="--> retrieve dependencies with Ivy">
+ <!-- The recommended way is to [conf] in the retrieve pattern instead of two calls to retrieve.
+ We can move there in a following step.
+ ${lib} just happens to be equal to ${ivy.lib.dir}.
+ -->
+ <ivy:retrieve conf="compile" pathid="compile.path" pattern="${ivy.lib.dir}/[artifact]-[revision].[ext]" />
+ <ivy:retrieve conf="test" pattern="${libt}/[artifact]-[revision].[ext]" />
+ <ivy:retrieve conf="libbuild" pattern="${libbuild}/[artifact]-[revision].[ext]" />
+ <ivy:cachepath pathId="test.path" conf="test" />
+ <ivy:cachepath pathId="libbuild.path" conf="libbuild" />
+
+ <echo message="compile.path: ${toString:compile.path}" />
+ </target>
+
+ <target name="buildGitRevTask" depends="resolve">
<!-- <delete file="${libbuild}/GitRevTask.jar" failonerror="false" /> deleted via clean no need to do it all the time -->
- <javac srcdir="${libbuild}/GitRevTask" includeantruntime="true" encoding="UTF-8">
- <classpath>
- <pathelement location="${libbuild}/org.eclipse.jgit-4.5.0.201609210915-r.jar" />
- <!-- Next are the jgit dependencies -->
- <pathelement location="${libbuild}/httpclient-4.3.6.jar" />
- <pathelement location="${libbuild}/JavaEWAH-0.7.9.jar" />
- <pathelement location="${libbuild}/jsch-0.1.53.jar" />
- <pathelement location="${libbuild}/slf4j-api-1.7.2.jar" />
- </classpath>
+ <javac srcdir="${libbuild}/GitRevTask" includeantruntime="true" encoding="UTF-8" classpathref="libbuild.path">
</javac>
<jar destfile="${libbuild}/GitRevTask.jar" basedir="${libbuild}/GitRevTask">
<manifest>
@@ -171,113 +189,11 @@
<path id="project.class.path">
<pathelement location="${build}" />
<pathelement location="${lib}/J7Zip-modified-1.0.2.jar" />
- <pathelement location="${lib}/apache-mime4j-0.6.jar" />
- <pathelement location="${lib}/avatica-core-1.13.0.jar" />
- <pathelement location="${lib}/bcmail-jdk15on-1.69.jar" />
- <pathelement location="${lib}/bcpkix-jdk15on-1.69.jar" />
- <pathelement location="${lib}/bcprov-jdk15on-1.69.jar" />
- <pathelement location="${lib}/calcite-core-1.18.0.jar" />
- <pathelement location="${lib}/calcite-linq4j-1.18.0.jar" />
- <pathelement location="${lib}/jchardet-1.0.jar" />
- <pathelement location="${lib}/common-image-3.3.2.jar" />
- <pathelement location="${lib}/common-io-3.3.2.jar" />
- <pathelement location="${lib}/common-lang-3.3.2.jar" />
- <pathelement location="${lib}/commons-codec-1.14.jar" />
- <pathelement location="${lib}/commons-collections4-4.4.jar" />
- <pathelement location="${lib}/commons-compress-1.21.jar" />
- <pathelement location="${lib}/commons-fileupload-1.4.jar" />
- <pathelement location="${lib}/commons-io-2.7.jar" />
- <pathelement location="${lib}/commons-lang-2.6.jar" />
- <pathelement location="${lib}/commons-lang3-3.12.0.jar" />
- <pathelement location="${lib}/commons-logging-1.2.jar" />
- <pathelement location="${lib}/commons-math3-3.4.1.jar" />
- <pathelement location="${lib}/fontbox-2.0.15.jar" />
- <pathelement location="${lib}/guava-25.1-jre.jar" />
- <pathelement location="${lib}/hazelcast-4.2.jar" />
- <pathelement location="${lib}/http2-client-9.4.34.v20201102.jar" />
- <pathelement location="${lib}/http2-common-9.4.34.v20201102.jar" />
- <pathelement location="${lib}/http2-http-client-transport-9.4.34.v20201102.jar" />
- <pathelement location="${lib}/httpclient-4.5.12.jar" />
- <pathelement location="${lib}/httpcore-4.4.13.jar" />
- <pathelement location="${lib}/httpmime-4.5.12.jar" />
- <pathelement location="${lib}/icu4j-63.1.jar" />
- <pathelement location="${lib}/imageio-bmp-3.3.2.jar" />
- <pathelement location="${lib}/imageio-core-3.3.2.jar" />
- <pathelement location="${lib}/imageio-metadata-3.3.2.jar" />
- <pathelement location="${lib}/imageio-tiff-3.3.2.jar" />
- <pathelement location="${lib}/jackson-annotations-2.11.2.jar" />
- <pathelement location="${lib}/jackson-core-2.11.2.jar" />
- <pathelement location="${lib}/jackson-databind-2.11.2.jar" />
- <pathelement location="${lib}/oro-2.0.8.jar" />
- <pathelement location="${lib}/jaudiotagger-2.2.5.jar" />
- <pathelement location="${lib}/javax.servlet-api-3.1.0.jar" />
- <pathelement location="${lib}/jcifs-1.3.17.jar" />
- <pathelement location="${lib}/jcl-over-slf4j-1.7.25.jar" />
- <pathelement location="${lib}/jetty-client-9.4.35.v20201120.jar" />
- <pathelement location="${lib}/jetty-continuation-9.4.35.v20201120.jar" />
- <pathelement location="${lib}/jetty-deploy-9.4.35.v20201120.jar" />
- <pathelement location="${lib}/jetty-http-9.4.35.v20201120.jar" />
- <pathelement location="${lib}/jetty-io-9.4.35.v20201120.jar" />
- <pathelement location="${lib}/jetty-jmx-9.4.35.v20201120.jar" />
- <pathelement location="${lib}/jetty-proxy-9.4.35.v20201120.jar" />
- <pathelement location="${lib}/jetty-security-9.4.35.v20201120.jar" />
- <pathelement location="${lib}/jetty-server-9.4.35.v20201120.jar" />
- <pathelement location="${lib}/jetty-servlet-9.4.35.v20201120.jar" />
- <pathelement location="${lib}/jetty-servlets-9.4.35.v20201120.jar" />
- <pathelement location="${lib}/jetty-util-9.4.35.v20201120.jar" />
- <pathelement location="${lib}/jetty-webapp-9.4.35.v20201120.jar" />
- <pathelement location="${lib}/jetty-xml-9.4.35.v20201120.jar" />
- <pathelement location="${lib}/jsch-0.1.54.jar" />
- <pathelement location="${lib}/json-simple-1.1.1.jar" />
- <pathelement location="${lib}/jsonic-1.3.10.jar" />
- <pathelement location="${lib}/jsoup-1.14.2.jar" />
- <pathelement location="${lib}/jwat-archive-common-1.1.1.jar" />
- <pathelement location="${lib}/jwat-common-1.1.1.jar" />
- <pathelement location="${lib}/jwat-gzip-1.1.1.jar" />
- <pathelement location="${lib}/jwat-warc-1.1.1.jar" />
- <pathelement location="${lib}/langdetect-1.1-20120112.jar" />
- <pathelement location="${lib}/log4j-over-slf4j-1.7.32.jar" />
- <pathelement location="${lib}/lucene-analyzers-common-8.8.1.jar" />
- <pathelement location="${lib}/lucene-analyzers-phonetic-8.8.1.jar" />
- <pathelement location="${lib}/lucene-backward-codecs-8.8.1.jar" />
- <pathelement location="${lib}/lucene-classification-8.8.1.jar" />
- <pathelement location="${lib}/lucene-codecs-8.8.1.jar" />
- <pathelement location="${lib}/lucene-core-8.8.1.jar" />
- <pathelement location="${lib}/lucene-grouping-8.8.1.jar" />
- <pathelement location="${lib}/lucene-highlighter-8.8.1.jar" />
- <pathelement location="${lib}/lucene-join-8.8.1.jar" />
- <pathelement location="${lib}/lucene-memory-8.8.1.jar" />
- <pathelement location="${lib}/lucene-misc-8.8.1.jar" />
- <pathelement location="${lib}/lucene-queries-8.8.1.jar" />
- <pathelement location="${lib}/lucene-queryparser-8.8.1.jar" />
- <pathelement location="${lib}/lucene-spatial-extras-8.8.1.jar" />
- <pathelement location="${lib}/lucene-suggest-8.8.1.jar" />
- <pathelement location="${lib}/metadata-extractor-2.11.0.jar" />
- <pathelement location="${lib}/metrics-core-3.2.2.jar" />
- <pathelement location="${lib}/metrics-jmx-4.1.5.jar" />
- <pathelement location="${lib}/opentracing-api-0.33.0.jar" />
- <pathelement location="${lib}/opentracing-noop-0.33.0.jar" />
- <pathelement location="${lib}/opentracing-util-0.33.0.jar" />
<pathelement location="${lib}/org.restlet.jar" />
- <pathelement location="${lib}/pdfbox-2.0.15.jar" />
- <pathelement location="${lib}/poi-3.17.jar" />
- <pathelement location="${lib}/poi-scratchpad-3.17.jar" />
- <pathelement location="${lib}/rrd4j-3.2.jar" />
- <pathelement location="${lib}/slf4j-api-1.7.32.jar" />
- <pathelement location="${lib}/slf4j-jdk14-1.7.32.jar" />
- <pathelement location="${lib}/solr-core-8.8.1.jar" />
- <pathelement location="${lib}/solr-solrj-8.8.1.jar" />
- <pathelement location="${lib}/spatial4j-0.6.jar" />
- <pathelement location="${lib}/stax2-api_3.1.4.jar" />
- <pathelement location="${lib}/weupnp-0.1.4.jar" />
- <pathelement location="${lib}/woodstox-core-asl-4.4.1.jar" />
- <pathelement location="${lib}/xml-apis-1.4.01.jar" />
- <pathelement location="${lib}/xmpcore-5.1.3.jar" />
- <pathelement location="${lib}/xz-1.8.jar" />
- <pathelement location="${lib}/zookeeper-3.4.14.jar" />
+ <path refid="compile.path" />
</path>
- <target name="compile-core" depends="init" description="compile YaCy core">
+ <target name="compile-core" depends="init,resolve" description="compile YaCy core">
<!-- compile yacyBuildProperties.java -->
<!-- *obsolete* - for Gradle migration process changed to use *.java.template file for filtered copy
@@ -291,6 +207,7 @@
<delete file="${build}/BuildProperties.java" />
-->
<!-- compile the core sources -->
+ <echo message="project.class.path: ${toString:project.class.path}" />
<javac srcdir="${src}/" destdir="${build}"
debug="true" debuglevel="lines,vars,source" includeantruntime="false"
source="${javacSource}" target="${javacTarget}" encoding="UTF-8">
@@ -319,7 +236,7 @@
</target>
- <target name="compile-htroot" depends="init" description="compile YaCy servlets">
+ <target name="compile-htroot" depends="init,resolve" description="compile YaCy servlets">
<!-- compile htroot, htroot/yacy and htroot/htdocsdefault -->
<javac srcdir="${htroot}/"
excludes="processing/**"
@@ -471,8 +388,8 @@
<classpath>
<pathelement location="${build}"/>
<pathelement location="${htroot}"/>
- <fileset dir="${libt}" includes="**/*.jar" />
- <fileset dir="${lib}" includes="**/*.jar" />
+ <path refid="compile.path"/>
+ <path refid="test.path"/>
</classpath>
<compilerarg value="-Xlint"/>
</javac>