<?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</groupId>
        <artifactId>apache</artifactId>
        <version>24</version>
        <relativePath />
    </parent>

  <groupId>org.apache.tika</groupId>
  <artifactId>tika-parent</artifactId>
  <version>1.28.2</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>http://tika.apache.org/</url>

  <issueManagement>
    <system>JIRA</system>
    <url>https://issues.apache.org/jira/browse/TIKA</url>
  </issueManagement>

  <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>Keith Bennett</name>
      <id>kbennett</id>
      <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>Jukka Zitting</name>
      <id>jukka</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>
  </developers>
  <contributors>
    <contributor>
      <name>Doug Cutting</name>
      <roles>
        <role>mentor</role>
      </roles>
    </contributor>
    <contributor>
      <name>Bertrand Delacretaz</name>
      <roles>
        <role>mentor</role>
      </roles>
    </contributor>
    <contributor>
      <name>Niall Pemberton</name>
      <roles>
        <role>emeritus</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>1</project.build.outputTimestamp>
    <!-- plugin versions -->
    <forbiddenapis.version>3.1</forbiddenapis.version>
    <groovy.maven.version>2.1.1</groovy.maven.version>
    <maven.antrun.version>1.8</maven.antrun.version>
    <maven.assembly.version>3.3.0</maven.assembly.version>
    <maven.bundle.version>5.1.1</maven.bundle.version>
    <maven.failsafe.version>2.22.2</maven.failsafe.version>
    <maven.javadoc.version>3.1.1</maven.javadoc.version>
    <maven.scr.version>1.26.4</maven.scr.version>
    <maven.surefire.version>3.0.0-M4</maven.surefire.version>
    <maven.shade.version>3.2.4</maven.shade.version>
    <rat.version>0.13</rat.version>
    <!-- NOTE: sync tukaani version with commons-compress in tika-parsers -->
    <poi.version>5.2.2</poi.version>
    <commons.compress.version>1.21</commons.compress.version>
    <commons.io.version>2.11.0</commons.io.version>
    <commons.lang3.version>3.12.0</commons.lang3.version>
    <gson.version>2.9.0</gson.version>
    <guava.version>31.1-jre</guava.version>
    <osgi.core.version>6.0.0</osgi.core.version>

    <cxf.version>3.5.2</cxf.version>
    <slf4j.version>1.7.36</slf4j.version>
    <log4j2.version>2.17.2</log4j2.version>
    <jackson.version>2.13.2</jackson.version>
    <jackson.databind.version>2.13.2.2</jackson.databind.version>
    <!-- when this is next upgraded, see if we can get rid of
         javax.activation dependency in tika-server.
         Until then, DO NOT go above 2.x unless you know what you're doing.
         See TIKA-3407 -->
    <jaxb.version>2.3.5</jaxb.version>
    <cli.version>1.5.0</cli.version>
    <lucene.version>8.11.1</lucene.version>
    <mockito.version>3.11.2</mockito.version>
    <lombok.version>1.18.22</lombok.version>
    <opennlp.version>1.9.4</opennlp.version>
    <xerces.version>2.12.2</xerces.version>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>biz.aQute</groupId>
        <artifactId>bndlib</artifactId>
        <version>1.50.0</version>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>${jaxb.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>${log4j2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>${log4j2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j-impl</artifactId>
        <version>${log4j2.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.felix</groupId>
        <artifactId>org.apache.felix.scr.annotations</artifactId>
        <version>1.12.0</version>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.tallison.xmp</groupId>
        <artifactId>xmpcore-shaded</artifactId>
        <version>6.1.11</version>
        <exclusions>
          <exclusion>
            <groupId>com.adobe.xmp</groupId>
            <artifactId>xmpcore</artifactId>
          </exclusion>
        </exclusions>
      </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>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.32</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jul-to-slf4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons.io.version}</version>
      </dependency>
      <dependency>
        <groupId>jakarta.annotation</groupId>
        <artifactId>jakarta.annotation-api</artifactId>
        <version>1.3.5</version>
      </dependency>
      <dependency>
        <groupId>javax.xml.soap</groupId>
        <artifactId>javax.xml.soap-api</artifactId>
        <version>1.4.0</version>
      </dependency>
      <dependency>
        <groupId>org.jvnet.staxex</groupId>
        <artifactId>stax-ex</artifactId>
        <version>2.1.0</version>
      </dependency>
      <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>${xerces.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</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.7</version>
        <configuration>
          <generateBackupPoms>false</generateBackupPoms>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.sonatype.ossindex.maven</groupId>
        <artifactId>ossindex-maven-plugin</artifactId>
        <version>3.1.0</version>
        <configuration>
          <fail>false</fail>
        </configuration>
        <executions>
          <execution>
            <id>audit-dependencies</id>
            <phase>validate</phase>
            <goals>
              <goal>audit</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <!-- example of how to ignore coordinates
                <configuration>
                    <excludeCoordinates>
                        <exclude>
                            <groupId>com.h2database</groupId>
                            <artifactId>h2</artifactId>
                            <version>1.4.197</version>
                        </exclude>
                    </excludeCoordinates>
                </configuration>
      -->

      <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.7</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 -Duser.timezone=UTC -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>2.5.3</version>
        <dependencies>
          <dependency>
            <groupId>org.apache.maven.scm</groupId>
            <artifactId>maven-scm-provider-gitexe</artifactId>
            <version>1.12.2</version>
          </dependency>
          <dependency>
            <groupId>org.apache.maven.scm</groupId>
            <artifactId>maven-scm-api</artifactId>
            <version>1.12.2</version>
          </dependency>
        </dependencies>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>3.0.0-M3</version>
        <executions>
          <execution>
            <id>enforce</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.0)</exclude>
                  </excludes>
                </bannedDependencies>
              </rules>
              <fail>true</fail>
            </configuration>
          </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>
      <!-- keep these at 2.x -->
      <dependencies>
        <dependency>
          <groupId>jakarta.xml.bind</groupId>
          <artifactId>jakarta.xml.bind-api</artifactId>
          <version>2.3.3</version>
        </dependency>
        <dependency>
          <groupId>jakarta.activation</groupId>
          <artifactId>jakarta.activation-api</artifactId>
          <version>1.2.2</version>
        </dependency>
      </dependencies>
    </profile>
  </profiles>

  <scm>
    <connection>scm:git:https://github.com/apache/</connection>
    <developerConnection>scm:git:https://github.com/apache/</developerConnection>
    <url>https://github.com/apache/tika</url>
    <tag>tika-1.28.2-rc1</tag>
  </scm>
</project>
