<?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>18</version>
    <relativePath />
  </parent>

  <artifactId>ruta-parent</artifactId>
  <packaging>pom</packaging>
  <version>3.5.0</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.5.0</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>
    
    <maven.compiler.target>17</maven.compiler.target>
    <maven.compiler.source>17</maven.compiler.source>
    <maven.compiler.release>17</maven.compiler.release>
    <maven.compiler.proc>none</maven.compiler.proc>
    <execution.environment>JavaSE-17</execution.environment>
    
    <antlr-version>3.5.3</antlr-version>
    <asciidoctor.plugin.version>3.1.1</asciidoctor.plugin.version>
    <asciidoctor.version>3.0.0</asciidoctor.version>
    <asciidoctor.pdf.version>2.3.19</asciidoctor.pdf.version>
    <assertj-version>3.26.3</assertj-version>
    <caffeine-version>3.1.8</caffeine-version>
    <commons-collections-version>3.2.2</commons-collections-version>
    <commons-collections4-version>4.4</commons-collections4-version>
    <commons-text-version>1.12.0</commons-text-version>
    <commons-lang3-version>3.17.0</commons-lang3-version>
    <commons-io-version>2.18.0</commons-io-version>
    <commons-math3-version>3.6.1</commons-math3-version>
    <commons-logging-version>1.3.4</commons-logging-version>
    <commons-logging-api-version>1.1</commons-logging-api-version>
    <dltk.version>[5.11.0,6.0.0)</dltk.version>
    <htmlparser-version>1.6</htmlparser-version>
    <junit-version>5.11.3</junit-version>
    <junit-vintage-version>4.13.2</junit-vintage-version>
    <maven.version>3.8.1</maven.version>
    <slf4j-version>1.7.36</slf4j-version>
    <spring-version>6.1.15</spring-version>
    <tycho-version>4.0.10</tycho-version>
    <uima-version>3.6.0</uima-version>

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

    <!-- BEGIN PROFILE SETTINGS: generate-release-notes-->
    <github-repository>uima-ruta</github-repository>
    <git-branch>main</git-branch>
    <previous-release-version>3.4.1</previous-release-version>
    <!-- END PROFILE SETTINGS: generate-release-notes-->
    
    <api_check_oldVersion>${previous-release-version}</api_check_oldVersion>
    
    <assemblySrcDescriptor>src/main/assembly/src.xml</assemblySrcDescriptor>
  </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.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.codehaus.plexus</groupId>
        <artifactId>plexus-utils</artifactId>
        <version>3.4.1</version>
      </dependency>
      <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-archiver</artifactId>
        <version>4.8.0</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-artifact</artifactId>
        <version>${maven.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-model</artifactId>
        <version>${maven.version}</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>
  
  <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>
    <dependency>
      <groupId>org.assertj</groupId>
      <artifactId>assertj-core</artifactId>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.antlr</groupId>
          <artifactId>antlr3-maven-plugin</artifactId>
          <version>${antlr-version}</version>
        </plugin>
        <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>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <configuration>
            <javadocVersion>${maven.compiler.release}</javadocVersion>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <executions>
            <execution>
              <id>default-cli</id>
              <configuration>
                <excludes combine.children="append">
                  <exclude>**/marker-file-maven-plugin-module</exclude>
                </excludes>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>

    <plugins>
      <plugin>
        <groupId>org.openntf.maven</groupId>
        <artifactId>p2-layout-resolver</artifactId>
        <version>1.9.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-enforcer-plugin</artifactId>
        <executions>
          <execution>
            <id>enforce-maven</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>[3.9.9,)</version>
                </requireMavenVersion>
                <requireJavaVersion>
                  <version>[${maven.compiler.release},)</version>
                </requireJavaVersion>
              </rules>
            </configuration>
          </execution>
        </executions>
      </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>

  <profiles>
    <profile>
      <id>apache-release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <!-- Overriding the execution from the Apache parent POM -->
                <id>source-release-assembly</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <runOnlyAtExecutionRoot>true</runOnlyAtExecutionRoot>
                  <descriptorRefs combine.self="override" />
                  <descriptors>
                    <descriptor>${assemblySrcDescriptor}</descriptor>
                  </descriptors>
                  <tarLongFileMode>${assembly.tarLongFileMode}</tarLongFileMode>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>dependency-check</id>
      <activation>
        <property>
          <name>!disable-dependency-check</name>
        </property>
        <file>
          <exists>marker-file-enabling-dependency-check</exists>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <execution>
                <id>default</id>
                <phase>verify</phase>
                <goals>
                  <goal>analyze-only</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <failOnWarning>true</failOnWarning>
              <ignoredDependencies combine.children="append">
                <ignoredDependency>org.assertj:assertj-core</ignoredDependency>
                <ignoredDependency>org.slf4j:slf4j-simple</ignoredDependency>
                <ignoredDependency>org.junit.jupiter:junit-jupiter-api</ignoredDependency>
                <ignoredDependency>org.junit.jupiter:junit-jupiter-engine</ignoredDependency>
                <ignoredDependency>org.junit.vintage:junit-vintage-engine</ignoredDependency>
                <ignoredDependency>junit:junit</ignoredDependency>
              </ignoredDependencies>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>  
    <profile>
      <id>maven-plugin-module</id>
      <activation>
        <file>
          <exists>marker-file-maven-plugin-module</exists>
        </file>
      </activation>

      <dependencies>
        <dependency>
          <groupId>org.apache.maven</groupId>
          <artifactId>maven-plugin-api</artifactId>
          <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.maven.plugin-tools</groupId>
          <artifactId>maven-plugin-annotations</artifactId>
          <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.maven</groupId>
          <artifactId>maven-core</artifactId>
          <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.maven</groupId>
          <artifactId>maven-model</artifactId>
          <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.maven</groupId>
          <artifactId>maven-artifact</artifactId>
          <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.maven</groupId>
          <artifactId>maven-compat</artifactId>
          <scope>provided</scope>
        </dependency>
        <dependency>
          <groupId>org.apache.maven.plugin-testing</groupId>
          <artifactId>maven-plugin-testing-harness</artifactId>
          <scope>test</scope>
        </dependency>
        <dependency>
          <!-- Required by maven-plugin-testing-harness -->
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.13.2</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
      
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <configuration>
              <ignoredDependencies combine.children="append">
                <ignoredDependency>org.apache.maven:maven-artifact</ignoredDependency>
                <ignoredDependency>org.apache.maven:maven-compat</ignoredDependency>
                <ignoredDependency>org.apache.maven:maven-core</ignoredDependency>
                <ignoredDependency>org.apache.maven:maven-model</ignoredDependency>
                <ignoredDependency>org.apache.maven:maven-plugin-api</ignoredDependency>
                <ignoredDependency>org.apache.maven.plugin-tools:maven-plugin-annotations</ignoredDependency>
                <ignoredDependency>org.apache.maven.plugin-testing:maven-plugin-testing-harness</ignoredDependency>
                <ignoredDependency>junit:junit</ignoredDependency>
              </ignoredDependencies>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
