You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
yacy_search_server/pom.xml

636 lines
25 KiB

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.yacy</groupId>
<artifactId>yacycore</artifactId>
<version>1.922</version>
<packaging>jar</packaging>
<description>YaCy - a Peer to Peer Web Search Engine</description>
<name>YaCy Search Server</name>
<url>http://www.yacy.net</url>
<issueManagement>
<system>YaCy Bugtracker</system>
<url>https://github.com/yacy/yacy_search_server/issues</url>
</issueManagement>
<scm>
<connection>scm:git:https://github.com/yacy/yacy_search_server.git</connection>
<url>https://github.com/yacy/yacy_search_server</url>
</scm>
<licenses>
<license>
<name>GNU General Public License</name>
<url>http://www.gnu.org/licenses/gpl-2.0</url>
</license>
</licenses>
<developers>
<developer>
<name>Michael Peter Christen</name>
</developer>
</developers>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<!-- the Solr version used in dependency section for all related dependencies -->
<solr.version>6.6.6</solr.version>
<!-- the Jetty version used in dependency section for all related dependencies -->
<jetty.version>9.4.35.v20201120</jetty.version>
<!-- properties used for filtering yacyBuildProperties.java -->
<REPL_DATE>${DSTAMP}</REPL_DATE>
<REPL_RELEASE>yacy_v${project.version}_${DSTAMP}_${releaseNr}.tar.gz</REPL_RELEASE>
<REPL_VERSION>${project.version}</REPL_VERSION>
<REPL_REVISION_NR>${releaseNr}</REPL_REVISION_NR>
<REPL_YACY_ROOT_DIR>.</REPL_YACY_ROOT_DIR>
<REPL_PKGMANAGER>false</REPL_PKGMANAGER>
<REPL_RESTARTCMD>/etc/init.d/yacy restart</REPL_RESTARTCMD>
</properties>
<build>
<sourceDirectory>source</sourceDirectory>
<testSourceDirectory>test/java</testSourceDirectory>
<finalName>yacycore</finalName>
<plugins>
<!-- included to make htroot visible in IDE (Netbeans) -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<warSourceDirectory>htroot</warSourceDirectory>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<excludes>
<!-- special exclude for compatibility with ant build script
Note: the ant build uses a tricky source filtering to filter yacyBuildProperties.java
for the Maven build the original source is used for filtering to produce generated-sources.
For the ant build script the yacyBuildProperties.java must be at it's origianl location,
thus it is excluded here to prevent Maven compile error "duplicate source"
-->
<exclude>net/yacy/peers/operation/*.java</exclude>
</excludes>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<archive>
<manifest>
<mainClass>net.yacy.yacy</mainClass>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addClasspath>true</addClasspath>
</manifest>
<manifestEntries>
<Implementation-Build>${project.version}-${releaseNr}</Implementation-Build>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.6.1</version>
<configuration>
<filesets>
<!-- clean htroot servlet classes -->
<fileset>
<directory>htroot</directory>
<includes>
<include>**/*.class</include>
</includes>
</fileset>
<!-- clean test data -->
<fileset>
<directory>test/DATA</directory>
</fileset>
</filesets>
</configuration>
</plugin>
<!-- compile htroot -->
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>compile-htroot</id>
<phase>compile</phase>
<configuration>
<target>
<javac fork="true" srcdir="htroot"
excludes="processing/**"
source="${maven.compiler.source}" target="${maven.compiler.target}"
debug="true" debuglevel="lines,vars,source"
includeantruntime="false" encoding="UTF-8">
<classpath refid="maven.compile.classpath"/>
<compilerarg value="-Xlint"/>
</javac>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.10.4</version>
<configuration>
<reportOutputDirectory>javadoc</reportOutputDirectory>
<author>true</author>
<version>true</version>
<use>true</use>
<charset>UTF-8</charset>
<encoding>UTF-8</encoding>
<windowtitle>YaCy API: javadoc documentation</windowtitle>
<includes>
${project.build.directory}/*.java
</includes>
<failOnError>false</failOnError>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>templating-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<id>filter-src</id>
<goals>
<goal>filter-sources</goal>
</goals>
<configuration>
<!-- sourceDirectory should be a separate template directory like
<sourceDirectory>${basedir}/libbuild/java-templates</sourceDirectory>
to not duplicate the yacyBuildProperties.java we use the original files as sourceDirectory
(to be compatible with the ant build.xml,
but it should be changed in future for both build systems to use a templateDirectory,
to eliminate the need of special compiler excludes
-->
<sourceDirectory>${basedir}/source/net/yacy/peers/operation</sourceDirectory>
<outputDirectory>${project.build.directory}/generated-sources/java/net/yacy/peers/operation</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- exec:exec goal to provide start YaCy by Maven (just to have it for cases were the ide not provides a run command) -->
<!--
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<classpathScope>runtime</classpathScope>
<executable>java</executable>
<workingDirectory>${basedir}</workingDirectory>
<arguments>
<argument>-Xms180m</argument>
<argument>-Xmx800m</argument>
<argument>-classpath</argument>
<classpath/>
<argument>net.yacy.yacy</argument>
</arguments>
</configuration>
</plugin>
-->
</plugins>
</build>
<profiles>
<profile>
<!-- Active when .git directory is missing -->
<id>no-git</id>
<activation>
<file>
<missing>.git</missing>
</file>
</activation>
<properties>
<!-- fallback value consistent with ant build -->
<releaseNr>9000</releaseNr>
</properties>
</profile>
<profile>
<id>git-rev-number</id>
<!-- Active profile when .git folder exists -->
<activation>
<file>
<exists>.git</exists>
</file>
</activation>
<build>
<plugins>
<!-- custom plugin to add YaCy release number from local Git clone
sets property <releaseNr>9nnn</releasNr> <DSTAMP>yyyyMMdd</DSTAMP>
! run sub project in libbuild to install the plugin ! -->
<plugin>
<groupId>net.yacy</groupId>
<artifactId>maven-plugin-gitrevisionnumber</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>create</goal>
</goals>
<!-- optional parameter to set/change the propertyName
<configuration>
<branchPropertyName>branch</branchPropertyName>
<buildNumberPropertyName>releasNr</buildNumberPropertyName>
<commitDatePropertyName>DSTAMP</commitDatePropertyName>
</configuration>
-->
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<!-- profile to create a release archive -->
<id>release-profile</id>
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.6</version>
<configuration>
<descriptors>
<descriptor>assembly.xml</descriptor>
</descriptors>
<finalName>yacy_v${project.version}_${DSTAMP}_${releaseNr}</finalName>
<outputDirectory>RELEASE</outputDirectory>
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.0.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>report</id>
<build>
<plugins>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>1.4.5</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.9</version>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>1.4.5</version>
</plugin>
</plugins>
</reporting>
</profile>
</profiles>
<repositories>
<repository>
<!-- After version 2.0.3 JAudioTagger library is no more archived on Maven Central repository -->
<id>jaudiotagger-repository</id>
<url>https://dl.bintray.com/ijabz/maven</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest</artifactId>
<version>2.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-library</artifactId>
<version>2.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
<dependency>
<!-- Optional dependency of pdfbox for Encrypting and signing PDFs
see https://pdfbox.apache.org/2.0/dependencies.html#encryption-and-signing-->
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.60</version>
</dependency>
<dependency>
<!-- Optional dependency of pdfbox for Encrypting and signing PDFs -->
<groupId>org.bouncycastle</groupId>
<artifactId>bcmail-jdk15on</artifactId>
<version>1.60</version>
</dependency>
<dependency>
<!-- Optional dependency of pdfbox for Encrypting and signing PDFs -->
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>1.60</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.14</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.20</version>
<type>jar</type>
</dependency>
<dependency>
<!-- Handle XZ compressed archives. It is an optional dependency of commons-compress. -->
<groupId>org.tukaani</groupId>
<artifactId>xz</artifactId>
<version>1.8</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.7</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>4.5.12</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>63.1</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-bmp</artifactId>
<version>3.3.2</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-tiff</artifactId>
<version>3.3.2</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>net.jthink</groupId>
<artifactId>jaudiotagger</artifactId>
<version>2.2.5</version>
</dependency>
<dependency>
<groupId>net.sourceforge.jchardet</groupId>
<artifactId>jchardet</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.samba.jcifs</groupId>
<artifactId>jcifs</artifactId>
<version>1.3.3</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>1.7.25</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.54</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.12.1</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.jwat</groupId>
<artifactId>jwat-warc</artifactId>
<version>1.1.1</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.youcruit.com.cybozu.labs</groupId>
<artifactId>langdetect</artifactId>
<version>1.1.2-20151117</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>1.7.25</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>com.drewnoakes</groupId>
<artifactId>metadata-extractor</artifactId>
<version>2.11.0</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>oro</groupId>
<artifactId>oro</artifactId>
<version>2.0.8</version>
</dependency>
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.15</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-scratchpad</artifactId>
<version>3.17</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>sax</groupId>
<artifactId>sax</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>${solr.version}</version>
</dependency>
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-core</artifactId>
<version>${solr.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlets</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-webapp</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-util</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-xml</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-http</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-security</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-io</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-continuation</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jmx</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-proxy</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-deploy</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.7.25</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.bitlet</groupId>
<artifactId>weupnp</artifactId>
<version>0.1.4</version>
</dependency>
<!-- special setup for dependencies not found in maven repository
to installed in local repository -->
<dependency>
<groupId>net.yacy.extlib</groupId>
<artifactId>J7Zip-modified</artifactId>
<version>1.02</version>
</dependency>
</dependencies>
</project>