<?xml version="1.0" encoding="UTF-8"?>
<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">
  <parent>
    <artifactId>flink-table</artifactId>
    <groupId>org.apache.flink</groupId>
    <version>2.0.0.100-dep-1010</version>
  </parent>
  <modelVersion>4.0.0</modelVersion>
  <artifactId>flink-table-api-scala_2.12</artifactId>
  <name>Flink : Table : API Scala</name>
  <description>This module contains the Table/SQL API for writing table programs
		within the table ecosystem using the Scala programming language.</description>
  <build>
    <plugins>
      <plugin>
        <groupId>com.diffplug.spotless</groupId>
        <artifactId>spotless-maven-plugin</artifactId>
        <configuration>
          <scala>
            <scalafmt>
              <version>${spotless.scalafmt.version}</version>
              <file>${project.basedir}/../../.scalafmt.conf</file>
            </scalafmt>
            <licenseHeader>
              <content>${spotless.license.header}</content>
              <delimiter>${spotless.delimiter}</delimiter>
            </licenseHeader>
          </scala>
        </configuration>
      </plugin>
      <plugin>
        <groupId>net.alchim31.maven</groupId>
        <artifactId>scala-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>scala-compile-first</id>
            <phase>process-resources</phase>
            <goals>
              <goal>compile</goal>
            </goals>
          </execution>
          <execution>
            <id>scala-test-compile</id>
            <phase>process-test-resources</phase>
            <goals>
              <goal>testCompile</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>src/main/scala</source>
              </sources>
            </configuration>
          </execution>
          <execution>
            <id>add-test-source</id>
            <phase>generate-test-sources</phase>
            <goals>
              <goal>add-test-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>src/test/scala</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>generate-migration-test-data</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>generate-migration-test-data</id>
                <phase>package</phase>
                <goals>
                  <goal>run</goal>
                </goals>
                <configuration>
                  <target>
                    <condition>
                      <isset />
                    </condition>
                    <condition>
                      <isset />
                    </condition>
                    <java>
                      <classpath />
                      <arg />
                      <arg />
                      <arg />
                      <arg />
                      <arg />
                      <arg />
                    </java>
                  </target>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>java17</id>
      <build>
        <plugins>
          <plugin>
            <groupId>com.github.siom79.japicmp</groupId>
            <artifactId>japicmp-maven-plugin</artifactId>
            <version>0.17.1</version>
            <executions>
              <execution>
                <phase>verify</phase>
                <goals>
                  <goal>cmp</goal>
                </goals>
                <configuration>
                  <skip>true</skip>
                  <oldVersion>
                    <dependency>
                      <groupId>org.apache.flink</groupId>
                      <artifactId>flink-table-api-scala_2.12</artifactId>
                      <version>1.20.0</version>
                      <type>jar</type>
                    </dependency>
                  </oldVersion>
                  <newVersion>
                    <file>
                      <path>/data/jenkins/workspace/ch-2.0.0-mapr-mep-10.1.0-fy26-q2/flink-table/flink-table-api-scala/target/flink-table-api-scala_2.12-2.0.0.100-dep-1010.jar</path>
                    </file>
                  </newVersion>
                  <parameter>
                    <onlyModified>true</onlyModified>
                    <includes>
                      <include>@org.apache.flink.annotation.Public</include>
                    </includes>
                    <excludes>
                      <exclude>@java.lang.Deprecated</exclude>
                      <exclude>*.scala</exclude>
                      <exclude>@org.apache.flink.annotation.Experimental</exclude>
                      <exclude>@org.apache.flink.annotation.PublicEvolving</exclude>
                      <exclude>@org.apache.flink.annotation.Internal</exclude>
                      <exclude>org.apache.flink.configuration.Configuration#getBytes(java.lang.String,byte[])</exclude>
                      <exclude>org.apache.flink.configuration.Configuration#setBytes(java.lang.String,byte[])</exclude>
                      <exclude>org.apache.flink.api.common.functions.AbstractRichFunction#open(org.apache.flink.configuration.Configuration)</exclude>
                      <exclude>org.apache.flink.api.common.functions.RichCoGroupFunction</exclude>
                      <exclude>org.apache.flink.api.common.functions.RichCrossFunction</exclude>
                      <exclude>org.apache.flink.api.common.functions.RichFilterFunction</exclude>
                      <exclude>org.apache.flink.api.common.functions.RichFlatJoinFunction</exclude>
                      <exclude>org.apache.flink.api.common.functions.RichFlatMapFunction</exclude>
                      <exclude>org.apache.flink.api.common.functions.RichGroupCombineFunction</exclude>
                      <exclude>org.apache.flink.api.common.functions.RichGroupReduceFunction</exclude>
                      <exclude>org.apache.flink.api.common.functions.RichJoinFunction</exclude>
                      <exclude>org.apache.flink.api.common.functions.RichMapFunction</exclude>
                      <exclude>org.apache.flink.api.common.functions.RichMapPartitionFunction</exclude>
                      <exclude>org.apache.flink.api.common.functions.RichReduceFunction</exclude>
                      <exclude>org.apache.flink.api.common.eventtime.WatermarksWithIdleness</exclude>
                      <exclude>org.apache.flink.api.java.tuple.*</exclude>
                      <exclude>org.apache.flink.types.NullFieldException</exclude>
                      <exclude>org.apache.flink.streaming.api.functions.windowing.AllWindowFunction</exclude>
                      <exclude>org.apache.flink.streaming.api.datastream.CoGroupedStreams</exclude>
                      <exclude>org.apache.flink.streaming.api.datastream.ConnectedStreams</exclude>
                      <exclude>org.apache.flink.streaming.api.datastream.DataStream</exclude>
                      <exclude>apache.flink.streaming.api.datastream.JoinedStreams</exclude>
                      <exclude>org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator</exclude>
                      <exclude>org.apache.flink.streaming.api.datastream.WindowedStream</exclude>
                      <exclude>org.apache.flink.streaming.api.environment.StreamExecutionEnvironment</exclude>
                      <exclude>org.apache.flink.streaming.api.datastream.AllWindowedStream</exclude>
                      <exclude>org.apache.flink.streaming.api.datastream.JoinedStreams</exclude>
                      <exclude>org.apache.flink.streaming.api.checkpoint.CheckpointedFunction</exclude>
                      <exclude>org.apache.flink.streaming.api.CheckpointingMode</exclude>
                      <exclude>org.apache.flink.streaming.api.datastream.DataStreamSink</exclude>
                      <exclude>org.apache.flink.streaming.api.datastream.DataStreamSource</exclude>
                      <exclude>org.apache.flink.streaming.api.datastream.KeyedStream</exclude>
                      <exclude>org.apache.flink.streaming.api.datastream.SideOutputDataStream</exclude>
                      <exclude>org.apache.flink.streaming.api.environment.CheckpointConfig</exclude>
                      <exclude>org.apache.flink.streaming.api.environment.LocalStreamEnvironment</exclude>
                      <exclude>org.apache.flink.streaming.api.environment.RemoteStreamEnvironment</exclude>
                      <exclude>org.apache.flink.streaming.api.functions.co.CoFlatMapFunction</exclude>
                      <exclude>org.apache.flink.streaming.api.functions.co.CoMapFunction</exclude>
                      <exclude>org.apache.flink.streaming.api.functions.sink.RichSinkFunction</exclude>
                      <exclude>org.apache.flink.streaming.api.functions.sink.SinkFunction</exclude>
                      <exclude>org.apache.flink.streaming.api.functions.source.SourceFunction</exclude>
                      <exclude>org.apache.flink.streaming.api.functions.windowing.WindowFunction</exclude>
                      <exclude>org.apache.flink.streaming.api.functions.source.RichSourceFunction</exclude>
                      <exclude>org.apache.flink.streaming.api.functions.source.RichParallelSourceFunction</exclude>
                      <exclude>org.apache.flink.streaming.api.functions.source.ParallelSourceFunction</exclude>
                      <exclude>org.apache.flink.types.DoubleValue</exclude>
                      <exclude>org.apache.flink.types.FloatValue</exclude>
                      <exclude>org.apache.flink.types.NormalizableKey</exclude>
                      <exclude>org.apache.flink.api.common.io.SerializedOutputFormat</exclude>
                      <exclude>org.apache.flink.api.common.io.OutputFormat</exclude>
                      <exclude>org.apache.flink.api.common.io.FinalizeOnMaster</exclude>
                      <exclude>org.apache.flink.api.common.io.FileOutputFormat</exclude>
                      <exclude>org.apache.flink.api.common.io.BinaryOutputFormat</exclude>
                      <exclude>org.apache.flink.core.fs.Path</exclude>
                      <exclude>org.apache.flink.api.java.hadoop.mapred.HadoopInputFormat</exclude>
                      <exclude>org.apache.flink.api.java.hadoop.mapred.HadoopOutputFormat</exclude>
                      <exclude>org.apache.flink.api.java.hadoop.mapreduce.HadoopInputFormat</exclude>
                      <exclude>org.apache.flink.api.java.hadoop.mapreduce.HadoopOutputFormat</exclude>
                      <exclude>org.apache.flink.api.java.typeutils.WritableTypeInfo</exclude>
                      <exclude>org.apache.flink.api.java.utils.AbstractParameterTool</exclude>
                      <exclude>org.apache.flink.api.java.utils.ParameterTool</exclude>
                      <exclude>org.apache.flink.table.api.typeutils.*</exclude>
                      <exclude>org.apache.flink.api.connector.sink2.Sink</exclude>
                      <exclude>org.apache.flink.walkthrough.common.source.TransactionSource</exclude>
                      <exclude>org.apache.flink.api.connector.source.Source</exclude>
                      <exclude>org.apache.flink.api.connector.source.SourceReaderContext</exclude>
                    </excludes>
                    <accessModifier>public</accessModifier>
                    <breakBuildOnModifications>false</breakBuildOnModifications>
                    <breakBuildOnBinaryIncompatibleModifications>true</breakBuildOnBinaryIncompatibleModifications>
                    <breakBuildOnSourceIncompatibleModifications>true</breakBuildOnSourceIncompatibleModifications>
                    <onlyBinaryIncompatible>false</onlyBinaryIncompatible>
                    <includeSynthetic>true</includeSynthetic>
                    <ignoreMissingClasses>false</ignoreMissingClasses>
                    <skipPomModules>true</skipPomModules>
                    <ignoreNonResolvableArtifacts>true</ignoreNonResolvableArtifacts>
                    <packagingSupporteds>
                      <packagingSupported>jar</packagingSupported>
                    </packagingSupporteds>
                  </parameter>
                  <projectBuildDir>${rootDir}/tools/japicmp-output/flink-table-api-scala_2.12</projectBuildDir>
                  <dependencies>
                    <dependency>
                      <groupId>org.apache.flink</groupId>
                      <artifactId>flink-annotations</artifactId>
                      <version>2.0.0.100-dep-1010</version>
                    </dependency>
                  </dependencies>
                </configuration>
              </execution>
            </executions>
            <configuration>
              <skip>true</skip>
              <oldVersion>
                <dependency>
                  <groupId>org.apache.flink</groupId>
                  <artifactId>flink-table-api-scala_2.12</artifactId>
                  <version>1.20.0</version>
                  <type>jar</type>
                </dependency>
              </oldVersion>
              <newVersion>
                <file>
                  <path>/data/jenkins/workspace/ch-2.0.0-mapr-mep-10.1.0-fy26-q2/flink-table/flink-table-api-scala/target/flink-table-api-scala_2.12-2.0.0.100-dep-1010.jar</path>
                </file>
              </newVersion>
              <parameter>
                <onlyModified>true</onlyModified>
                <includes>
                  <include>@org.apache.flink.annotation.Public</include>
                </includes>
                <excludes>
                  <exclude>@java.lang.Deprecated</exclude>
                  <exclude>*.scala</exclude>
                  <exclude>@org.apache.flink.annotation.Experimental</exclude>
                  <exclude>@org.apache.flink.annotation.PublicEvolving</exclude>
                  <exclude>@org.apache.flink.annotation.Internal</exclude>
                  <exclude>org.apache.flink.configuration.Configuration#getBytes(java.lang.String,byte[])</exclude>
                  <exclude>org.apache.flink.configuration.Configuration#setBytes(java.lang.String,byte[])</exclude>
                  <exclude>org.apache.flink.api.common.functions.AbstractRichFunction#open(org.apache.flink.configuration.Configuration)</exclude>
                  <exclude>org.apache.flink.api.common.functions.RichCoGroupFunction</exclude>
                  <exclude>org.apache.flink.api.common.functions.RichCrossFunction</exclude>
                  <exclude>org.apache.flink.api.common.functions.RichFilterFunction</exclude>
                  <exclude>org.apache.flink.api.common.functions.RichFlatJoinFunction</exclude>
                  <exclude>org.apache.flink.api.common.functions.RichFlatMapFunction</exclude>
                  <exclude>org.apache.flink.api.common.functions.RichGroupCombineFunction</exclude>
                  <exclude>org.apache.flink.api.common.functions.RichGroupReduceFunction</exclude>
                  <exclude>org.apache.flink.api.common.functions.RichJoinFunction</exclude>
                  <exclude>org.apache.flink.api.common.functions.RichMapFunction</exclude>
                  <exclude>org.apache.flink.api.common.functions.RichMapPartitionFunction</exclude>
                  <exclude>org.apache.flink.api.common.functions.RichReduceFunction</exclude>
                  <exclude>org.apache.flink.api.common.eventtime.WatermarksWithIdleness</exclude>
                  <exclude>org.apache.flink.api.java.tuple.*</exclude>
                  <exclude>org.apache.flink.types.NullFieldException</exclude>
                  <exclude>org.apache.flink.streaming.api.functions.windowing.AllWindowFunction</exclude>
                  <exclude>org.apache.flink.streaming.api.datastream.CoGroupedStreams</exclude>
                  <exclude>org.apache.flink.streaming.api.datastream.ConnectedStreams</exclude>
                  <exclude>org.apache.flink.streaming.api.datastream.DataStream</exclude>
                  <exclude>apache.flink.streaming.api.datastream.JoinedStreams</exclude>
                  <exclude>org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator</exclude>
                  <exclude>org.apache.flink.streaming.api.datastream.WindowedStream</exclude>
                  <exclude>org.apache.flink.streaming.api.environment.StreamExecutionEnvironment</exclude>
                  <exclude>org.apache.flink.streaming.api.datastream.AllWindowedStream</exclude>
                  <exclude>org.apache.flink.streaming.api.datastream.JoinedStreams</exclude>
                  <exclude>org.apache.flink.streaming.api.checkpoint.CheckpointedFunction</exclude>
                  <exclude>org.apache.flink.streaming.api.CheckpointingMode</exclude>
                  <exclude>org.apache.flink.streaming.api.datastream.DataStreamSink</exclude>
                  <exclude>org.apache.flink.streaming.api.datastream.DataStreamSource</exclude>
                  <exclude>org.apache.flink.streaming.api.datastream.KeyedStream</exclude>
                  <exclude>org.apache.flink.streaming.api.datastream.SideOutputDataStream</exclude>
                  <exclude>org.apache.flink.streaming.api.environment.CheckpointConfig</exclude>
                  <exclude>org.apache.flink.streaming.api.environment.LocalStreamEnvironment</exclude>
                  <exclude>org.apache.flink.streaming.api.environment.RemoteStreamEnvironment</exclude>
                  <exclude>org.apache.flink.streaming.api.functions.co.CoFlatMapFunction</exclude>
                  <exclude>org.apache.flink.streaming.api.functions.co.CoMapFunction</exclude>
                  <exclude>org.apache.flink.streaming.api.functions.sink.RichSinkFunction</exclude>
                  <exclude>org.apache.flink.streaming.api.functions.sink.SinkFunction</exclude>
                  <exclude>org.apache.flink.streaming.api.functions.source.SourceFunction</exclude>
                  <exclude>org.apache.flink.streaming.api.functions.windowing.WindowFunction</exclude>
                  <exclude>org.apache.flink.streaming.api.functions.source.RichSourceFunction</exclude>
                  <exclude>org.apache.flink.streaming.api.functions.source.RichParallelSourceFunction</exclude>
                  <exclude>org.apache.flink.streaming.api.functions.source.ParallelSourceFunction</exclude>
                  <exclude>org.apache.flink.types.DoubleValue</exclude>
                  <exclude>org.apache.flink.types.FloatValue</exclude>
                  <exclude>org.apache.flink.types.NormalizableKey</exclude>
                  <exclude>org.apache.flink.api.common.io.SerializedOutputFormat</exclude>
                  <exclude>org.apache.flink.api.common.io.OutputFormat</exclude>
                  <exclude>org.apache.flink.api.common.io.FinalizeOnMaster</exclude>
                  <exclude>org.apache.flink.api.common.io.FileOutputFormat</exclude>
                  <exclude>org.apache.flink.api.common.io.BinaryOutputFormat</exclude>
                  <exclude>org.apache.flink.core.fs.Path</exclude>
                  <exclude>org.apache.flink.api.java.hadoop.mapred.HadoopInputFormat</exclude>
                  <exclude>org.apache.flink.api.java.hadoop.mapred.HadoopOutputFormat</exclude>
                  <exclude>org.apache.flink.api.java.hadoop.mapreduce.HadoopInputFormat</exclude>
                  <exclude>org.apache.flink.api.java.hadoop.mapreduce.HadoopOutputFormat</exclude>
                  <exclude>org.apache.flink.api.java.typeutils.WritableTypeInfo</exclude>
                  <exclude>org.apache.flink.api.java.utils.AbstractParameterTool</exclude>
                  <exclude>org.apache.flink.api.java.utils.ParameterTool</exclude>
                  <exclude>org.apache.flink.table.api.typeutils.*</exclude>
                  <exclude>org.apache.flink.api.connector.sink2.Sink</exclude>
                  <exclude>org.apache.flink.walkthrough.common.source.TransactionSource</exclude>
                  <exclude>org.apache.flink.api.connector.source.Source</exclude>
                  <exclude>org.apache.flink.api.connector.source.SourceReaderContext</exclude>
                </excludes>
                <accessModifier>public</accessModifier>
                <breakBuildOnModifications>false</breakBuildOnModifications>
                <breakBuildOnBinaryIncompatibleModifications>true</breakBuildOnBinaryIncompatibleModifications>
                <breakBuildOnSourceIncompatibleModifications>true</breakBuildOnSourceIncompatibleModifications>
                <onlyBinaryIncompatible>false</onlyBinaryIncompatible>
                <includeSynthetic>true</includeSynthetic>
                <ignoreMissingClasses>false</ignoreMissingClasses>
                <skipPomModules>true</skipPomModules>
                <ignoreNonResolvableArtifacts>true</ignoreNonResolvableArtifacts>
                <packagingSupporteds>
                  <packagingSupported>jar</packagingSupported>
                </packagingSupporteds>
              </parameter>
              <projectBuildDir>${rootDir}/tools/japicmp-output/flink-table-api-scala_2.12</projectBuildDir>
              <dependencies>
                <dependency>
                  <groupId>org.apache.flink</groupId>
                  <artifactId>flink-annotations</artifactId>
                  <version>2.0.0.100-dep-1010</version>
                </dependency>
              </dependencies>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <properties>
        <os.detected.arch>x86_64</os.detected.arch>
        <os.detected.release.like.centos>true</os.detected.release.like.centos>
        <os.detected.classifier>linux-x86_64</os.detected.classifier>
        <os.detected.release.like.fedora>true</os.detected.release.like.fedora>
        <os.detected.release.like.rhel>true</os.detected.release.like.rhel>
        <os.detected.release>centos</os.detected.release>
        <os.detected.release.version>8</os.detected.release.version>
        <os.detected.bitness>64</os.detected.bitness>
        <os.detected.name>linux</os.detected.name>
      </properties>
    </profile>
  </profiles>
  <dependencies>
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-table-common</artifactId>
      <version>2.0.0.100-dep-1010</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-table-api-java</artifactId>
      <version>2.0.0.100-dep-1010</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-streaming-java</artifactId>
      <version>2.0.0.100-dep-1010</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-reflect</artifactId>
      <version>2.12.20</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-library</artifactId>
      <version>2.12.20</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.scala-lang</groupId>
      <artifactId>scala-compiler</artifactId>
      <version>2.12.20</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-test-utils-junit</artifactId>
      <version>2.0.0.100-dep-1010</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>testcontainers</artifactId>
          <groupId>org.testcontainers</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-table-common</artifactId>
      <version>2.0.0.100-dep-1010</version>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-table-api-java</artifactId>
      <version>2.0.0.100-dep-1010</version>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-core</artifactId>
      <version>2.0.0.100-dep-1010</version>
      <type>test-jar</type>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.flink</groupId>
      <artifactId>flink-migration-test-utils</artifactId>
      <version>2.0.0.100-dep-1010</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.36</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>com.google.code.findbugs</groupId>
      <artifactId>jsr305</artifactId>
      <version>1.3.9</version>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>5.11.4</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>junit-jupiter-api</artifactId>
          <groupId>org.junit.jupiter</groupId>
        </exclusion>
        <exclusion>
          <artifactId>junit-jupiter-params</artifactId>
          <groupId>org.junit.jupiter</groupId>
        </exclusion>
        <exclusion>
          <artifactId>junit-jupiter-engine</artifactId>
          <groupId>org.junit.jupiter</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.junit.vintage</groupId>
      <artifactId>junit-vintage-engine</artifactId>
      <version>5.11.4</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>junit-platform-engine</artifactId>
          <groupId>org.junit.platform</groupId>
        </exclusion>
        <exclusion>
          <artifactId>junit</artifactId>
          <groupId>junit</groupId>
        </exclusion>
        <exclusion>
          <artifactId>apiguardian-api</artifactId>
          <groupId>org.apiguardian</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.assertj</groupId>
      <artifactId>assertj-core</artifactId>
      <version>3.23.1</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>byte-buddy</artifactId>
          <groupId>net.bytebuddy</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-core</artifactId>
      <version>5.14.2</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>byte-buddy-agent</artifactId>
          <groupId>net.bytebuddy</groupId>
        </exclusion>
        <exclusion>
          <artifactId>byte-buddy</artifactId>
          <groupId>net.bytebuddy</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.mockito</groupId>
      <artifactId>mockito-junit-jupiter</artifactId>
      <version>5.14.2</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>junit-jupiter-api</artifactId>
          <groupId>org.junit.jupiter</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.hamcrest</groupId>
      <artifactId>hamcrest-all</artifactId>
      <version>1.3</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.testcontainers</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>1.20.2</version>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <artifactId>testcontainers</artifactId>
          <groupId>org.testcontainers</groupId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-slf4j-impl</artifactId>
      <version>2.25.3</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-api</artifactId>
      <version>2.25.3</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
      <version>2.25.3</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-1.2-api</artifactId>
      <version>2.25.3</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  <properties>
    <surefire.module.config>--add-opens=java.base/java.util=ALL-UNNAMED</surefire.module.config>
  </properties>
</project>
