<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/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.solacesystems</groupId>
    <artifactId>solsuite</artifactId>
    <version>10.25.0</version>
    <relativePath>../pom.xml</relativePath>
  </parent>

  <artifactId>sol-jms-jakarta</artifactId>
  <packaging>jar</packaging>
  <name>Solace PubSub+ Messaging API for Jakarta Messaging</name>
  <description>Solace PubSub+ Messaging API for Jakarta Messaging</description>

  <properties>
    <java.version>11</java.version>
    <maven.compiler.source>11</maven.compiler.source>
    <maven.compiler.target>11</maven.compiler.target>
    <maven.surefire.plugin.version>2.22.2</maven.surefire.plugin.version>
    <doclint>none</doclint>
    <transform.skip>false</transform.skip>
    <maven.test.skip>true</maven.test.skip>
  </properties>

  <dependencies>
    <dependency>
      <groupId>jakarta.jms</groupId>
      <artifactId>jakarta.jms-api</artifactId>
      <version>3.1.0</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi.annotation</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.servicemix.bundles</groupId>
      <artifactId>org.apache.servicemix.bundles.jzlib</artifactId>
      <version>1.1.3_2</version>
    </dependency>
	<dependency>
	   <groupId>io.netty</groupId>
       <artifactId>netty-transport</artifactId>
	   <version>4.1.109.Final</version>
	</dependency>
	<dependency>
		<groupId>io.netty</groupId>
		<artifactId>netty-handler</artifactId>
	    <version>4.1.109.Final</version>
	</dependency>
	<dependency>
		<groupId>io.netty</groupId>
		<artifactId>netty-codec-http</artifactId>
		<version>4.1.109.Final</version>
	</dependency>
	<dependency>
		<groupId>io.netty</groupId>
		<artifactId>netty-transport-native-epoll</artifactId>
		<version>4.1.109.Final</version>
		<classifier>linux-x86_64</classifier>
    </dependency>
	<dependency>
		<groupId>io.netty</groupId>
		<artifactId>netty-handler-proxy</artifactId>
		<version>4.1.109.Final</version>
	</dependency> 
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-api</artifactId>
      <version>5.8.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter-engine</artifactId>
      <version>5.8.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.platform</groupId>
      <artifactId>junit-platform-suite-engine</artifactId>
      <version>1.8.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.platform</groupId>
      <artifactId>junit-platform-console-standalone</artifactId>
      <version>1.8.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.platform</groupId>
      <artifactId>junit-platform-reporting</artifactId>
      <version>1.8.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-all</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.solace</groupId>
      <artifactId>solace-broker-mgmt-client</artifactId>
      <version>0.0.1.21</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>testcontainers</artifactId>
      <version>1.15.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>1.15.2</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.solace</groupId>
      <artifactId>solace-testcontainer-extension</artifactId>
      <version>0.0.3</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.2.3</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <!-- Defined below -->
          <artifactId>slf4j-api</artifactId>
          <groupId>org.slf4j</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.30</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.solacesystems</groupId>
      <artifactId>sol-common</artifactId>
      <version>${project.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <profiles>
    <profile>
      <id>default</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
    </profile>
    <profile>
      <id>ci</id>
      <properties>
        <maven.test.skip>false</maven.test.skip>
      </properties>
      <build>
        <resources>
          <resource>
            <directory>${basedir}/..</directory>
            <includes>
              <include>README.txt</include>
            </includes>
          </resource>
        </resources>

        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>flatten-maven-plugin</artifactId>
            <version>1.2.2</version>
            <configuration>
              <updatePomFile>true</updatePomFile>
              <flattenMode>minimum</flattenMode>
              <pomElements>
                <distributionManagement>remove</distributionManagement>
                <ciManagement>remove</ciManagement>
                <repositories>remove</repositories>
                <profiles>remove</profiles>
                <pluginRepositories>remove</pluginRepositories>
                <properties>remove</properties>
                <build>remove</build>
              </pomElements>
            </configuration>
            <executions>
              <!-- enable flattening -->
              <execution>
                <id>flatten</id>
                <phase>process-resources</phase>
                <goals>
                  <goal>flatten</goal>
                </goals>
              </execution>
              <!-- ensure proper cleanup -->
              <execution>
                <id>flatten.clean</id>
                <phase>clean</phase>
                <goals>
                  <goal>clean</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-toolchains-plugin</artifactId>
            <version>3.0.0</version>
            <configuration>
              <toolchains>
                <jdk>
                  <!-- this project needs a JDK toolchain, version 11 -->
                  <version>11</version>
                </jdk>
              </toolchains>
            </configuration>
            <executions>
              <execution>
                <goals>
                  <!-- the toolchain goal binds to the validate phase automatically -->
                  <goal>toolchain</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.10.0</version>
            <configuration>
              <source>11</source>
              <target>11</target>
              <release>11</release>
              <encoding>cp1252</encoding>
              <jdkToolchain>
                <version>11</version>
              </jdkToolchain>
            </configuration>
          </plugin>
          <!-- should site generation be skipped as it doesn't support toolchain?? -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-site-plugin</artifactId>
            <configuration>
              <skip>false</skip>
            </configuration>
          </plugin>
          <!-- don't run tests -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>${maven.surefire.plugin.version}</version>
            <configuration>
              <skipTests>true</skipTests>
            </configuration>
          </plugin>
          <!-- generate an empty sources.jar with README.txt -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <configuration>
              <includes>
                <include>README.txt</include>
              </includes>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <dependencies>
              <dependency>
                <groupId>org.apache.ant</groupId>
                <artifactId>ant-junit</artifactId>
                <version>1.8.2</version>
              </dependency>
            </dependencies>
            <executions>
              <execution>
                <id>process_docs</id>
                <phase>package</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <target>
                    <copy todir="${project.reporting.outputDirectory}/external/apidocs/com">
                      <fileset dir="${project.reporting.outputDirectory}/external/api_doclets/com"/>
                    </copy>
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>3.4.0</version>
            <configuration>
              <additionalDependencies>
                <additionalDependency>
                  <groupId>org.apache.geronimo.specs</groupId>
                  <artifactId>geronimo-jms_2.0_spec</artifactId>
                  <version>1.0-alpha-2</version>
                  <scope>compile</scope>
                </additionalDependency>
              </additionalDependencies>
              <jdkToolchain>
                <version>1.8</version>
                <!--<vendor>corretto</vendor>-->
              </jdkToolchain>
              <failOnWarnings>false</failOnWarnings>
              <failOnError>false</failOnError>
              <encoding>cp1252</encoding>
              <bottom>
                <![CDATA[<i>Copyright 2004-2024 Solace Corporation. All rights reserved.</i>]]></bottom>
              <author>false</author>
              <version>true</version>
              <use>true</use>
              <javadocDirectory>${project.basedir}/src/main/javadoc</javadocDirectory>
              <docfilessubdirs>true</docfilessubdirs>
              <stylesheetfile>${project.basedir}/src/main/javadoc/stylesheet.css</stylesheetfile>
              <windowtitle>Solace PubSub+ Messaging API for Jakarta Messaging v${project.version}</windowtitle>
              <doctitle><![CDATA[<h1>Solace PubSub+ Messaging API for Jakarta Messaging</h1> v${project.version}]]></doctitle>
              <overview>${basedir}/docs/specs/Overview.html</overview>
              <show>public</show>
              <links>
                <link>https://jakarta.ee/specifications/platform/9/apidocs/</link>
              </links>
              <groups>
                <group>
                  <title>Solace JMS API</title>
                  <packages>com.solacesystems.jms*:com/solacesystems/jndi*:jakarta.jms</packages>
                </group>
                <group>
                  <title>Utilities for Solace Messaging API for Java</title>
                  <packages>com.solacesystems.common*</packages>
                </group>
              </groups>
              <sourceFileIncludes>
                <include>jakarta/jms/*.java</include>
                <include>com/solacesystems/jms/impl/SolJMSConstants.java</include>
                <include>com/solacesystems/jms/impl/SolJMSErrorCodes.java</include>
                <include>com/solacesystems/jms/SolEventSource.java</include>
                <include>com/solacesystems/jms/ConfigurationException.java</include>
                <include>com/solacesystems/jms/SupportedProperty.java</include>
                <include>com/solacesystems/jms/SolXAConnectionFactory.java</include>
                <include>com/solacesystems/jms/SolConnectionEventSource.java</include>
                <include>com/solacesystems/jms/SolConnectionEventListener.java</include>
                <include>com/solacesystems/jms/SolConnectionFactory.java</include>
                <include>com/solacesystems/jms/SolTopic.java</include>
                <include>com/solacesystems/jms/SolQueue.java</include>
                <include>com/solacesystems/jms/SolReferenceableDelegate.java</include>
                <include>com/solacesystems/jms/SolProducerEventSource.java</include>
                <include>com/solacesystems/jms/SolProducerEventListener.java</include>
                <include>com/solacesystems/jms/SolConsumerEventSource.java</include>
                <include>com/solacesystems/jms/SolConsumerEventListener.java</include>
                <include>com/solacesystems/jms/SolEventListener.java</include>
                <include>com/solacesystems/jms/SolEventSource.java</include>
                <include>com/solacesystems/jms/SolJmsUtility.java</include>
                <include>com/solacesystems/jms/events/*.java</include>
                <include>com/solacesystems/jndi/SolJNDIInitialContextFactory.java</include>
                <include>com/solacesystems/common/xa/SolXid.java</include>
                <include>com/solacesystems/jms/interceptors/MessageProducerInterceptor.java
                </include>
                <include>com/solacesystems/jms/interceptors/MessageReceiverInterceptor.java
                </include>
              </sourceFileIncludes>
              <sourcepath>
                ${basedir}/docs/specs;${basedir}/src/main/java;${basedir}/src/main/java-templates;${basedir}/../sol-jms/src/main/java;${basedir}/../sol-jms/src/main/java-templates;${basedir}/../sol-common/src/main/java;${basedir}/../sol-jcsmp/src/main/java;${basedir}/../sol-jcsmp/src/main/java-templates
              </sourcepath>
            </configuration>
            <executions>
              <execution>
                <id>internal</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>javadoc</goal>
                </goals>
                <configuration>
                  <reportOutputDirectory>${project.reporting.outputDirectory}/internal
                  </reportOutputDirectory>
                  <destDir>apidocs</destDir>
                  <nohelp>false</nohelp>
                </configuration>
              </execution>
              <execution>
                <id>external</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>javadoc</goal>
                </goals>
                <configuration>
                  <skip>false</skip>
                  <reportOutputDirectory>${project.reporting.outputDirectory}/external
                  </reportOutputDirectory>
                  <destDir>apidocs</destDir>
                  <nohelp>true</nohelp>
                </configuration>
              </execution>
              <execution>
                <id>external_doclet</id>
                <phase>prepare-package</phase>
                <goals>
                  <goal>javadoc</goal>
                </goals>
                <configuration>
                  <skip>false</skip>
                  <reportOutputDirectory>${project.reporting.outputDirectory}/external
                  </reportOutputDirectory>
                  <destDir>api_doclets</destDir>
                  <nohelp>true</nohelp>
                  <doclet>com.solacesystems.buildtools.doclet.SolaceDoclet</doclet>
                  <docletArtifacts>
                    <docletArtifact>
                      <groupId>com.solacesystems</groupId>
                      <artifactId>sol-build-tools</artifactId>
                      <version>1.0</version>
                    </docletArtifact>
                  </docletArtifacts>
                  <sourceFileIncludes>
                    <include>com/solacesystems/jms/impl/SolJMSConstants.java</include>
                    <include>com/solacesystems/jms/impl/SolJMSErrorCodes.java</include>
                    <include>com/solacesystems/jms/SolEventSource.java</include>
                    <include>com/solacesystems/jms/ConfigurationException.java</include>
                    <include>com/solacesystems/jms/SupportedProperty.java</include>
                    <include>com/solacesystems/jms/SolConnectionEventSource.java</include>
                    <include>com/solacesystems/jms/SolConnectionEventListener.java</include>
                    <include>com/solacesystems/jms/SolTopic.java</include>
                    <include>com/solacesystems/jms/SolQueue.java</include>
                    <include>com/solacesystems/jms/SolReferenceableDelegate.java</include>
                    <include>com/solacesystems/jms/SolProducerEventSource.java</include>
                    <include>com/solacesystems/jms/SolProducerEventListener.java</include>
                    <include>com/solacesystems/jms/SolConsumerEventSource.java</include>
                    <include>com/solacesystems/jms/SolConsumerEventListener.java</include>
                    <include>com/solacesystems/jms/SolEventListener.java</include>
                    <include>com/solacesystems/jms/SolEventSource.java</include>
                    <include>com/solacesystems/jms/SolJmsUtility.java</include>
                    <include>com/solacesystems/jms/events/*.java</include>
                    <include>com/solacesystems/jndi/SolJNDIInitialContextFactory.java</include>
                    <include>com/solacesystems/common/xa/SolXid.java</include>
                    <include>com/solacesystems/jms/interceptors/MessageProducerInterceptor.java
                    </include>
                    <include>com/solacesystems/jms/interceptors/MessageReceiverInterceptor.java
                    </include>
                  </sourceFileIncludes>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
              <!-- extract sol-jms jar in target directory -->
              <execution>
                <id>unpack</id>
                <phase>process-classes</phase>
                <goals>
                  <goal>unpack</goal>
                </goals>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>com.solacesystems</groupId>
                      <artifactId>sol-jms</artifactId>
                      <version>${project.version}</version>
                      <outputDirectory>${project.build.outputDirectory}</outputDirectory>
                      <excludes>META-INF/maven/**,META-INF/MANIFEST.MF</excludes>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
              <!-- copy dependencies for preparing the loads - start -->
              <execution>
                <id>copy-dependencies</id>
                <phase>package</phase>
                <goals>
                  <goal>copy-dependencies</goal>
                </goals>
                <configuration>
                  <copyPom>true</copyPom>
                  <includeScope>runtime</includeScope>
                </configuration>
              </execution>
              <execution>
                <id>copy-test-dependencies</id>
                <phase>package</phase>
                <goals>
                  <goal>copy-dependencies</goal>
                </goals>
                <configuration>
                  <outputDirectory>target/test-dependency</outputDirectory>
                  <copyPom>true</copyPom>
                  <includeScope>test</includeScope>
                </configuration>
              </execution>
              <execution>
                <id>copy-solace-jars</id>
                <phase>package</phase>
                <goals>
                  <goal>copy</goal>
                </goals>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>${project.groupId}</groupId>
                      <artifactId>sol-common</artifactId>
                      <version>${project.version}</version>
                      <type>jar</type>
                      <overWrite>true</overWrite>
                    </artifactItem>
                    <artifactItem>
                      <groupId>${project.groupId}</groupId>
                      <artifactId>sol-common</artifactId>
                      <version>${project.version}</version>
                      <type>pom</type>
                      <overWrite>true</overWrite>
                    </artifactItem>
                    <artifactItem>
                      <groupId>${project.groupId}</groupId>
                      <artifactId>sol-jcsmp</artifactId>
                      <version>${project.version}</version>
                      <type>jar</type>
                      <overWrite>true</overWrite>
                    </artifactItem>
                    <artifactItem>
                      <groupId>${project.groupId}</groupId>
                      <artifactId>sol-jcsmp</artifactId>
                      <version>${project.version}</version>
                      <type>pom</type>
                      <overWrite>true</overWrite>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
              <!-- copy dependencies for preparing the loads - end -->
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>javadocs</id>
                <goals>
                  <goal>single</goal>
                </goals>
                <phase>package</phase>
                <configuration>
                  <skipAssembly>false</skipAssembly>
                  <descriptors>
                    <descriptor>assemble-javadoc.xml</descriptor>
                  </descriptors>
                </configuration>
              </execution>
              <execution>
                <id>assembly</id>
                <goals>
                  <goal>single</goal>
                </goals>
                <phase>package</phase>
                <configuration>
                  <descriptors>
                    <descriptor>assemble-internal.xml</descriptor>
                    <descriptor>assemble-release.xml</descriptor>
                  </descriptors>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <extensions>true</extensions>
            <configuration>
              <niceManifest>true</niceManifest>
              <instructions>
                <Export-Package>
                  com.solacesystems.common.xa;version="${project.version}",
                  com.solacesystems.jms;version="${project.version}",
                  com.solacesystems.jms.events;version="${project.version}",
                  com.solacesystems.jms.impl;version="${project.version}",
                  com.solacesystems.jndi;version="${project.version}"
                </Export-Package>
                <Import-Package>
                  !org.apache.commons.lang,
                  !com.solacesystems.common.xa;version="${project.version}",
                  !com.solacesystems.jms;version="${project.version}",
                  !com.solacesystems.jms.events;version="${project.version}",
                  !com.solacesystems.jms.impl;version="${project.version}",
                  !com.solacesystems.jndi;version="${project.version}",
                  jakarta.jms,*
                </Import-Package>
              </instructions>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.3.0</version>
            <configuration>
              <archive>
                <manifestSections>
                  <manifestSection>
                    <name>com/solacesystems/jms</name>
                    <manifestEntries>
                      <Specification-Title>Jakarta Messaging API</Specification-Title>
                      <Specification-Version>3.1</Specification-Version>
                      <Specification-Vendor>Eclipse Foundation</Specification-Vendor>
                      <Implementation-Title>com.solacesystems.jms</Implementation-Title>
                      <Implementation-Version>${project.version}</Implementation-Version>
                      <Implementation-Vendor>Solace Corporation.</Implementation-Vendor>
                    </manifestEntries>
                  </manifestSection>
                </manifestSections>
                <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
              </archive>
              <excludes>
                <exclude>README.txt</exclude>
              </excludes>
            </configuration>
          </plugin>
          <plugin>
            <groupId>org.eclipse.transformer</groupId>
            <artifactId>transformer-maven-plugin</artifactId>
            <version>0.5.0</version>
            <extensions>true</extensions>
            <dependencies>
              <dependency>
                <groupId>org.apache.geronimo.specs</groupId>
                <artifactId>geronimo-jms_2.0_spec</artifactId>
                <version>1.0-alpha-2</version>
                <scope>compile</scope>
              </dependency>
            </dependencies>
            <configuration>
              <skip>${transform.skip}</skip>
              <rules>
                <jakartaDefaults>true</jakartaDefaults>
                <texts>
                  <text>transformer-selection.properties</text>
                </texts>
              </rules>
            </configuration>
            <executions>
              <execution>
                <id>default-transform</id>
                <goals>
                  <goal>transform</goal>
                </goals>
              </execution>
              <execution>
                <id>javadoc-jar</id>
                <goals>
                  <goal>jar</goal>
                </goals>
                <configuration>
                  <attach>false</attach>
                  <artifact>
                    <groupId>${project.groupId}</groupId>
                    <artifactId>${project.artifactId}</artifactId>
                    <version>${project.version}</version>
                    <classifier>javadoc</classifier>
                  </artifact>
                </configuration>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-failsafe-plugin</artifactId>
            <version>3.0.0-M5</version>
            <configuration>
              <failIfNoTests>true</failIfNoTests>
            </configuration>
            <executions>
              <execution>
                <id>integration-test</id>
                <goals>
                  <goal>integration-test</goal>
                </goals>
              </execution>
              <execution>
                <id>verify</id>
                <goals>
                  <goal>verify</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

  <build>
    <plugins>
      <!-- For recognizing src/it/java as source directory in IDE -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>3.0.0</version>
        <executions>
          <execution>
            <id>add-integration-test-source</id>
            <phase>generate-test-sources</phase>
            <goals>
              <goal>add-test-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>src/it/java</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>3.2.0</version>
        <executions>
          <execution>
            <id>add-integration-test-resources</id>
            <goals>
              <goal>copy-resources</goal>
            </goals>
            <phase>pre-integration-test</phase>
            <configuration>
              <overwrite>true</overwrite>
              <outputDirectory>${basedir}/target/test-classes</outputDirectory>
              <resources>
                <resource>
                  <directory>${basedir}/src/it/resources</directory>
                </resource>
              </resources>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
