<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.frankframework</groupId>
  <artifactId>frankframework-parent</artifactId>
  <version>8.3.0</version>
  <packaging>pom</packaging>
  <name>Frank!Framework parent</name>
  <description>The Frank!Framework is an easy-to-use, stateless integration framework which allows (transactional) messages to be modified and exchanged between different systems.</description>
  <url>https://frankframework.org</url>
  <organization>
    <name>Frank!Framework</name>
    <url>https://frankframework.org</url>
  </organization>
  <licenses>
    <license>
      <name>Apache License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <developers>
    <developer>
      <name>Niels Meijer</name>
      <email>niels@frankframework.org</email>
      <organization>Frank!Framework</organization>
      <organizationUrl>https://frankframework.org</organizationUrl>
    </developer>
    <developer>
      <name>Tim van der Leeuw</name>
      <email>tim@frankframework.org</email>
      <organization>Frank!Framework</organization>
      <organizationUrl>https://frankframework.org</organizationUrl>
    </developer>
    <developer>
      <name>Erik van Dongen</name>
      <email>erik@frankframework.org</email>
      <organization>Frank!Framework</organization>
      <organizationUrl>https://frankframework.org</organizationUrl>
    </developer>
    <developer>
      <name>Ali Sihab Akcan</name>
      <email>ali@ibissource.org</email>
      <organization>Frank!Framework</organization>
      <organizationUrl>https://frankframework.org</organizationUrl>
    </developer>
    <developer>
      <name>Jaco de Groot</name>
      <email>jaco@ibissource.org</email>
      <organization>Frank!Framework</organization>
      <organizationUrl>https://frankframework.org</organizationUrl>
    </developer>
    <developer>
      <name>Gerrit van Brakel</name>
      <email>gerrit@ibissource.org</email>
      <organization>Frank!Framework</organization>
      <organizationUrl>https://frankframework.org</organizationUrl>
    </developer>
  </developers>
  <scm>
    <connection>scm:git:https://github.com/frankframework/frankframework.git</connection>
    <developerConnection>scm:git:https://github.com/frankframework/frankframework.git</developerConnection>
    <tag>v8.3.0</tag>
    <url>https://github.com/frankframework/frankframework</url>
  </scm>
  <properties>
    <db2.driver.version>11.5.9.0</db2.driver.version>
    <spring-integration.version>6.3.4</spring-integration.version>
    <sonar.host.url>https://sonarcloud.io</sonar.host.url>
    <narayana.version>7.0.2.Final</narayana.version>
    <spring.boot.version>3.3.4</spring.boot.version>
    <jackson.version>2.18.0</jackson.version>
    <tomcat.version>10.1.31</tomcat.version>
    <mariadb.driver.version>3.4.1</mariadb.driver.version>
    <spring-security.version>6.3.3</spring-security.version>
    <mssql.driver.version>12.8.1.jre11</mssql.driver.version>
    <mysql.driver.version>9.0.0</mysql.driver.version>
    <mongodb.driver.version>5.2.0</mongodb.driver.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <activemq.driver.version>6.1.3</activemq.driver.version>
    <junit.version>5.11.2</junit.version>
    <micrometer.version>1.13.5</micrometer.version>
    <artemis.driver.version>2.37.0</artemis.driver.version>
    <log4j2.version>2.23.1</log4j2.version>
    <oracle.driver.version>23.5.0.24.07</oracle.driver.version>
    <bouncycastle.version>1.78.1</bouncycastle.version>
    <maven.compiler.source>17</maven.compiler.source>
    <junit.excludedTags></junit.excludedTags>
    <spring.version>6.1.13</spring.version>
    <sonar.organization>frank-framework</sonar.organization>
    <frankdoc.version>3.2</frankdoc.version>
    <mockito.version>5.14.1</mockito.version>
    <oracle.driver.jdkversion>11</oracle.driver.jdkversion>
    <revision>8.3.0</revision>
    <maven.compiler.target>17</maven.compiler.target>
    <jboss-logging.version>3.6.1.Final</jboss-logging.version>
    <aws.java.sdk.version>2.28.0</aws.java.sdk.version>
    <postgresql.driver.version>42.7.4</postgresql.driver.version>
    <cxf.version>4.0.5</cxf.version>
    <junit.includedTags></junit.includedTags>
    <javadoc-plugin.version>3.10.1</javadoc-plugin.version>
    <h2.driver.version>2.3.232</h2.driver.version>
    <argLine></argLine>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>1.9.4</version>
      </dependency>
      <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.5</version>
      </dependency>
      <dependency>
        <groupId>net.minidev</groupId>
        <artifactId>json-smart</artifactId>
        <version>2.5.1</version>
      </dependency>
      <dependency>
        <groupId>org.jdom</groupId>
        <artifactId>jdom2</artifactId>
        <version>2.0.6.1</version>
      </dependency>
      <dependency>
        <groupId>com.google.protobuf</groupId>
        <artifactId>protobuf-java</artifactId>
        <version>4.28.2</version>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>33.3.1-jre</version>
      </dependency>
      <dependency>
        <groupId>com.squareup.okhttp3</groupId>
        <artifactId>okhttp</artifactId>
        <version>4.12.0</version>
      </dependency>
      <dependency>
        <groupId>com.nimbusds</groupId>
        <artifactId>nimbus-jose-jwt</artifactId>
        <version>9.41.2</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-commons</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-security</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-management-gateway</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-core</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>credentialprovider</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-tibco</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-sap</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-messaging</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-larva</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-akamai</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-cmis</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-console</artifactId>
        <version>${project.version}</version>
        <type>pom</type>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-console-frontend</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-console-backend</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-console-webapp</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-webapp</artifactId>
        <version>${project.version}</version>
        <type>war</type>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-ear</artifactId>
        <version>${project.version}</version>
        <type>ear</type>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-test</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-test-integration</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-idin</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-ladybug</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-ladybug-common</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-ladybug-rerunner</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-ladybug-debugger</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-aspose</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-aws</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-dbms</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-nn-specials</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-batch</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-filesystem</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-kubernetes</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-bundle-minimal</artifactId>
        <version>${project.version}</version>
        <type>pom</type>
      </dependency>
      <dependency>
        <groupId>org.frankframework</groupId>
        <artifactId>frankframework-bundle-full</artifactId>
        <version>${project.version}</version>
        <type>pom</type>
      </dependency>
      <dependency>
        <groupId>jakarta.activation</groupId>
        <artifactId>jakarta.activation-api</artifactId>
        <version>2.1.3</version>
      </dependency>
      <dependency>
        <groupId>jakarta.transaction</groupId>
        <artifactId>jakarta.transaction-api</artifactId>
        <version>2.0.1</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>jakarta.servlet</groupId>
        <artifactId>jakarta.servlet-api</artifactId>
        <version>6.1.0</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>jakarta.jms</groupId>
        <artifactId>jakarta.jms-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>jakarta.annotation</groupId>
        <artifactId>jakarta.annotation-api</artifactId>
        <version>3.0.0</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-framework-bom</artifactId>
        <version>${spring.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.springframework.integration</groupId>
        <artifactId>spring-integration-bom</artifactId>
        <version>${spring-integration.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-bom</artifactId>
        <version>4.1.114.Final</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-bom</artifactId>
        <version>${spring-security.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-bom</artifactId>
        <version>${log4j2.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>2.0.16</version>
      </dependency>
      <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>bom</artifactId>
        <version>${aws.java.sdk.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk18on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcutil-jdk18on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcpg-jdk18on</artifactId>
        <version>${bouncycastle.version}</version>
      </dependency>
      <dependency>
        <groupId>com.fasterxml.jackson</groupId>
        <artifactId>jackson-bom</artifactId>
        <version>${jackson.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>4.0.5</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-digester3</artifactId>
        <version>3.2</version>
        <exclusions>
          <exclusion>
            <groupId>asm</groupId>
            <artifactId>asm</artifactId>
          </exclusion>
          <exclusion>
            <groupId>commons-collections</groupId>
            <artifactId>commons-collections</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-pool2</artifactId>
        <version>2.12.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.17.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-text</artifactId>
        <version>1.12.0</version>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.17.1</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-collections4</artifactId>
        <version>4.4</version>
      </dependency>
      <dependency>
        <groupId>commons-net</groupId>
        <artifactId>commons-net</artifactId>
        <version>3.11.1</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.17.0</version>
      </dependency>
      <dependency>
        <groupId>jakarta.mail</groupId>
        <artifactId>jakarta.mail-api</artifactId>
        <version>2.1.3</version>
      </dependency>
      <dependency>
        <groupId>org.eclipse.angus</groupId>
        <artifactId>angus-mail</artifactId>
        <version>2.0.3</version>
      </dependency>
      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.34</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
        <version>${spring.boot.version}</version>
        <exclusions>
          <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-autoconfigure</artifactId>
          </exclusion>
          <exclusion>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
        <version>${spring.boot.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-core</artifactId>
        <version>${tomcat.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-el</artifactId>
        <version>${tomcat.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <version>${spring.boot.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-loader</artifactId>
        <version>${spring.boot.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-logging</artifactId>
        <version>${spring.boot.version}</version>
        <scope>provided</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-params</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>${mockito.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-junit-jupiter</artifactId>
        <version>${mockito.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest</artifactId>
        <version>2.2</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.awaitility</groupId>
        <artifactId>awaitility</artifactId>
        <version>4.2.2</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>net.oneandone.mockrunner</groupId>
        <artifactId>mockrunner-jms</artifactId>
        <version>3.0.1</version>
        <scope>test</scope>
        <exclusions>
          <exclusion>
            <groupId>xerces</groupId>
            <artifactId>xercesImpl</artifactId>
          </exclusion>
          <exclusion>
            <groupId>ant</groupId>
            <artifactId>ant</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.testcontainers</groupId>
        <artifactId>testcontainers-bom</artifactId>
        <version>1.20.2</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <repositories>
    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>central</id>
      <name>Central Repository</name>
      <url>https://repo.maven.apache.org/maven2/</url>
    </repository>
    <repository>
      <id>frankframework</id>
      <url>https://nexus.frankframework.org/content/groups/public</url>
    </repository>
  </repositories>
  <build>
    <defaultGoal>install</defaultGoal>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.13.0</version>
          <configuration>
            <release>${maven.compiler.target}</release>
            <source>${maven.compiler.source}</source>
            <target>${maven.compiler.target}</target>
            <compilerArgs>
              <arg>-parameters</arg>
            </compilerArgs>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.4.2</version>
          <configuration>
            <archive>
              <addMavenDescriptor>true</addMavenDescriptor>
              <manifest>
                <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
              </manifest>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.4.0</version>
          <configuration>
            <packagingExcludes>.gitignore</packagingExcludes>
            <archive>
              <manifest>
                <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
              </manifest>
              <manifestEntries>
                <DisableIBMJAXWSEngine>true</DisableIBMJAXWSEngine>
                <Enable-CDI>false</Enable-CDI>
              </manifestEntries>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-source-plugin</artifactId>
          <version>3.3.1</version>
          <executions>
            <execution>
              <id>attach-sources</id>
              <phase>prepare-package</phase>
              <goals>
                <goal>jar-no-fork</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.projectlombok</groupId>
          <artifactId>lombok-maven-plugin</artifactId>
          <version>1.18.20.0</version>
          <executions>
            <execution>
              <phase>generate-sources</phase>
              <goals>
                <goal>delombok</goal>
              </goals>
              <configuration>
                <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
                <addOutputDirectory>false</addOutputDirectory>
              </configuration>
            </execution>
          </executions>
          <dependencies>
            <dependency>
              <groupId>org.projectlombok</groupId>
              <artifactId>lombok</artifactId>
              <version>1.18.34</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <groupId>org.glassfish.copyright</groupId>
          <artifactId>glassfish-copyright-maven-plugin</artifactId>
          <version>2.4</version>
          <executions>
            <execution>
              <id>Check-CopyRight-Notice</id>
              <phase>process-sources</phase>
              <goals>
                <goal>copyright</goal>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <excludeFile>${iaf.rootdir}/copyrightExcludeFile.txt</excludeFile>
            <exclude>DataSourceXAResourceRecoveryHelper.java,NarayanaRecoveryManager.java,PasswordHash.java,FrankJ2V8LibraryLoader.java,ReplacingVariablesInputStream.java,ReplacingInputStream.java</exclude>
            <ignoreYear>true</ignoreYear>
            <useDash>true</useDash>
            <templateFile>${iaf.rootdir}/copyrightTemplateFile.txt</templateFile>
          </configuration>
        </plugin>
        <plugin>
          <groupId>com.github.hazendaz.maven</groupId>
          <artifactId>directory-maven-plugin</artifactId>
          <version>1.2.0</version>
          <executions>
            <execution>
              <id>find-project-root-directory</id>
              <phase>initialize</phase>
              <goals>
                <goal>directory-of</goal>
              </goals>
              <configuration>
                <property>iaf.rootdir</property>
                <project>
                  <groupId>org.frankframework</groupId>
                  <artifactId>frankframework-parent</artifactId>
                </project>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.jacoco</groupId>
          <artifactId>jacoco-maven-plugin</artifactId>
          <version>0.8.12</version>
          <executions>
            <execution>
              <id>prepare-jacoco</id>
              <phase>initialize</phase>
              <goals>
                <goal>prepare-agent</goal>
              </goals>
            </execution>
            <execution>
              <id>generate-jacoco-report</id>
              <phase>test</phase>
              <goals>
                <goal>report</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>${javadoc-plugin.version}</version>
          <executions>
            <execution>
              <id>attach-javadoc</id>
              <phase>generate-sources</phase>
              <goals>
                <goal>jar</goal>
              </goals>
              <configuration>
                <failOnError>false</failOnError>
              </configuration>
            </execution>
          </executions>
          <configuration>
            <source>${maven.compiler.source}</source>
            <doclint>none</doclint>
            <quiet>true</quiet>
            <tags>
              <tag>
                <name>ff.parameters</name>
                <placement>a</placement>
                <head>Parameters</head>
              </tag>
              <tag>
                <name>ff.parameter</name>
                <placement>a</placement>
                <head>Specific parameters</head>
              </tag>
              <tag>
                <name>ff.default</name>
                <placement>a</placement>
                <head>Default value</head>
              </tag>
              <tag>
                <name>ff.defaultElement</name>
                <placement>a</placement>
                <head>Default element</head>
              </tag>
              <tag>
                <name>ff.forward</name>
                <placement>X</placement>
              </tag>
              <tag>
                <name>ff.noAttribute</name>
                <placement>X</placement>
              </tag>
            </tags>
            <useStandardDocletOptions>true</useStandardDocletOptions>
            <skippedModules>frankframework-test,frankframework-example,frankframework-webapp,frankframework-console-frontend</skippedModules>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.20.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>3.5.0</version>
          <executions>
            <execution>
              <id>verify-code-style</id>
              <phase>process-classes</phase>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
          <dependencies>
            <dependency>
              <groupId>com.puppycrawl.tools</groupId>
              <artifactId>checkstyle</artifactId>
              <version>10.18.2</version>
            </dependency>
          </dependencies>
          <configuration>
            <configLocation>${iaf.rootdir}/checkstyle.xml</configLocation>
            <propertyExpansion>config_loc=${iaf.rootdir}</propertyExpansion>
            <logViolationsToConsole>true</logViolationsToConsole>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>flatten-maven-plugin</artifactId>
          <version>1.6.0</version>
          <executions>
            <execution>
              <id>flatten</id>
              <phase>initialize</phase>
              <goals>
                <goal>flatten</goal>
              </goals>
            </execution>
            <execution>
              <id>clean</id>
              <phase>clean</phase>
              <goals>
                <goal>clean</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <updatePomFile>true</updatePomFile>
            <flattenMode>resolveCiFriendliesOnly</flattenMode>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.glassfish.copyright</groupId>
                    <artifactId>glassfish-copyright-maven-plugin</artifactId>
                    <versionRange>[2.4,)</versionRange>
                    <goals>
                      <goal>check</goal>
                      <goal>copyright</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>com.github.hazendaz.maven</groupId>
                    <artifactId>directory-maven-plugin</artifactId>
                    <versionRange>[1,)</versionRange>
                    <goals>
                      <goal>directory-of</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-checkstyle-plugin</artifactId>
                    <versionRange>[3.1.2,)</versionRange>
                    <goals>
                      <goal>check</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-enforcer-plugin</artifactId>
                    <versionRange>[3.2.1,)</versionRange>
                    <goals>
                      <goal>enforce</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore />
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>3.5.0</version>
          <executions>
            <execution>
              <id>enforce-lib-ban</id>
              <goals>
                <goal>enforce</goal>
              </goals>
              <configuration>
                <rules>
                  <bannedDependencies>
                    <excludes>
                      <exclude>com.sun.mail:javax.mail</exclude>
                      <exclude>org.eclipse.angus:angus-mail:[1.0.0]</exclude>
                      <exclude>javax.transaction:javax.transaction-api</exclude>
                      <exclude>org.glassfish:javax.json</exclude>
                      <exclude>com.google.code.findbugs:jsr305</exclude>
                    </excludes>
                    <message>use jakarta packages instead</message>
                  </bannedDependencies>
                  <bannedDependencies>
                    <excludes>
                      <exclude>javax.annotation:javax.annotation-api</exclude>
                      <exclude>javax.xml.ws:jaxws-api</exclude>
                      <exclude>javax.xml.bind:jaxb-api</exclude>
                      <exclude>javax.xml.soap:javax.xml.soap-api</exclude>
                    </excludes>
                    <message>Prevent the use of both javax and jakarta packages</message>
                  </bannedDependencies>
                  <bannedDependencies>
                    <excludes>
                      <exclude>jakarta.jms:jakarta.jms-api:[2.0.2],[2.0.3]</exclude>
                      <exclude>org.apache.geronimo.specs:geronimo-jms_1.1_spec</exclude>
                      <exclude>org.apache.geronimo.specs:geronimo-jms_2.0_spec</exclude>
                    </excludes>
                    <message>Don't use geronimo anymore, ensure javax namespace is used</message>
                  </bannedDependencies>
                  <bannedDependencies>
                    <excludes>
                      <exclude>javax.xml.stream:stax-api</exclude>
                      <exclude>xml-apis:xml-apis</exclude>
                    </excludes>
                    <message>Prevent the use of STAX1, use STAX 2 (org.codehaus.woodstox:stax2-api) instead!</message>
                  </bannedDependencies>
                  <bannedDependencies>
                    <excludes>
                      <exclude>javax.activation:javax.activation-api</exclude>
                      <exclude>com.sun.activation:javax.activation</exclude>
                      <exclude>com.sun.activation:jakarta.activation</exclude>
                      <exclude>javax.activation:activation</exclude>
                    </excludes>
                    <message>Don't touch versions, we should use jakarta.activation-api:2.1.3</message>
                  </bannedDependencies>
                  <bannedDependencies>
                    <excludes>
                      <exclude>org.bouncycastle:*-jdk12</exclude>
                      <exclude>org.bouncycastle:*-jdk14</exclude>
                      <exclude>org.bouncycastle:*-jdk15</exclude>
                      <exclude>org.bouncycastle:*-jdk16</exclude>
                      <exclude>org.bouncycastle:*-jdk15to18</exclude>
                      <exclude>org.bouncycastle:*-ext-jdk15on</exclude>
                      <exclude>org.bouncycastle:*-jdk15on</exclude>
                      <exclude>bouncycastle:*</exclude>
                    </excludes>
                    <message>use the newer 'org.bouncycastle:*-jdk18on' version of org.bouncycastle</message>
                  </bannedDependencies>
                  <bannedDependencies>
                    <excludes>
                      <exclude>com.sun.xml.bind:jaxb-core</exclude>
                      <exclude>com.sun.xml.bind:jaxb-impl</exclude>
                    </excludes>
                    <message>Dont use com.sun but glassfish instead</message>
                  </bannedDependencies>
                </rules>
              </configuration>
            </execution>
            <execution>
              <id>enforce-classpath-lib-ban</id>
              <goals>
                <goal>enforce</goal>
              </goals>
              <configuration>
                <rules>
                  <bannedDependencies>
                    <excludes>
                      <exclude>ant:ant</exclude>
                      <exclude>jakarta.jms:jakarta.jms-api:*:jar:compile</exclude>
                      <exclude>org.apache.geronimo.specs:geronimo-jms_1.1_spec:*:jar:compile</exclude>
                      <exclude>org.apache.geronimo.specs:geronimo-jms_2.0_spec:*:jar:compile</exclude>
                      <exclude>org.apache.geronimo.javamail:geronimo-javamail_1.4_mail:*:jar:compile</exclude>
                      <exclude>org.apache.geronimo.specs:geronimo-jta_1.1_spec:*:jar:compile</exclude>
                      <exclude>javax.servlet:javax.servlet-api:*:jar:compile</exclude>
                      <exclude>jakarta.servlet:jakarta.servlet-api:*:jar:compile</exclude>
                      <exclude>jakarta.transaction:jakarta.transaction-api:*:jar:compile</exclude>
                    </excludes>
                    <message>These dependencies should be provided by the Application Server!</message>
                  </bannedDependencies>
                </rules>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.jasig.maven</groupId>
        <artifactId>notice-maven-plugin</artifactId>
        <version>2.0.0</version>
        <configuration>
          <excludedModules>
            <excludedModule>frankframework-sap</excludedModule>
            <excludedModule>frankframework-tibco</excludedModule>
            <excludedModule>frankframework-idin</excludedModule>
          </excludedModules>
          <noticeMessage>{0} - using: {1}</noticeMessage>
          <excludeOptional>true</excludeOptional>
          <generateChildNotices>false</generateChildNotices>
          <includeChildDependencies>true</includeChildDependencies>
          <licenseMapping>
            <param>license-mappings.xml</param>
          </licenseMapping>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-source-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>com.github.hazendaz.maven</groupId>
        <artifactId>directory-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.glassfish.copyright</groupId>
        <artifactId>glassfish-copyright-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-checkstyle-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>3.5.1</version>
        <configuration>
          <redirectTestOutputToFile>true</redirectTestOutputToFile>
          <excludedGroups>${junit.excludedTags}</excludedGroups>
          <groups>${junit.includedTags}</groups>
          <reuseForks>true</reuseForks>
          <argLine>@{argLine} -Dfile.encoding=CP-1252 --add-opens java.base/java.io=ALL-UNNAMED -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI</argLine>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-deploy-plugin</artifactId>
        <version>3.1.3</version>
      </plugin>
      <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <version>3.1.1</version>
        <configuration>
          <goals>deploy</goals>
          <tagNameFormat>v@{project.version}</tagNameFormat>
          <autoVersionSubmodules>true</autoVersionSubmodules>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-site-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>flatten-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
  <reporting>
    <plugins>
      <plugin>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>3.7.0</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>modules</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>${javadoc-plugin.version}</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>javadoc</report>
            </reports>
          </reportSet>
          <reportSet>
            <id>javadoc</id>
            <reports>
              <report>aggregate</report>
            </reports>
            <inherited>false</inherited>
          </reportSet>
        </reportSets>
      </plugin>
    </plugins>
  </reporting>
  <profiles>
    <profile>
      <id>ossrh</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.6</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <passphrase>${gpg.passphrase}</passphrase>
              <gpgArguments>
                <arg>--batch</arg>
                <arg>--no-tty</arg>
                <arg>--pinentry-mode</arg>
                <arg>loopback</arg>
              </gpgArguments>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.sonatype.plugins</groupId>
            <artifactId>nexus-staging-maven-plugin</artifactId>
            <version>1.7.0</version>
            <extensions>true</extensions>
            <configuration>
              <serverId>ossrh</serverId>
              <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
              <autoReleaseAfterClose>false</autoReleaseAfterClose>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <distributionManagement>
        <repository>
          <id>ossrh</id>
          <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
        </repository>
        <snapshotRepository>
          <id>ossrh</id>
          <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <site>
          <id>www.ibissource.org</id>
          <url>file:target/site-deploy</url>
        </site>
      </distributionManagement>
    </profile>
    <profile>
      <id>ibissource</id>
      <distributionManagement>
        <repository>
          <id>frankframework</id>
          <url>https://nexus.frankframework.org/content/repositories/releases</url>
        </repository>
        <snapshotRepository>
          <id>frankframework</id>
          <url>https://nexus.frankframework.org/content/repositories/snapshots</url>
        </snapshotRepository>
        <site>
          <id>www.ibissource.org</id>
          <url>file:target/site-deploy</url>
        </site>
      </distributionManagement>
    </profile>
    <profile>
      <id>default-modules</id>
      <activation>
        <property>
          <name>!no-default-modules</name>
        </property>
      </activation>
      <modules>
        <module>commons</module>
        <module>security</module>
        <module>credentialProvider</module>
        <module>management-gateway</module>
        <module>core</module>
        <module>filesystem</module>
        <module>console</module>
        <module>larva</module>
        <module>ladybug</module>
        <module>dbms</module>
        <module>bundle-minimal</module>
        <module>akamai</module>
        <module>aws</module>
        <module>batch</module>
        <module>cmis</module>
        <module>aspose</module>
        <module>nn-specials</module>
        <module>messaging</module>
        <module>kubernetes</module>
        <module>bundle-full</module>
        <module>webapp</module>
        <module>test</module>
        <module>example</module>
      </modules>
    </profile>
    <profile>
      <id>docker</id>
      <activation>
        <property>
          <name>docker</name>
        </property>
      </activation>
      <modules>
        <module>docker</module>
      </modules>
    </profile>
    <profile>
      <id>proprietary</id>
      <activation>
        <property>
          <name>proprietary</name>
        </property>
      </activation>
      <modules>
        <module>sap</module>
        <module>tibco</module>
        <module>idin</module>
      </modules>
      <repositories>
        <repository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>central</id>
          <name>Central Repository</name>
          <url>https://repo.maven.apache.org/maven2/</url>
        </repository>
        <repository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>proprietary</id>
          <url>https://nexus.frankframework.org/content/repositories/private/</url>
        </repository>
      </repositories>
    </profile>
    <profile>
      <id>test-integration</id>
      <activation>
        <property>
          <name>test-integration</name>
        </property>
      </activation>
      <modules>
        <module>test-integration</module>
      </modules>
    </profile>
    <profile>
      <id>javadoc</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok-maven-plugin</artifactId>
          </plugin>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <configuration>
              <sourcepath>${project.build.directory}/generated-sources/delombok</sourcepath>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>attachFrankDoc</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok-maven-plugin</artifactId>
          </plugin>
          <plugin>
            <groupId>org.frankframework</groupId>
            <artifactId>frank-doc-plugin</artifactId>
            <version>1.0</version>
            <executions>
              <execution>
                <id>attach-frankdoc</id>
                <phase>process-sources</phase>
                <goals>
                  <goal>aggregate-jar</goal>
                </goals>
                <configuration>
                  <failOnError>true</failOnError>
                </configuration>
              </execution>
            </executions>
            <inherited>false</inherited>
            <configuration>
              <doclint>none</doclint>
              <quiet>true</quiet>
              <doclet>org.frankframework.frankdoc.doclet.DocletBuilder</doclet>
              <docletArtifact>
                <groupId>org.frankframework</groupId>
                <artifactId>frank-doc-doclet</artifactId>
                <version>${frankdoc.version}</version>
              </docletArtifact>
              <frontendArtifact>
                <groupId>org.frankframework</groupId>
                <artifactId>frank-doc-frontend</artifactId>
                <version>${frankdoc.version}</version>
              </frontendArtifact>
              <additionalJOptions>
                <additionalJOption>-J--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</additionalJOption>
                <additionalJOption>-J--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</additionalJOption>
              </additionalJOptions>
              <additionalOptions>
                <additionalOption>-outputDirectory</additionalOption>
                <additionalOption>${project.build.directory}/frankdoc</additionalOption>
                <additionalOption>-digesterRulesPath</additionalOption>
                <additionalOption>${project.basedir}/core/src/main/resources/digester-rules.xml</additionalOption>
                <additionalOption>-propertyFilePath</additionalOption>
                <additionalOption>${project.basedir}/core/src/main/resources/AppConstants.properties</additionalOption>
                <additionalOption>-rootClass</additionalOption>
                <additionalOption>org.frankframework.configuration.Configuration</additionalOption>
                <additionalOption>-frankFrameworkVersion</additionalOption>
                <additionalOption>${project.version}</additionalOption>
              </additionalOptions>
              <show>private</show>
              <outputDirectory>${project.build.directory}/frankdoc</outputDirectory>
              <source>${maven.compiler.source}</source>
              <useStandardDocletOptions>false</useStandardDocletOptions>
              <appendTo>frankframework-core</appendTo>
              <finalName>frankframework-parent-${project.version}</finalName>
              <skippedModules>frankframework-test,frankframework-example,frankframework-webapp,frankframework-console-backend,frankframework-console-frontend</skippedModules>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <pluginRepositories>
        <pluginRepository>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>always</updatePolicy>
          </snapshots>
          <id>frankframework</id>
          <url>https://nexus.frankframework.org/content/groups/public</url>
        </pluginRepository>
      </pluginRepositories>
    </profile>
    <profile>
      <id>codecoverage</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
          </plugin>
        </plugins>
      </build>
      <reporting>
        <plugins>
          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <reportSets>
              <reportSet>
                <reports>
                  <report>report</report>
                </reports>
              </reportSet>
            </reportSets>
          </plugin>
        </plugins>
      </reporting>
    </profile>
    <profile>
      <id>alternateBuildDir</id>
      <activation>
        <property>
          <name>build.dir</name>
        </property>
      </activation>
      <build>
        <directory>${build.dir}</directory>
      </build>
    </profile>
  </profiles>
</project>
