<?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 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.apache.tika</groupId>
    <artifactId>tika-parent</artifactId>
    <version>1.23</version>
    <relativePath>../tika-parent/pom.xml</relativePath>
  </parent>

  <artifactId>tika-parsers</artifactId>
  <packaging>bundle</packaging>
  <name>Apache Tika parsers</name>
  <url>http://tika.apache.org/</url>

  <properties>
    <!-- NOTE: sync codec version with POI -->
    <codec.version>1.13</codec.version>
    <!-- NOTE: sync tukaani version with commons-compress in tika-parent-->
    <tukaani.version>1.8</tukaani.version>
    <!-- NOTE: sync brotli version with commons-compress in tika-parent-->
    <brotli.version>0.1.2</brotli.version>
    <mime4j.version>0.8.3</mime4j.version>
    <vorbis.version>0.8</vorbis.version>
    <pdfbox.version>2.0.17</pdfbox.version>
    <jempbox.version>1.8.16</jempbox.version>
    <netcdf-java.version>4.5.5</netcdf-java.version>
    <sis.version>1.0</sis.version>
    <parso.version>2.0.11</parso.version>
    <!-- used by POI, PDFBox and Jackcess ...try to sync -->
    <bouncycastle.version>1.64</bouncycastle.version>
    <commonsexec.version>1.3</commonsexec.version>
    <httpcomponents.version>4.5.10</httpcomponents.version>
  </properties>

  <!-- Note: as of the 1.23 release, we're waiting for external changes or fixes
     before upgrading: java-libpst, metadata-extractor. We
     need someone who understands grib to upgrade our code for edu.ucar:grib
     See: https://issues.apache.org/jira/browse/TIKA-2925?focusedCommentId=16983541&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16983541
  -->
  <dependencies>
    <!-- Optional OSGi dependency, used only when running within OSGi -->
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.core</artifactId>
      <version>${osgi.core.version}</version>
      <scope>provided</scope>
      <optional>true</optional>
    </dependency>

    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>tika-core</artifactId>
      <version>${project.version}</version>
    </dependency>

    <dependency>
      <groupId>${project.groupId}</groupId>
      <artifactId>tika-core</artifactId>
      <version>${project.version}</version>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>

   <!-- for java 10
      See TIKA-2778 for why we need to do this now.
      May the gods of API design fix this in the future.
      -->
    <dependency>
      <groupId>org.glassfish.jaxb</groupId>
      <artifactId>jaxb-runtime</artifactId>
      <version>${jaxb.version}</version>
      <exclusions>
        <exclusion>
          <groupId>jakarta.activation</groupId>
          <artifactId>jakarta.activation-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.sun.activation</groupId>
      <artifactId>jakarta.activation</artifactId>
      <version>1.2.1</version>
    </dependency>
    <dependency>
      <groupId>xerces</groupId>
      <artifactId>xercesImpl</artifactId>
      <version>2.12.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>${commons.lang3.version}</version>
    </dependency>
    <dependency>
      <groupId>javax.annotation</groupId>
      <artifactId>javax.annotation-api</artifactId>
      <version>1.3.2</version>
    </dependency>

    <!-- Externally Maintained Parsers -->
    <dependency>
      <groupId>org.gagravarr</groupId>
      <artifactId>vorbis-java-tika</artifactId>
      <version>${vorbis.version}</version>
      <exclusions>
        <exclusion>
          <groupId>org.apache.tika</groupId>
          <artifactId>tika-core</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <!-- Optional OSGi dependencies, used only when running within OSGi -->
    <dependency>
      <groupId>org.apache.felix</groupId>
      <artifactId>org.apache.felix.scr.annotations</artifactId>
      <scope>provided</scope>
    </dependency>

    <!-- Upstream parser libraries -->
    <dependency>
      <groupId>org.tallison</groupId>
      <artifactId>jmatio</artifactId>
      <version>1.5</version>
    </dependency>
    <dependency>
      <groupId>org.apache.james</groupId>
      <artifactId>apache-mime4j-core</artifactId>
      <version>${mime4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.james</groupId>
      <artifactId>apache-mime4j-dom</artifactId>
      <version>${mime4j.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-compress</artifactId>
      <version>${commons.compress.version}</version>
    </dependency>
    <dependency>
      <groupId>org.tukaani</groupId>
      <artifactId>xz</artifactId>
      <version>${tukaani.version}</version>
    </dependency>
    <dependency>
      <groupId>com.epam</groupId>
      <artifactId>parso</artifactId>
      <version>${parso.version}</version>
    </dependency>
    <dependency>
      <groupId>org.brotli</groupId>
      <artifactId>dec</artifactId>
      <version>${brotli.version}</version>
    </dependency>
    <dependency>
      <groupId>com.github.luben</groupId>
      <artifactId>zstd-jni</artifactId>
      <version>1.4.4-3</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
      <version>${codec.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.pdfbox</groupId>
      <artifactId>pdfbox</artifactId>
      <version>${pdfbox.version}</version>
      <exclusions>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.pdfbox</groupId>
      <artifactId>pdfbox-tools</artifactId>
      <version>${pdfbox.version}</version>
      <exclusions>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.pdfbox</groupId>
          <artifactId>pdfbox-debugger</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.pdfbox</groupId>
      <artifactId>jempbox</artifactId>
      <version>${jempbox.version}</version>
    </dependency>
    <!-- TIKA-370: PDFBox declares the Bouncy Castle dependencies
         as optional, but we prefer to have them always to avoid
         problems with encrypted PDFs. -->
    <dependency>
      <groupId>org.bouncycastle</groupId>
      <artifactId>bcmail-jdk15on</artifactId>
      <version>${bouncycastle.version}</version>
    </dependency>
    <dependency>
      <groupId>org.bouncycastle</groupId>
      <artifactId>bcprov-jdk15on</artifactId>
      <version>${bouncycastle.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi</artifactId>
      <version>${poi.version}</version>
      <exclusions>
        <exclusion>
          <groupId>commons-codec</groupId>
          <artifactId>commons-codec</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-scratchpad</artifactId>
      <version>${poi.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.poi</groupId>
      <artifactId>poi-ooxml</artifactId>
      <version>${poi.version}</version>
      <exclusions>
        <exclusion>
          <groupId>stax</groupId>
          <artifactId>stax-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>xml-apis</groupId>
          <artifactId>xml-apis</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.healthmarketscience.jackcess</groupId>
      <artifactId>jackcess</artifactId>
      <version>3.0.1</version>
      <exclusions>
        <exclusion>
          <groupId>org.apache.commons</groupId>
          <artifactId>commons-lang3</artifactId>
        </exclusion>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.healthmarketscience.jackcess</groupId>
      <artifactId>jackcess-encrypt</artifactId>
      <version>3.0.0</version>
      <exclusions>
        <exclusion>
          <groupId>org.bouncycastle</groupId>
          <artifactId>bcprov-jdk15on</artifactId>
        </exclusion>
        <!-- to avoid maven-enforcer convergence error,
          let's make this explicit -->
        <exclusion>
          <groupId>com.healthmarketscience.jackcess</groupId>
          <artifactId>jackcess</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.ccil.cowan.tagsoup</groupId>
      <artifactId>tagsoup</artifactId>
      <version>1.2.1</version>
    </dependency>
    <dependency>
      <groupId>org.ow2.asm</groupId>
      <artifactId>asm</artifactId>
      <version>7.2</version>
    </dependency>
    <dependency>
      <groupId>com.googlecode.mp4parser</groupId>
      <artifactId>isoparser</artifactId>
      <version>1.1.22</version>
    </dependency>
    <dependency>
      <groupId>com.drewnoakes</groupId>
      <artifactId>metadata-extractor</artifactId>
      <version>2.11.0</version>
    </dependency>
    <dependency>
      <groupId>de.l3s.boilerpipe</groupId>
      <artifactId>boilerpipe</artifactId>
      <version>1.1.0</version>
    </dependency>
    <dependency>
      <groupId>com.rometools</groupId>
      <artifactId>rome</artifactId>
      <version>1.12.2</version>
      <exclusions>
        <exclusion>
          <groupId>org.jdom</groupId>
          <artifactId>jdom</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.gagravarr</groupId>
      <artifactId>vorbis-java-core</artifactId>
      <version>${vorbis.version}</version>
    </dependency>
    <dependency>
      <groupId>com.googlecode.juniversalchardet</groupId>
      <artifactId>juniversalchardet</artifactId>
      <version>1.0.3</version>
    </dependency>
    <dependency>
      <groupId>org.codelibs</groupId>
      <artifactId>jhighlight</artifactId>
      <version>1.0.3</version>
      <exclusions>
        <exclusion>
          <groupId>commons-io</groupId>
          <artifactId>commons-io</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <!-- can't upgrade to java-libpst 0.9.3 because it requires Java 8
         and is buggy with OST TIKA-2415 -->
    <dependency>
      <groupId>com.pff</groupId>
      <artifactId>java-libpst</artifactId>
      <version>0.8.1</version>
    </dependency>
    <dependency>
      <groupId>com.github.junrar</groupId>
      <artifactId>junrar</artifactId>
      <version>4.0.0</version>
      <exclusions>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
        </exclusion>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging-api</artifactId>
        </exclusion>
        <!-- TIKA-2504 exclude to avoid vulnerability in plexus-utils -->
        <exclusion>
          <groupId>org.apache.commons</groupId>
          <artifactId>commons-vfs2</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-rs-client</artifactId>
      <version>${cxf.version}</version>
      <exclusions>
        <exclusion>
          <groupId>javax.annotation</groupId>
          <artifactId>javax.annotation-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <!-- TIKA-2021: Tesseract OCR Parser dependencies,
    used for executing image processing script -->
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-exec</artifactId>
      <version>${commonsexec.version}</version>
      <scope>compile</scope>
    </dependency>

    <!-- Provided dependencies -->
    <dependency>
      <groupId>org.xerial</groupId>
      <artifactId>sqlite-jdbc</artifactId>
      <version>3.28.0</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.opennlp</groupId>
      <artifactId>opennlp-tools</artifactId>
      <version>${opennlp.version}</version>
    </dependency>

    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>${commons.io.version}</version>
    </dependency>

    <dependency>
      <groupId>com.googlecode.json-simple</groupId>
      <artifactId>json-simple</artifactId>
      <version>1.1.1</version>
      <exclusions>
        <exclusion>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

<!--    <dependency>
      <groupId>com.tdunning</groupId>
      <artifactId>json</artifactId>
      <version>1.8</version>
    </dependency> -->
    <dependency>
      <groupId>com.github.openjson</groupId>
      <artifactId>openjson</artifactId>
      <version>1.0.11</version>
    </dependency>
    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <version>${gson.version}</version>
    </dependency>

    <!-- logging dependencies -->
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jul-to-slf4j</artifactId>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>jcl-over-slf4j</artifactId>
    </dependency>

    <!-- Test dependencies -->
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <version>${mockito.version}</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <scope>test</scope>
    </dependency>


    <!-- edu.ucar dependencies -->
    <dependency>
      <groupId>edu.ucar</groupId>
      <artifactId>netcdf4</artifactId>
      <version>${netcdf-java.version}</version>
      <exclusions>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.jdom</groupId>
          <artifactId>jdom2</artifactId>
        </exclusion>
        <!--TIKA 2672 exclude jna to resolve the dependency convergence with tika-dl's
        deeplearning4j-nn:1.0.0-SNAPSHOT-->
        <exclusion>
          <groupId>net.java.dev.jna</groupId>
          <artifactId>jna</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.google.guava</groupId>
          <artifactId>guava</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.jdom</groupId>
      <artifactId>jdom2</artifactId>
      <version>2.0.6</version>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>${guava.version}</version>
    </dependency>
    <dependency>
      <groupId>edu.ucar</groupId>
      <artifactId>grib</artifactId>
      <version>${netcdf-java.version}</version>
      <exclusions>
        <exclusion>
          <groupId>edu.ucar</groupId>
          <artifactId>jj2000</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.jsoup</groupId>
          <artifactId>jsoup</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.jdom</groupId>
          <artifactId>jdom2</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.google.protobuf</groupId>
          <artifactId>protobuf-java</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <!--TIKA 2672 include a later version of jna as a direct dependency to resolve dependency convergence with tika-dl's
    deeplearning4j-nn:1.0.0-SNAPSHOT -->
    <dependency>
      <groupId>net.java.dev.jna</groupId>
      <artifactId>jna</artifactId>
      <version>5.5.0</version>
    </dependency>

    <!-- grib's current jsoup is vulnerable to xss
         exclude and import a more modern version TIKA-2561-->
    <dependency>
      <groupId>org.jsoup</groupId>
      <artifactId>jsoup</artifactId>
      <version>1.12.1</version>
    </dependency>
    <dependency>
      <groupId>com.google.protobuf</groupId>
      <artifactId>protobuf-java</artifactId>
      <version>3.11.0</version>
    </dependency>
    <dependency>
      <groupId>edu.ucar</groupId>
      <artifactId>cdm</artifactId>
      <version>${netcdf-java.version}</version>
      <exclusions>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>jcl-over-slf4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.httpcomponents</groupId>
          <artifactId>httpcore</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.jdom</groupId>
          <artifactId>jdom2</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.google.guava</groupId>
          <artifactId>guava</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.google.protobuf</groupId>
          <artifactId>protobuf-java</artifactId>
        </exclusion>
        <exclusion>
          <groupId>c3p0</groupId>
          <artifactId>c3p0</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.quartz-scheduler</groupId>
          <artifactId>quartz</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <!--needs to be bumped for xml vulnerability -->
    <dependency>
      <groupId>org.quartz-scheduler</groupId>
      <artifactId>quartz</artifactId>
      <version>2.3.2</version>
    </dependency>
    <!-- needs to be excluded and version bumped
         to avoid billion laughs vuln -->
    <dependency>
      <groupId>com.mchange</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.5.4</version>
    </dependency>
    <dependency>
      <groupId>edu.ucar</groupId>
      <artifactId>httpservices</artifactId>
      <version>${netcdf-java.version}</version>
      <exclusions>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
        </exclusion>
        <!-- exclude because of vulnerability TIKA-2499 -->
        <exclusion>
          <groupId>org.apache.httpcomponents</groupId>
          <artifactId>httpclient</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.httpcomponents</groupId>
          <artifactId>httpcore</artifactId>
        </exclusion>        <exclusion>
          <groupId>org.apache.httpcomponents</groupId>
          <artifactId>httpmime</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <!-- add back in for edu.ucar for httpservices -->
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
      <version>${httpcomponents.version}</version>
      <exclusions>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
        </exclusion>
        <exclusion>
          <groupId>commons-codec</groupId>
          <artifactId>commons-codec</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpmime</artifactId>
      <version>${httpcomponents.version}</version>
    </dependency>

    <!-- Apache Commons CSV -->
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-csv</artifactId>
      <version>1.7</version>
    </dependency>

    <dependency>
      <groupId>org.apache.sis.core</groupId>
      <artifactId>sis-utility</artifactId>
      <version>${sis.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.sis.storage</groupId>
      <artifactId>sis-netcdf</artifactId>
      <version>${sis.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.sis.core</groupId>
      <artifactId>sis-metadata</artifactId>
      <version>${sis.version}</version>
    </dependency>
    <dependency>
      <groupId>org.opengis</groupId>
      <artifactId>geoapi</artifactId>
      <version>3.0.1</version>
    </dependency>

    <dependency>
      <groupId>edu.usc.ir</groupId>
      <artifactId>sentiment-analysis-parser</artifactId>
      <version>0.1</version>
      <exclusions>
        <exclusion>
          <groupId>org.apache.tika</groupId>
          <artifactId>tika-parsers</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.tika</groupId>
          <artifactId>tika-batch</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.tika</groupId>
          <artifactId>tika-translate</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.tika</groupId>
          <artifactId>tika-langdetect</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.tika</groupId>
          <artifactId>tika-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.opennlp</groupId>
          <artifactId>opennlp-tools</artifactId>
          <!--  because it is already added above -->
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>slf4j-log4j12</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>jul-to-slf4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.slf4j</groupId>
          <artifactId>jcl-over-slf4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    <!-- Apache cTAKES -->
    <dependency>
      <groupId>org.apache.ctakes</groupId>
      <artifactId>ctakes-core</artifactId>
      <version>4.0.0</version>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
        </exclusion>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-beans</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.opennlp</groupId>
          <artifactId>opennlp-tools</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.google.guava</groupId>
          <artifactId>guava</artifactId>
        </exclusion>
        <exclusion>
          <groupId>commons-io</groupId>
          <artifactId>commons-io</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.uima</groupId>
          <artifactId>uimafit-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.uima</groupId>
          <artifactId>uimaj-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.jdom</groupId>
          <artifactId>jdom2</artifactId>
        </exclusion>
        <exclusion>
          <groupId>xerces</groupId>
          <artifactId>xercesImpl</artifactId>
        </exclusion>
      </exclusions>
    </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>3.0.0</version>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <groupId>org.apache.uima</groupId>
          <artifactId>uimaj-core</artifactId>
        </exclusion>
        <exclusion>
          <groupId>commons-io</groupId>
          <artifactId>commons-io</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.apache.commons</groupId>
          <artifactId>commons-lang3</artifactId>
        </exclusion>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging-api</artifactId>
        </exclusion>
        <exclusion>
          <groupId>commons-logging</groupId>
          <artifactId>commons-logging</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-beans</artifactId>
        </exclusion>
        <exclusion>
          <groupId>org.springframework</groupId>
          <artifactId>spring-core</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <!-- need to specify this to avoid
      version clash within ctakes-core 4.0.0 -->
    <dependency>
      <groupId>org.apache.uima</groupId>
      <artifactId>uimaj-core</artifactId>
      <version>3.1.1</version>
      <scope>provided</scope>
      <exclusions>
        <exclusion>
          <groupId>javax.annotation</groupId>
          <artifactId>javax.annotation-api</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <!--Jackson parse String to JSON-->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>${jackson.version}</version>
    </dependency>
    <!-- as of 2.9.5, jackson-databind is pulling in jackson-annotations 2.9.0
      For now, we need to specify databind here with exclusion statement
    -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>${jackson.databind.version}</version>
      <exclusions>
        <exclusion>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-annotations</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>${jackson.version}</version>
    </dependency>


    <dependency>
      <groupId>org.apache.pdfbox</groupId>
      <artifactId>jbig2-imageio</artifactId>
      <version>3.0.2</version>
    </dependency>

    <!-- jai-imageio-core is allowed since LEGAL-304 -->
    <dependency>
      <groupId>com.github.jai-imageio</groupId>
      <artifactId>jai-imageio-core</artifactId>
      <version>1.4.0</version>
    </dependency>
    <!-- For legal reasons (incompatible license), jai-imageio-jpeg2000 is to be used
     only in the tests and may not be distributed. See also LEGAL-195 -->
    <dependency>
      <groupId>com.github.jai-imageio</groupId>
      <artifactId>jai-imageio-jpeg2000</artifactId>
      <version>1.3.0</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
            <groupId>com.github.jai-imageio</groupId>
            <artifactId>jai-imageio-core</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <version>${maven.bundle.version}</version>
        <extensions>true</extensions>
        <configuration>
          <instructions>
            <Bundle-DocURL>${project.url}</Bundle-DocURL>
            <Bundle-Activator>
              org.apache.tika.parser.internal.Activator
            </Bundle-Activator>
            <Import-Package>
              org.w3c.dom,
              org.apache.tika.*,
              *;resolution:=optional
            </Import-Package>
          </instructions>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
        <version>${rat.version}</version>
        <configuration>
          <excludes>
            <exclude>src/main/java/org/apache/tika/parser/txt/Charset*.java</exclude>
            <exclude>src/test/resources/test-documents/**</exclude>
            <exclude>src/test/resources/org/apache/tika/parser/recognition/*.bin</exclude>
            <exclude>src/test/resources/META-INF/services/org.apache.tika.parser.Parser</exclude>
          </excludes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <configuration>
          <archive>
            <manifestEntries>
              <Automatic-Module-Name>org.apache.tika.parsers</Automatic-Module-Name>
            </manifestEntries>
          </archive>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>test-jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>

    <pluginManagement>
      <plugins>
        <!-- This plugin's configuration is used to store Eclipse m2e      -->
        <!-- settings only. It has no influence on the Maven build itself. -->
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-scr-plugin</artifactId>
                    <versionRange>${maven.scr.version}</versionRange>
                    <goals>
                      <goal>scr</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <execute />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.codehaus.gmaven</groupId>
                    <artifactId>groovy-maven-plugin</artifactId>
                    <versionRange>${groovy.maven.version}</versionRange>
                    <goals>
                      <goal>execute</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                	<pluginExecutionFilter>
                		<groupId>org.sonatype.ossindex.maven</groupId>
                		<artifactId>ossindex-maven-plugin</artifactId>
                		<versionRange>[3.0.4,)</versionRange>
                		<goals>
                			<goal>audit</goal>
                		</goals>
                	</pluginExecutionFilter>
                	<action>
                		<ignore />
                	</action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

  <organization>
    <name>The Apache Software Foundation</name>
    <url>http://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://builds.apache.org/job/Tika-trunk/</url>
  </ciManagement>

  <profiles>
    <profile>
      <id>testSetup</id>
      <activation>
        <!-- auto activate -->
        <file>
          <missing>${basedir}/src/test/resources/org/apache/tika/parser/ner/opennlp/ner-person.bin</missing>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.gmaven</groupId>
            <artifactId>groovy-maven-plugin</artifactId>
            <version>${groovy.maven.version}</version>
            <dependencies>
              <dependency>
                <groupId>org.apache.maven</groupId>
                <artifactId>maven-model</artifactId>
                <version>3.3.3</version>
              </dependency>
              <dependency>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-all</artifactId>
                <version>2.4.4</version>
              </dependency>
            </dependencies>
            <executions>
              <execution>
                <id>testSetup</id>
                <phase>generate-test-resources</phase>
                <goals>
                  <goal>execute</goal>
                </goals>
                <configuration>
                  <source>${basedir}/src/test/resources/org/apache/tika/parser/ner/opennlp/ModelGetter.groovy</source>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
