blob: b275aba87b221b1f2b52ce70213ebf06c944d8e6 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
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 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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>29</version>
<relativePath />
</parent>
<groupId>org.apache.tika</groupId>
<artifactId>tika-parent</artifactId>
<version>2.8.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Apache Tika parent</name>
<description>
Apache Tika is a toolkit for detecting and extracting metadata and
structured text content from various documents using existing parser
libraries.
</description>
<inceptionYear>2007</inceptionYear>
<url>https://tika.apache.org/</url>
<organization>
<name>The Apache Software Foundation</name>
<url>https://www.apache.org</url>
</organization>
<issueManagement>
<system>JIRA</system>
<url>https://issues.apache.org/jira/browse/TIKA</url>
</issueManagement>
<ciManagement>
<system>Jenkins</system>
<url>https://ci-builds.apache.org/job/Tika/</url>
</ciManagement>
<mailingLists>
<mailingList>
<name>Development mailing list</name>
<subscribe>dev-subscribe@tika.apache.org</subscribe>
<unsubscribe>dev-unsubscribe@tika.apache.org</unsubscribe>
<post>dev@tika.apache.org</post>
<archive>https://lists.apache.org/list.html?dev@tika.apache.org</archive>
<otherArchives>
<otherArchive>http://mail-archives.apache.org/mod_mbox/tika-dev/</otherArchive>
<otherArchive>http://mail-archives.apache.org/mod_mbox/lucene-tika-dev</otherArchive>
<otherArchive>http://www.mail-archive.com/dev@tika.apache.org</otherArchive>
<otherArchive>http://www.mail-archive.com/tika-dev@lucene.apache.org/</otherArchive>
<otherArchive>http://www.mail-archive.com/tika-dev@incubator.apache.org/</otherArchive>
<otherArchive>http://www.nabble.com/Apache-Tika---Development-f20913.html</otherArchive>
<otherArchive>http://news.gmane.org/gmane.comp.apache.tika.devel</otherArchive>
<otherArchive>http://tika.markmail.org/</otherArchive>
</otherArchives>
</mailingList>
<mailingList>
<name>Commit mailing list</name>
<subscribe>commits-subscribe@tika.apache.org</subscribe>
<unsubscribe>commits-unsubscribe@tika.apache.org</unsubscribe>
<post>commits@tika.apache.org</post>
<archive>https://lists.apache.org/list.html?commits@tika.apache.org</archive>
<otherArchives>
<otherArchive>http://mail-archives.apache.org/mod_mbox/tika-commits/</otherArchive>
<otherArchive>http://mail-archives.apache.org/mod_mbox/lucene-tika-commits/</otherArchive>
<otherArchive>http://www.mail-archive.com/tika-commits@lucene.apache.org/</otherArchive>
<otherArchive>http://www.mail-archive.com/tika-commits@incubator.apache.org/</otherArchive>
</otherArchives>
</mailingList>
<mailingList>
<name>User mailing list</name>
<subscribe>user-subscribe@tika.apache.org</subscribe>
<unsubscribe>user-unsubscribe@tika.apache.org</unsubscribe>
<post>user@tika.apache.org</post>
<archive>https://lists.apache.org/list.html?user@tika.apache.org</archive>
<otherArchives>
<otherArchive>http://mail-archives.apache.org/mod_mbox/tika-user/</otherArchive>
<otherArchive>http://mail-archives.apache.org/mod_mbox/lucene-tika-user/</otherArchive>
<otherArchive>http://www.mail-archive.com/tika-user@lucene.apache.org/</otherArchive>
</otherArchives>
</mailingList>
</mailingLists>
<developers>
<developer>
<name>Rida Benjelloun</name>
<id>ridabenjelloun</id>
<email>ridabenjelloun@apache.org</email>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<name>Mark Harwood</name>
<id>mharwood</id>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<name>Ken Krugler</name>
<id>kkrugler</id>
<email>kkrugler@apache.org</email>
<url>http://ken-blog.krugler.org</url>
<organization>Scale Unlimited</organization>
<organizationUrl>http://www.scaleunlimited.com</organizationUrl>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<name>Chris A. Mattmann</name>
<id>mattmann</id>
<email>mattmann@apache.org</email>
<url>http://people.apache.org/~mattmann/</url>
<organization>NASA Jet Propulsion Laboratory</organization>
<organizationUrl>http://www.jpl.nasa.gov</organizationUrl>
<timezone>-8</timezone>
<properties />
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<name>Michael McCandless</name>
<id>mikemccand</id>
<email>mikemccand@apache.org</email>
<organization>IBM</organization>
<properties />
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<name>Dave Meikle</name>
<id>dmeikle</id>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<name>Sami Siren</name>
<id>siren</id>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<name>Nick Burch</name>
<id>nick</id>
<organization>Alfresco</organization>
<organizationUrl>http://alfresco.com</organizationUrl>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<name>Maxim Valyanskiy</name>
<id>maxcom</id>
<organization>Jet Infosystems</organization>
<roles>
<role>committer</role>
</roles>
<timezone>+3</timezone>
</developer>
<developer>
<name>Oleg Tikhonov</name>
<id>oleg</id>
<roles>
<role>committer</role>
</roles>
<timezone>+2</timezone>
</developer>
<developer>
<name>Ray Gauss II</name>
<id>rgauss</id>
<organization>Alfresco</organization>
<organizationUrl>http://alfresco.com</organizationUrl>
<timezone>-5</timezone>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<name>Tyler Palsulich</name>
<id>tpalsulich</id>
<timezone>-8</timezone>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<name>Tim Allison</name>
<id>tallison</id>
<timezone>-5</timezone>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<name>Konstantin Gribov</name>
<id>grossws</id>
<timezone>+3</timezone>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<name>Tilman Hausherr</name>
<id>tilman</id>
<timezone>Europe/Berlin</timezone>
<roles>
<role>committer</role>
</roles>
</developer>
<developer>
<name>Jukka Zitting</name>
<id>jukka</id>
<roles>
<role>emeritus</role>
</roles>
</developer>
<developer>
<name>Julien Nioche</name>
<id>jnioche</id>
<roles>
<role>emeritus</role>
</roles>
</developer>
<developer>
<name>Keith Bennett</name>
<id>kbennett</id>
<roles>
<role>emeritus</role>
</roles>
</developer>
<developer>
<name>Niall Pemberton</name>
<id>niallp</id>
<roles>
<role>emeritus</role>
</roles>
</developer>
</developers>
<contributors>
<contributor>
<name>Doug Cutting</name>
<roles>
<role>mentor</role>
</roles>
</contributor>
<contributor>
<name>Bertrand Delacrétaz</name>
<roles>
<role>mentor</role>
</roles>
</contributor>
</contributors>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
<project.build.outputTimestamp>1683833205</project.build.outputTimestamp>
<!-- plugin versions -->
<checkstyle.plugin.version>3.3.0</checkstyle.plugin.version>
<forbiddenapis.version>3.5.1</forbiddenapis.version>
<groovy.maven.version>2.1.1</groovy.maven.version>
<maven.antrun.version>3.1.0</maven.antrun.version>
<maven.assembly.version>3.6.0</maven.assembly.version>
<maven.bundle.version>5.1.9</maven.bundle.version>
<maven.compiler.plugin.version>3.11.0</maven.compiler.plugin.version>
<maven.failsafe.version>3.1.2</maven.failsafe.version>
<maven.javadoc.version>3.5.0</maven.javadoc.version>
<maven.jar.version>3.3.0</maven.jar.version>
<maven.scr.version>1.26.4</maven.scr.version>
<maven.surefire.version>3.1.2</maven.surefire.version>
<maven.shade.version>3.4.1</maven.shade.version>
<!-- need above java 8 for 10.[0-2] -->
<puppycrawl.version>9.3</puppycrawl.version>
<rat.version>0.15</rat.version>
<!-- dependency versions -->
<google.cloud.version>2.22.4</google.cloud.version>
<aws.version>1.12.486</aws.version>
<asm.version>9.5</asm.version>
<boilerpipe.version>1.1.0</boilerpipe.version>
<!-- used by POI, PDFBox and Jackcess ...try to sync -->
<bouncycastle.version>1.73</bouncycastle.version>
<!-- NOTE: sync brotli version with commons-compress-->
<brotli.version>0.1.2</brotli.version>
<commons.cli.version>1.5.0</commons.cli.version>
<commons.codec.version>1.15</commons.codec.version>
<commons.collections4.version>4.4</commons.collections4.version>
<commons.compress.version>1.23.0</commons.compress.version>
<commons.csv.version>1.10.0</commons.csv.version>
<commons.exec.version>1.3</commons.exec.version>
<commons.io.version>2.11.0</commons.io.version>
<commons.lang3.version>3.12.0</commons.lang3.version>
<commons.logging.version>1.2</commons.logging.version>
<commons.math3.version>3.6.1</commons.math3.version>
<commons.net.version>3.9.0</commons.net.version>
<commons.fileupload.version>1.5</commons.fileupload.version>
<ctakes.version>4.0.0.1</ctakes.version>
<!-- can't update to 3.6.0, needs jdk11 ? -->
<cxf.version>3.5.6</cxf.version>
<ddplist.version>1.27</ddplist.version>
<dl4j.version>1.0.0-M2</dl4j.version>
<!-- fakeload versions &gt; 0.4.0 require java > 8 -->
<fakeload.version>0.4.0</fakeload.version>
<guava.version>32.0.1-jre</guava.version>
<httpcomponents.version>4.5.14</httpcomponents.version>
<httpcore.version>4.4.16</httpcore.version>
<!-- versions greater than 62.2 are not compatible with icu4j handler in lucene 8.11.1 -->
<icu4j.version>62.2</icu4j.version>
<imageio.version>1.4.0</imageio.version>
<jackrabbit.version>2.21.16</jackrabbit.version>
<jackson.version>2.15.2</jackson.version>
<javax.annotation.version>1.3.2</javax.annotation.version>
<javax.jcr.version>2.0</javax.jcr.version>
<javax.rest.version>2.1.1</javax.rest.version>
<!-- updating jaxb to 3.0.2 brings convergence problems with modules that use cxf
which can be helped by excluding old versions jakarta.xml.bind,
but it turns out tika-parser-advancedmedia-module fails its tests,
because we need bind 2.3.3 for xmpbox, which uses javax.xml.bind -->
<jaxb.version>2.3.6</jaxb.version>
<jbig2.version>3.0.4</jbig2.version>
<jdom2.version>2.0.6.1</jdom2.version>
<jempbox.version>1.8.17</jempbox.version>
<jetty.version>9.4.51.v20230217</jetty.version>
<jhighlight.version>1.1.0</jhighlight.version>
<jna.version>5.13.0</jna.version>
<json.simple.version>1.1.1</json.simple.version>
<junit4.version>4.13.2</junit4.version>
<junit5.version>5.10.0-M1</junit5.version>
<junrar.version>7.5.4</junrar.version>
<libpst.version>0.9.3</libpst.version>
<log4j2.version>2.20.0</log4j2.version>
<lombok.version>1.18.20</lombok.version>
<!-- lucene >= 9.x requires Java 11 -->
<lucene.version>8.11.2</lucene.version>
<metadata.extractor.version>2.18.0</metadata.extractor.version>
<microsoft.translator.version>0.6.2</microsoft.translator.version>
<mime4j.version>0.8.9</mime4j.version>
<mockito.version>4.11.0</mockito.version>
<netcdf-java.version>4.5.5</netcdf-java.version>
<openjson.version>1.0.12</openjson.version>
<!-- 2.0.0 doesn't compile with jdk8 -->
<opennlp.version>1.9.4</opennlp.version>
<ops4j.version>1.5.1</ops4j.version>
<optimaize.version>0.6</optimaize.version>
<osgi.core.version>6.0.0</osgi.core.version>
<osgi.compendium.version>5.0.0</osgi.compendium.version>
<parso.version>2.0.14</parso.version>
<pax.exam.version>4.13.1</pax.exam.version>
<pdfbox.version>2.0.28</pdfbox.version>
<!-- NOTE: sync tukaani version with commons-compress in tika-parsers -->
<poi.version>5.2.3</poi.version>
<quartz.version>2.3.2</quartz.version>
<reactor.netty.version>1.1.7</reactor.netty.version>
<rome.version>1.19.0</rome.version>
<scm.version>2.0.1</scm.version>
<sis.version>1.3</sis.version>
<slf4j.version>2.0.7</slf4j.version>
<solrj.version>8.11.2</solrj.version>
<!-- NOTE: Spring 6 requires jdk17 -->
<spring.version>5.3.27</spring.version>
<sqlite.version>3.42.0.0</sqlite.version>
<tagsoup.version>1.2.1</tagsoup.version>
<test.containers.version>1.18.3</test.containers.version>
<!-- NOTE: sync tukaani version with commons-compress in tika-parent-->
<tukaani.version>1.9</tukaani.version>
<twelvemonkeys.version>3.9.4</twelvemonkeys.version>
<uima.version>3.4.1</uima.version>
<uimafit.version>3.4.0</uimafit.version>
<vorbis.version>0.8</vorbis.version>
<xerces.version>2.12.2</xerces.version>
<xmpcore.version>6.1.11</xmpcore.version>
<zstd.version>1.5.5-4</zstd.version>
<kafka.version>3.4.0</kafka.version>
<netty.version>4.1.93.Final</netty.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- boms -->
<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<version>${jackson.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-bom</artifactId>
<version>${netty.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-bom</artifactId>
<version>${cxf.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-bom</artifactId>
<version>${log4j2.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-bom</artifactId>
<version>${jetty.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>${junit5.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers-bom</artifactId>
<version>${test.containers.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>biz.aQute.bnd</groupId>
<artifactId>biz.aQute.bndlib</artifactId>
<version>6.4.1</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>${aws.version}</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-storage-blob</artifactId>
<version>12.22.2</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core</artifactId>
<version>1.40.0</version>
</dependency>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-core-http-netty</artifactId>
<version>1.13.4</version>
<exclusions>
<exclusion>
<groupId>io.netty</groupId>
<artifactId>netty-transport-native-epoll</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.drewnoakes</groupId>
<artifactId>metadata-extractor</artifactId>
<version>${metadata.extractor.version}</version>
</dependency>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-storage</artifactId>
<version>${google.cloud.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.woodstox</groupId>
<artifactId>woodstox-core</artifactId>
<version>6.5.1</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.5</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>mchange-commons-java</artifactId>
<version>0.2.20</version>
</dependency>
<dependency>
<groupId>com.beust</groupId>
<artifactId>jcommander</artifactId>
<version>1.82</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>${jackson.version}</version>
<exclusions>
<exclusion>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
</exclusion>
<exclusion>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.github.albfernandez</groupId>
<artifactId>juniversalchardet</artifactId>
<version>2.4.0</version>
</dependency>
<!-- jai-imageio-core is allowed since LEGAL-304 -->
<dependency>
<groupId>com.github.jai-imageio</groupId>
<artifactId>jai-imageio-core</artifactId>
<version>${imageio.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>${json.simple.version}</version>
<exclusions>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.23.2</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>2.1.214</version>
</dependency>
<dependency>
<groupId>com.healthmarketscience.jackcess</groupId>
<artifactId>jackcess</artifactId>
<version>4.0.5</version>
</dependency>
<dependency>
<groupId>com.healthmarketscience.jackcess</groupId>
<artifactId>jackcess-encrypt</artifactId>
<version>4.0.2</version>
<exclusions>
<!-- to avoid maven-enforcer convergence error,
let's make this explicit -->
<exclusion>
<groupId>com.healthmarketscience.jackcess</groupId>
<artifactId>jackcess</artifactId>
</exclusion>
<exclusion>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>${icu4j.version}</version>
</dependency>
<dependency>
<groupId>com.twelvemonkeys.common</groupId>
<artifactId>common-io</artifactId>
<version>${twelvemonkeys.version}</version>
</dependency>
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-bmp</artifactId>
<version>${twelvemonkeys.version}</version>
</dependency>
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-jpeg</artifactId>
<version>${twelvemonkeys.version}</version>
</dependency>
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-psd</artifactId>
<version>${twelvemonkeys.version}</version>
</dependency>
<dependency>
<groupId>com.twelvemonkeys.imageio</groupId>
<artifactId>imageio-tiff</artifactId>
<version>${twelvemonkeys.version}</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>${commons.cli.version}</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>${commons.codec.version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons.io.version}</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${commons.logging.version}</version>
</dependency>
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-core</artifactId>
<version>3.5.6</version>
</dependency>
<dependency>
<groupId>io.projectreactor.netty</groupId>
<artifactId>reactor-netty-core</artifactId>
<version>${reactor.netty.version}</version>
</dependency>
<dependency>
<groupId>io.projectreactor.netty</groupId>
<artifactId>reactor-netty-http</artifactId>
<version>${reactor.netty.version}</version>
</dependency>
<dependency>
<groupId>it.unimi.dsi</groupId>
<artifactId>fastutil</artifactId>
<version>8.5.12</version>
</dependency>
<dependency>
<groupId>javax.annotation</groupId>
<artifactId>javax.annotation-api</artifactId>
<version>${javax.annotation.version}</version>
</dependency>
<!-- can't upgrade higher until geoapi does because of changes in classes after 2.1 -->
<dependency>
<groupId>javax.measure</groupId>
<artifactId>unit-api</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>${javax.rest.version}</version>
</dependency>
<dependency>
<groupId>javax.xml.soap</groupId>
<artifactId>javax.xml.soap-api</artifactId>
<version>1.4.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit4.version}</version>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>${jna.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>${commons.collections4.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>${commons.compress.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>${commons.csv.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-exec</artifactId>
<version>${commons.exec.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons.lang3.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>${commons.math3.version}</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.scr.annotations</artifactId>
<version>1.12.0</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${httpcomponents.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>${httpcore.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
<version>${httpcomponents.version}</version>
</dependency>
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>oak-jackrabbit-api</artifactId>
<version>1.50.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j2.version}</version>
<exclusions>
<!-- weak dependency on org.osgi.core 4.3.1 -->
<exclusion>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-common</artifactId>
<version>${lucene.version}</version>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-analyzers-icu</artifactId>
<version>${lucene.version}</version>
</dependency>
<dependency>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-core</artifactId>
<version>${lucene.version}</version>
</dependency>
<dependency>
<groupId>org.apache.opennlp</groupId>
<artifactId>opennlp-tools</artifactId>
<version>${opennlp.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>${poi.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcmail-jdk18on</artifactId>
<version>${bouncycastle.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk18on</artifactId>
<version>${bouncycastle.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk18on</artifactId>
<version>${bouncycastle.version}</version>
</dependency>
<dependency>
<groupId>org.ccil.cowan.tagsoup</groupId>
<artifactId>tagsoup</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.5.1</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.32</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>${jaxb.version}</version>
</dependency>
<dependency>
<groupId>org.jdom</groupId>
<artifactId>jdom2</artifactId>
<version>${jdom2.version}</version>
</dependency>
<dependency>
<groupId>org.jvnet.staxex</groupId>
<artifactId>stax-ex</artifactId>
<version>2.1.0</version>
<exclusions>
<!-- avoid dependency convergence error in tika-translate if > 2.0.1 on jdk18 -->
<exclusion>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
</dependency>
<dependency>
<groupId>org.netpreserve</groupId>
<artifactId>jwarc</artifactId>
<version>0.22.0</version>
</dependency>
<dependency>
<groupId>org.opengis</groupId>
<artifactId>geoapi</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>org.ops4j.base</groupId>
<artifactId>ops4j-base-lang</artifactId>
<version>${ops4j.version}</version>
</dependency>
<dependency>
<groupId>org.ops4j.base</groupId>
<artifactId>ops4j-base-util-property</artifactId>
<version>${ops4j.version}</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.compendium</artifactId>
<version>${osgi.compendium.version}</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.core</artifactId>
<version>${osgi.core.version}</version>
</dependency>
<!-- for bndlib -->
<dependency>
<groupId>org.osgi</groupId>
<artifactId>org.osgi.util.function</artifactId>
<version>1.2.0</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!-- need to specify this to avoid
version clash within ctakes-core 4.0.0 -->
<dependency>
<groupId>org.apache.uima</groupId>
<artifactId>uimafit-core</artifactId>
<version>${uimafit.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.uima</groupId>
<artifactId>uimaj-core</artifactId>
<version>${uima.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.xerial.snappy</groupId>
<artifactId>snappy-java</artifactId>
<version>1.1.10.0</version>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>${xerces.version}</version>
</dependency>
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>${commons.fileupload.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.plugin.version}</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
<!--
mvn versions:display-plugin-updates
mvn versions:display-dependency-updates
-->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.16.0</version>
<configuration>
<generateBackupPoms>false</generateBackupPoms>
</configuration>
</plugin>
<!-- to run just this: mvn ossindex:audit -Dossindex.fail=(true|false)
Although, -Dossindex.fail doesn't seem to work for us -->
<plugin>
<groupId>org.sonatype.ossindex.maven</groupId>
<artifactId>ossindex-maven-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<excludeCoordinates>
<!-- the link from ossindex "divide by zero" points to fixes that were made in 2.18.0 -->
<exclude>
<groupId>com.drewnoakes</groupId>
<artifactId>metadata-extractor</artifactId>
<version>2.18.0</version>
</exclude>
<exclude>
<!-- sonatype https://github.com/google/guava/issues/4011 -->
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>32.0.0-jre</version>
</exclude>
<!-- sonatype https://ossindex.sonatype.org/vulnerability/sonatype-2021-0818
false positive? related bug https://github.com/grpc/grpc-java/issues/8311
has been fixed -->
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-core</artifactId>
<version>1.53.0</version>
</dependency>
<exclude>
<!-- CVE-2018-18928 does affect the java library not just the c/c++ library,
upon further research -->
<groupId>com.ibm.icu</groupId>
<artifactId>icu4j</artifactId>
<version>${icu4j.version}</version>
</exclude>
<exclude>
<groupId>io.netty</groupId>
<artifactId>netty-handler</artifactId>
<version>${netty.version}</version>
</exclude>
<exclude>
<!-- the most recent cve in sonatype for this artifact is 2.11.0,
not at all the version we're using...smh-->
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>${xerces.version}</version>
</exclude>
<!-- these are used by the nlp-module -->
<exclude>
<groupId>org.apache.lucene</groupId>
<artifactId>lucene-queryparser</artifactId>
<version>4.0.0</version>
</exclude>
<!-- this one is used in tika-example -->
<exclude>
<!-- sonatype: https://github.com/apache/commons-dbcp/commit/a4c5af0da1de3a7f50c72fc7edaa1f653ca276dd -->
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</exclude>
<!-- used only in tests and in tika-eval, and this problem requires the use of the console.
https://github.com/h2database/h2database/issues/1294 -->
<exclude>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>2.1.214</version>
</exclude>
</excludeCoordinates>
<fail>true</fail>
</configuration>
<executions>
<execution>
<id>audit-dependencies</id>
<phase>validate</phase>
<goals>
<goal>audit</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>de.thetaphi</groupId>
<artifactId>forbiddenapis</artifactId>
<version>${forbiddenapis.version}</version>
<configuration>
<targetVersion>${maven.compiler.target}</targetVersion>
<ignoreSignaturesOfMissingClasses>true</ignoreSignaturesOfMissingClasses>
<failOnUnsupportedJava>false</failOnUnsupportedJava>
<excludes>test-documents/*.class</excludes>
<bundledSignatures>
<bundledSignature>jdk-unsafe</bundledSignature>
<bundledSignature>jdk-deprecated</bundledSignature>
<bundledSignature>jdk-non-portable</bundledSignature>
<bundledSignature>jdk-internal</bundledSignature>
<!-- replace with ${commons.io.version} when available -->
<bundledSignature>commons-io-unsafe-2.11.0</bundledSignature>
</bundledSignatures>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
<goal>testCheck</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>${maven.bundle.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire.version}
</version> <!-- versions greater than this don't like System.exit calls in tika-batch -->
<configuration>
<argLine>-Xmx3072m -Djava.awt.headless=true</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${maven.shade.version}</version>
</plugin>
<!-- assembly must happen after shade so that
tika-server's -bin.tgz/zip includes the uber jar
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>${maven.assembly.version}</version>
<configuration>
<tarLongFileMode>posix</tarLongFileMode>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-release-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-gitexe</artifactId>
<version>${scm.version}</version>
</dependency>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-api</artifactId>
<version>${scm.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.3.0</version>
<executions>
<execution>
<id>enforce-maven</id>
<configuration>
<rules>
<dependencyConvergence />
<requireMavenVersion>
<version>3.5</version>
</requireMavenVersion>
</rules>
</configuration>
<goals>
<goal>enforce</goal>
</goals>
</execution>
<execution>
<id>ban-bad-log4j-versions</id>
<phase>validate</phase>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<bannedDependencies>
<excludes>
<exclude>org.apache.logging.log4j:log4j-core:(,2.17.1)</exclude>
</excludes>
</bannedDependencies>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<!-- mvn validate -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${checkstyle.plugin.version}</version>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>${puppycrawl.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<configuration>
<configLocation>checkstyle.xml</configLocation>
<consoleOutput>false</consoleOutput>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<testSourceDirectories>${project.basedir}/src/test/java</testSourceDirectories>
<violationSeverity>warn</violationSeverity>
<failOnViolation>true</failOnViolation>
<failsOnError>true</failsOnError>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>pedantic</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>${rat.version}</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>sonar</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/ForkParser*Test.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>doclint-java8-disable</id>
<activation>
<jdk>[1.8,)</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven.javadoc.version}</version>
<configuration>
<doclint>none</doclint>
<source>1.8</source>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>jdk9</id>
<activation>
<jdk>[1.9,)</jdk>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<release>8</release>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>ossindex-fail</id>
<!-- actually fail the build on vulnerabilities -->
<build>
<plugins>
<plugin>
<groupId>org.sonatype.ossindex.maven</groupId>
<artifactId>ossindex-maven-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<fail>true</fail>
<excludeCoordinates>
<!-- <coordinate> </coordinate> -->
</excludeCoordinates>
</configuration>
<executions>
<execution>
<id>audit-dependencies</id>
<phase>validate</phase>
<goals>
<goal>audit</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<!--
<connection>scm:git:https://github.com/apache/</connection>
<developerConnection>scm:git:https://github.com/apache/</developerConnection>
<url>https://github.com/apache/tika</url>
-->
<scm>
<tag>2.3.0-rc1</tag>
<connection>scm:git:https://github.com/apache/</connection>
<developerConnection>scm:git:https://github.com/apache/</developerConnection>
<url>https://github.com/apache/tika</url>
</scm>
</project>