<?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.uima</groupId>
    <artifactId>parent-pom</artifactId>
    <version>17</version>
    <relativePath />
  </parent>

  <artifactId>ruta-parent</artifactId>
  <packaging>pom</packaging>
  <version>3.4.1</version>
  <name>Apache UIMA Ruta: ${project.artifactId}</name>
  <url>${uimaWebsiteUrl}</url>
  <inceptionYear>2011</inceptionYear>
  <description>The common parent pom for the UIMA Ruta</description>

  <issueManagement>
    <system>Github</system>
    <url>https://github.com/apache/uima-ruta/issues</url>
  </issueManagement>

  <scm>
    <connection>scm:git:https://github.com/apache/uima-ruta/</connection>
    <developerConnection>scm:git:https://github.com/apache/uima-ruta/</developerConnection>
    <url>https://github.com/apache/uima-ruta/</url>
    <tag>ruta-3.4.1</tag>
  </scm>

  <repositories>
    <!--
      - The Eclipse Plugin modules use version ranges for their dependencies. These could resolve to
      - SNAPSHOT versions if we have a SNAPSHOT repo declaration here. Thus, this repo should only
      - be enabled when really needed.
    <repository>
      <id>apache.snapshots</id>
      <name>Apache Snapshot Repository</name>
      <url>https://repository.apache.org/snapshots</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
      -->

    <repository>
      <id>${eclipseP2RepoId}</id>
      <url>https://download.eclipse.org/releases/2023-09/</url>
      <layout>p2</layout>
    </repository>
    <repository>
      <id>${dltkP2RepoId}</id>
      <url>https://download.eclipse.org/releases/2018-12/</url>
      <layout>p2</layout>
    </repository>
  </repositories>

  <pluginRepositories>
    <!--
      - The Eclipse Plugin modules use version ranges for their dependencies. These could resolve to
      - SNAPSHOT versions if we have a SNAPSHOT repo declaration here. Thus, this repo should only
      - be enabled when really needed.
    <pluginRepository>
      <id>apache.snapshots.plugins</id>
      <name>Apache Snapshot Repository - Maven plugins</name>
      <url>https://repository.apache.org/snapshots</url>
      <layout>default</layout>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
        <checksumPolicy>fail</checksumPolicy>
        <updatePolicy>never</updatePolicy>        
      </snapshots>
    </pluginRepository>
    -->
    <pluginRepository>
      <id>artifactory.openntf.org</id>
      <name>artifactory.openntf.org</name>
      <url>https://artifactory.openntf.org/openntf</url>
    </pluginRepository>
  </pluginRepositories>
  
  <properties>
    <uniWueNoticeText>Portions of UIMA Ruta were originally developed by
      the Universität Würzburg.
      Copyright (c) 2006, 2011 Universität
      Würzburg.</uniWueNoticeText>
    <postNoticeText>${uniWueNoticeText}

      This product contains icons
      developed by Mark James
      (http://www.famfamfam.com/lab/icons/silk/), licensed under the
      Creative Commons Attribution 3.0 License.
    </postNoticeText>
    
    <tycho-version>4.0.4</tycho-version>


    <uima-version>3.5.0</uima-version>
    <uimafit-version>3.5.0</uimafit-version>
    <spring-version>5.3.30</spring-version>
    <slf4j-version>1.7.36</slf4j-version>
    <maven.version>3.8.1</maven.version>

    <junit-version>5.10.1</junit-version>
    <junit-vintage-version>4.13.2</junit-vintage-version>
    <assertj-version>3.24.2</assertj-version>
 
    <antlr-version>3.5.3</antlr-version>
    <htmlparser-version>1.6</htmlparser-version>
    <commons-collections-version>3.2.2</commons-collections-version>
    <commons-collections4-version>4.4</commons-collections4-version>
    <commons-text-version>1.11.0</commons-text-version>
    <commons-lang3-version>3.14.0</commons-lang3-version>
    <commons-io-version>2.15.1</commons-io-version>
    <commons-math3-version>3.6.1</commons-math3-version>
    <commons-logging-version>1.3.0</commons-logging-version>
    <commons-logging-api-version>1.1</commons-logging-api-version>
    <caffeine-version>3.1.8</caffeine-version>

    <dltk.version>[5.11.0,6.0.0)</dltk.version>

    <asciidoctor.plugin.version>2.2.4</asciidoctor.plugin.version>
    <asciidoctor.version>2.5.10</asciidoctor.version>
    <asciidoctor.pdf.version>2.3.9</asciidoctor.pdf.version>

    <maven.compiler.target>17</maven.compiler.target>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.release>17</maven.compiler.release>
    <execution.environment>JavaSE-17</execution.environment>

    <eclipseP2RepoId>org.eclipse.p2.202309</eclipseP2RepoId>
    <dltkP2RepoId>org.eclipse.p2.201812</dltkP2RepoId>

    <api_check_oldVersion>3.4.0</api_check_oldVersion>

    <!-- BEGIN PROFILE SETTINGS: generate-release-notes-->
    <github-repository>uima-ruta</github-repository>
    <git-branch>main</git-branch>
    <previous-release-version>3.4.0</previous-release-version>
    <!-- END PROFILE SETTINGS: generate-release-notes-->
  </properties>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.junit</groupId>
        <artifactId>junit-bom</artifactId>
        <version>${junit-version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit-vintage-version}</version>
      </dependency>
      <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-bom</artifactId>
        <version>${assertj-version}</version>
        <type>pom</type>
        <scope>import</scope>
      </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>slf4j-jdk14</artifactId>
        <version>${slf4j-version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.uima</groupId>
        <artifactId>uimaj-bom</artifactId>
        <version>${uima-version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.uima</groupId>
        <artifactId>uimafit-core</artifactId>
        <version>${uimafit-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.uima</groupId>
        <artifactId>uimafit-junit</artifactId>
        <version>${uimafit-version}</version>
      </dependency>
      
      <dependency>
        <groupId>org.antlr</groupId>
        <artifactId>antlr-runtime</artifactId>
        <version>${antlr-version}</version>
      </dependency>
      <dependency>
        <groupId>org.htmlparser</groupId>
        <artifactId>htmlparser</artifactId>
        <version>${htmlparser-version}</version>
      </dependency>
      <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>${commons-collections-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-text</artifactId>
        <version>${commons-text-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>${commons-lang3-version}</version>
      </dependency>
      
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons-io-version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-math3</artifactId>
        <version>${commons-math3-version}</version>
      </dependency>
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>${commons-logging-version}</version>
      </dependency>
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging-api</artifactId>
        <version>${commons-logging-api-version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring-version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring-version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-expression</artifactId>
        <version>${spring-version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring-version}</version>
      </dependency>

      <dependency>
        <groupId>com.github.ben-manes.caffeine</groupId>
        <artifactId>caffeine</artifactId>
        <version>${caffeine-version}</version>
      </dependency>

      <dependency>
        <groupId>org.w3c.css</groupId>
        <artifactId>sac</artifactId>
        <version>1.3.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>jxpath</artifactId>
        <version>1.3.0</version>
      </dependency>

      <dependency>
        <groupId>org.sonatype.plexus</groupId>
        <artifactId>plexus-build-api</artifactId>
        <version>0.0.7</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven.plugin-testing</groupId>
        <artifactId>maven-plugin-testing-harness</artifactId>
        <version>3.3.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-plugin-api</artifactId>
        <version>${maven.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-core</artifactId>
        <version>${maven.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-compat</artifactId>
        <version>${maven.version}</version>
      </dependency>

      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.core.filesystem</artifactId>
        <version>1.10.100.v20230717-1727</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.core.jobs</artifactId>
        <version>3.15.0.v20230808-1403</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.core.contenttype</artifactId>
        <version>3.9.100.v20230630-1232</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.core.resources</artifactId>
        <version>3.19.100.v20230814-1312</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.core.runtime</artifactId>
        <version>3.29.0.v20230726-0617</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.core.variables</artifactId>
        <version>3.6.100.v20230726-0617</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.debug.ui</artifactId>
        <version>3.18.100.v20230802-1257</version>
      </dependency>
      <dependency>
        <groupId>${dltkP2RepoId}</groupId>
        <artifactId>org.eclipse.dltk.core</artifactId>
        <version>${dltk.version}</version>
      </dependency>
      <dependency>
        <groupId>${dltkP2RepoId}</groupId>
        <artifactId>org.eclipse.dltk.ui</artifactId>
        <version>${dltk.version}</version>
        <exclusions>
          <exclusion>
            <!-- 
              The p2 resolver appears to have trouble with the "icu-data" classifier
             -->
            <groupId>${dltkP2RepoId}</groupId>
            <artifactId>com.ibm.icu</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>${dltkP2RepoId}</groupId>
        <artifactId>org.eclipse.dltk.debug</artifactId>
        <version>${dltk.version}</version>
      </dependency>
      <dependency>
        <groupId>${dltkP2RepoId}</groupId>
        <artifactId>org.eclipse.dltk.annotations</artifactId>
        <version>${dltk.version}</version>
      </dependency>
      <dependency>
        <groupId>${dltkP2RepoId}</groupId>
        <artifactId>org.eclipse.dltk.launching</artifactId>
        <version>${dltk.version}</version>
        <exclusions>
          <exclusion>
            <!-- 
              The p2 resolver appears to have trouble with the "icu-data" classifier
             -->
            <groupId>${eclipseP2RepoId}</groupId>
            <artifactId>com.ibm.icu</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>${dltkP2RepoId}</groupId>
        <artifactId>org.eclipse.dltk.core.manipulation</artifactId>
        <version>${dltk.version}</version>
      </dependency>
      <dependency>
        <groupId>${dltkP2RepoId}</groupId>
        <artifactId>org.eclipse.dltk.validators.core</artifactId>
        <version>${dltk.version}</version>
      </dependency>
      <dependency>
        <groupId>${dltkP2RepoId}</groupId>
        <artifactId>org.eclipse.dltk.console</artifactId>
        <version>${dltk.version}</version>
      </dependency>
      <dependency>
        <groupId>${dltkP2RepoId}</groupId>
        <artifactId>org.eclipse.dltk.formatter</artifactId>
        <version>${dltk.version}</version>
      </dependency>
      <dependency>
        <groupId>${dltkP2RepoId}</groupId>
        <artifactId>org.eclipse.dltk.testing</artifactId>
        <version>${dltk.version}</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.emf.ecore</artifactId>
        <version>2.35.0.v20230829-0934</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.emf.ecore.change</artifactId>
        <version>2.15.0.v20230211-1150</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.emf.ecore.xmi</artifactId>
        <version>2.35.0.v20230801-1141</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.equinox.app</artifactId>
        <version>1.6.300.v20230630-1303</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.equinox.common</artifactId>
        <version>3.18.100.v20230730-1117</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.equinox.preferences</artifactId>
        <version>3.10.300.v20230630-1303</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.jdt.core</artifactId>
        <version>3.35.0.v20230814-1356</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.jdt.debug.ui</artifactId>
        <version>3.13.100.v20230809-1849</version>
        <exclusions>
          <exclusion>
            <!-- 
              The p2 resolver appears to have trouble with the "icu-data" classifier
             -->
            <groupId>${eclipseP2RepoId}</groupId>
            <artifactId>com.ibm.icu</artifactId>
          </exclusion>
          <exclusion>
            <!-- 
              The p2 resolver appears to have trouble with this one and tries to download it with 
              "tools" as the classifier.
             -->
            <groupId>${eclipseP2RepoId}</groupId>
            <artifactId>org.eclipse.jdt.debug</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.jdt.launching</artifactId>
        <version>3.20.100.v20230814-1810</version>
        <exclusions>
          <exclusion>
            <!-- 
              The p2 resolver appears to have trouble with this one and tries to download it with 
              "tools" as the classifier.
             -->
            <groupId>${eclipseP2RepoId}</groupId>
            <artifactId>org.eclipse.jdt.debug</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.jface.text</artifactId>
        <version>3.24.100.v20230727-0604</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.search</artifactId>
        <version>3.15.200.v20230825-1346</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.swt.win32.win32.x86_64</artifactId>
        <version>3.124.100.v20230825-1346</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.ui</artifactId>
        <version>3.204.0.v20230821-1342</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.ui.console</artifactId>
        <version>3.13.0.v20230726-0617</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.ui.editors</artifactId>
        <version>3.17.0.v20230821-1342</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.ui.ide</artifactId>
        <version>3.21.100.v20230825-1346</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.ui.views</artifactId>
        <version>3.12.100.v20230821-1342</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.ui.workbench</artifactId>
        <version>3.130.0.v20230822-0911</version>
      </dependency>
      <dependency>
        <groupId>${eclipseP2RepoId}</groupId>
        <artifactId>org.eclipse.ui.workbench.texteditor</artifactId>
        <version>3.17.100.v20230821-0745</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <dependencies>
            <dependency>
              <groupId>org.junit.jupiter</groupId>
              <artifactId>junit-jupiter-engine</artifactId>
              <version>${junit-version}</version>
            </dependency>
            <dependency>
              <groupId>org.junit.vintage</groupId>
              <artifactId>junit-vintage-engine</artifactId>
              <version>${junit-version}</version>
            </dependency>
          </dependencies>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.openntf.maven</groupId>
        <artifactId>p2-layout-resolver</artifactId>
        <version>1.7.0</version>
        <extensions>true</extensions>
      </plugin>

      <plugin>
        <groupId>org.eclipse.tycho</groupId>
        <artifactId>target-platform-configuration</artifactId>
        <version>${tycho-version}</version>
        <configuration>
          <environments>
            <environment>
              <os>win32</os>
              <ws>win32</ws>
              <arch>x86_64</arch>
            </environment>
            <environment>
              <os>linux</os>
              <ws>gtk</ws>
              <arch>x86_64</arch>
            </environment>
            <environment>
              <os>macosx</os>
              <ws>cocoa</ws>
              <arch>x86_64</arch>
            </environment>
          </environments>
        </configuration>
      </plugin>
      
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-toolchains-plugin</artifactId>
        <executions>
          <execution>
            <goals>
              <goal>toolchain</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <toolchains>
            <jdk>
              <version>${maven.compiler.target}</version>
            </jdk>
          </toolchains>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-resources-plugin</artifactId>
        <executions>
          <execution>
            <id>copy customized bin LICENSE file</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}/classes/META-INF</outputDirectory>
              <resources>
                <resource>
                  <directory>src/main/readme_bin</directory>
                  <includes>
                    <include>LICENSE</include>
                    <include>NOTICE</include>
                  </includes>
                  <filtering>true</filtering>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
