flink-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-parent</artifactId>
<version>2.1.1</version>
</dependency><?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>apache</artifactId>
<groupId>org.apache</groupId>
<version>20</version>
<relativePath>../pom.xml/pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.flink</groupId>
<artifactId>flink-parent</artifactId>
<packaging>pom</packaging>
<name>Flink :</name>
<version>2.1.1</version>
<url>https://flink.apache.org</url>
<inceptionYear>2014</inceptionYear>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<connection>git@github.com:apache/flink.git</connection>
<developerConnection>scm:git:https://gitbox.apache.org/repos/asf/flink.git</developerConnection>
<url>https://github.com/apache/flink</url>
</scm>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>${source.java.version}</source>
<target>${target.java.version}</target>
<useIncrementalCompilation>false</useIncrementalCompilation>
<compilerArgs>
<arg>-Xpkginfo:always</arg>
<arg>--add-exports=java.management/sun.management=ALL-UNNAMED</arg>
<arg>--add-exports=java.rmi/sun.rmi.registry=ALL-UNNAMED</arg>
<arg>--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<filesets>
<fileset>
<directory>${project.basedir}</directory>
<includes>
<include>dependency-reduced-pom.xml</include>
</includes>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.3.1</version>
<executions>
<execution>
<id>validate</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>${checkstyle.version}</version>
</dependency>
</dependencies>
<configuration>
<suppressionsLocation>/tools/maven/suppressions.xml</suppressionsLocation>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<configLocation>/tools/maven/checkstyle.xml</configLocation>
<logViolationsToConsole>true</logViolationsToConsole>
<failOnViolation>true</failOnViolation>
</configuration>
</plugin>
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>${spotless.version}</version>
<executions>
<execution>
<id>spotless-check</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<java>
<googleJavaFormat>
<version>1.24.0</version>
<style>AOSP</style>
</googleJavaFormat>
<importOrder>
<order>org.apache.flink,org.apache.flink.shaded,,javax,java,scala,\#</order>
</importOrder>
<removeUnusedImports />
</java>
</configuration>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<quiet>true</quiet>
<detectOfflineLinks>false</detectOfflineLinks>
<release>11</release>
<additionalJOptions>
<additionalJOption>-Xdoclint:none</additionalJOption>
<additionalJOption>--allow-script-in-comments</additionalJOption>
<additionalJOption>--ignore-source-errors</additionalJOption>
</additionalJOptions>
</configuration>
</plugin>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<configuration>
<ignoredUsedUndeclaredDependencies>
<dependency>org.apache.flink:*</dependency>
<dependency>org.hamcrest:hamcrest-core</dependency>
</ignoredUsedUndeclaredDependencies>
<ignoredUnusedDeclaredDependencies>
<dependency>org.apache.flink:force-shading</dependency>
<dependency>com.google.code.findbugs:jsr305</dependency>
<dependency>org.scala-lang:scala-compiler</dependency>
<dependency>org.slf4j:slf4j-api</dependency>
<dependency>log4j:log4j</dependency>
<dependency>org.slf4j:slf4j-log4j12</dependency>
<dependency>org.apache.logging.log4j:log4j-slf4j-impl</dependency>
<dependency>org.apache.logging.log4j:log4j-api</dependency>
<dependency>org.apache.logging.log4j:log4j-core</dependency>
<dependency>org.apache.logging.log4j:log4j-1.2-api</dependency>
<dependency>org.apache.flink:flink-test-utils-junit</dependency>
<dependency>junit:junit</dependency>
<dependency>org.mockito:mockito-core</dependency>
<dependency>org.hamcrest:hamcrest-all</dependency>
</ignoredUnusedDeclaredDependencies>
</configuration>
</plugin>
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<version>3.5.3</version>
</plugin>
<plugin>
<artifactId>maven-remote-resources-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>3.6.0</version>
</plugin>
<plugin>
<artifactId>maven-site-plugin</artifactId>
<executions>
<execution>
<id>attach-descriptor</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.2.2</version>
<configuration>
<args>
<arg>-nobootcp</arg>
</args>
<jvmArgs>
<arg>-Xss2m</arg>
</jvmArgs>
</configuration>
</plugin>
<plugin>
<groupId>com.github.siom79.japicmp</groupId>
<artifactId>japicmp-maven-plugin</artifactId>
<version>0.18.5</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>cmp</goal>
</goals>
</execution>
</executions>
<configuration>
<oldVersion>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>${project.artifactId}</artifactId>
<version>${japicmp.referenceVersion}</version>
<type>${project.packaging}</type>
</dependency>
</oldVersion>
<newVersion>
<file>
<path>${project.build.directory}/${project.artifactId}-${project.version}.${project.packaging}</path>
</file>
</newVersion>
<parameter>
<onlyModified>true</onlyModified>
<includes>
<include>@org.apache.flink.annotation.Public</include>
<include>@org.apache.flink.annotation.PublicEvolving</include>
</includes>
<excludes>
<exclude>@java.lang.Deprecated</exclude>
<exclude>*.scala</exclude>
<exclude>@org.apache.flink.annotation.Experimental</exclude>
<exclude>@org.apache.flink.annotation.Internal</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}/${japicmp.outputDir}/${project.artifactId}</projectBuildDir>
<dependencies>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-annotations</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</configuration>
</plugin>
<plugin>
<groupId>org.owasp</groupId>
<artifactId>dependency-check-maven</artifactId>
<version>5.0.0-M2</version>
<configuration>
<format>ALL</format>
<skipSystemScope>true</skipSystemScope>
<skipProvidedScope>true</skipProvidedScope>
<excludes>
<exclude>*flink-docs</exclude>
<exclude>*flink-end-to-end-tests</exclude>
<exclude>*flink-fs-tests*</exclude>
<exclude>*flink-yarn-tests*</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>3.0.1</version>
<extensions>true</extensions>
<inherited>true</inherited>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<addMavenDescriptor>false</addMavenDescriptor>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>com.github.siom79.japicmp</groupId>
<artifactId>japicmp-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>0.13</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<inherited>false</inherited>
<configuration>
<consoleOutput>true</consoleOutput>
<excludeSubProjects>false</excludeSubProjects>
<numUnapprovedLicenses>0</numUnapprovedLicenses>
<licenses>
<license>
<licenseFamilyCategory>AL2</licenseFamilyCategory>
<licenseFamilyName>Apache License 2.0</licenseFamilyName>
<patterns>
<pattern>Licensed to the Apache Software Foundation (ASF) under one</pattern>
</patterns>
</license>
</licenses>
<licenseFamilies>
<licenseFamily>
<familyName>Apache License 2.0</familyName>
</licenseFamily>
</licenseFamilies>
<excludes>
<exclude>**/.*/**</exclude>
<exclude>**/*.prefs</exclude>
<exclude>**/*.log</exclude>
<exclude>docs/**/jquery*</exclude>
<exclude>docs/**/bootstrap*</exclude>
<exclude>docs/themes/book/**</exclude>
<exclude>docs/**/anchor*</exclude>
<exclude>**/resources/**/font-awesome/**</exclude>
<exclude>**/resources/**/jquery*</exclude>
<exclude>**/resources/**/bootstrap*</exclude>
<exclude>docs/resources/**</exclude>
<exclude>docs/public/**</exclude>
<exclude>docs/assets/github.css</exclude>
<exclude>docs/static/flink-header-logo.svg</exclude>
<exclude>docs/static/figs/*.svg</exclude>
<exclude>docs/static/font-awesome/**</exclude>
<exclude>docs/static/flink-header-logo.svg</exclude>
<exclude>docs/static/figs/*.svg</exclude>
<exclude>flink-clients/src/main/resources/web-docs/js/*d3.js</exclude>
<exclude>**/packaged_licenses/LICENSE.*.txt</exclude>
<exclude>**/licenses/LICENSE*</exclude>
<exclude>**/licenses-binary/LICENSE*</exclude>
<exclude>flink-runtime-web/web-dashboard/package.json</exclude>
<exclude>flink-runtime-web/web-dashboard/package-lock.json</exclude>
<exclude>flink-runtime-web/web-dashboard/angular.json</exclude>
<exclude>flink-runtime-web/web-dashboard/proxy.conf.json</exclude>
<exclude>flink-runtime-web/web-dashboard/tsconfig.json</exclude>
<exclude>flink-runtime-web/web-dashboard/src/browserslist</exclude>
<exclude>flink-runtime-web/web-dashboard/src/tsconfig.app.json</exclude>
<exclude>flink-runtime-web/web-dashboard/src/assets/**</exclude>
<exclude>flink-runtime-web/web-dashboard/web/**</exclude>
<exclude>flink-runtime-web/web-dashboard/node_modules/**</exclude>
<exclude>flink-runtime-web/web-dashboard/node/**</exclude>
<exclude>flink-table/flink-table-code-splitter/src/main/antlr4/**</exclude>
<exclude>**/src/test/resources/*-data</exclude>
<exclude>flink-tests/src/test/resources/testdata/terainput.txt</exclude>
<exclude>flink-formats/flink-avro/src/test/resources/flink_11-kryo_registrations</exclude>
<exclude>flink-core/src/test/resources/kryo-serializer-config-snapshot-v1</exclude>
<exclude>flink-core/src/test/resources/abstractID-with-toString-field</exclude>
<exclude>flink-core/src/test/resources/abstractID-with-toString-field-set</exclude>
<exclude>flink-formats/flink-avro/src/test/resources/avro/*.avsc</exclude>
<exclude>out/test/flink-avro/avro/user.avsc</exclude>
<exclude>flink-table/flink-sql-client/src/test/resources/**/*.out</exclude>
<exclude>flink-table/flink-table-api-scala/src/test/resources/flink_11-kryo_registrations</exclude>
<exclude>flink-table/flink-table-planner/src/test/resources/**/*.out</exclude>
<exclude>flink-table/flink-table-planner/src/test/resources/json/*.json</exclude>
<exclude>flink-table/flink-table-planner/src/test/resources/jsonplan/*.json</exclude>
<exclude>flink-table/flink-table-planner/src/test/resources/lineage-graph/*.json</exclude>
<exclude>flink-table/flink-table-planner/src/test/resources/restore-tests/**</exclude>
<exclude>flink-yarn/src/test/resources/krb5.keytab</exclude>
<exclude>flink-end-to-end-tests/test-scripts/test-data/**</exclude>
<exclude>flink-end-to-end-tests/test-scripts/docker-hadoop-secure-cluster/hadoop/config/keystore.jks</exclude>
<exclude>flink-connectors/flink-connector-hive/src/test/resources/**</exclude>
<exclude>flink-connectors/flink-file-sink-common/src/test/resources/recoverable-serializer-migration/**</exclude>
<exclude>flink-end-to-end-tests/flink-tpcds-test/tpcds-tool/answer_set/*</exclude>
<exclude>flink-end-to-end-tests/flink-tpcds-test/tpcds-tool/query/*</exclude>
<exclude>flink-table/flink-table-code-splitter/src/test/resources/**</exclude>
<exclude>flink-tests/src/test/resources/avro/*.avsc</exclude>
<exclude>flink-connectors/flink-connector-datagen-test/src/test/resources/avro/*.avsc</exclude>
<exclude>flink-runtime-web/web-dashboard/dev/notice-template</exclude>
<exclude>flink-examples/flink-examples-streaming/src/main/resources/datas/**</exclude>
<exclude>flink-examples/flink-examples-streaming/src/test/resources/datas/**</exclude>
<exclude>flink-python/pyflink/table/tests/jsonplan/*</exclude>
<exclude>**/archunit-violations/**</exclude>
<exclude>**/src/test/resources/serializer-snapshot-*</exclude>
<exclude>**/src/test/resources/**/serializer-snapshot</exclude>
<exclude>**/src/test/resources/**/test-data</exclude>
<exclude>**/src/test/resources/*-snapshot</exclude>
<exclude>**/src/test/resources/*.snapshot</exclude>
<exclude>**/src/test/resources/*-savepoint/**</exclude>
<exclude>**/src/test/resources/*-savepoint-native/**</exclude>
<exclude>**/src/test/resources/*-checkpoint/**</exclude>
<exclude>flink-core/src/test/resources/serialized-kryo-serializer-1.3</exclude>
<exclude>flink-core/src/test/resources/type-without-avro-serialized-using-kryo</exclude>
<exclude>flink-formats/flink-avro/src/test/resources/flink-1.4-serializer-java-serialized</exclude>
<exclude>flink-end-to-end-tests/flink-state-evolution-test/src/main/java/org/apache/flink/avro/generated/*</exclude>
<exclude>flink-end-to-end-tests/flink-state-evolution-test/savepoints/*</exclude>
<exclude>flink-formats/flink-avro/src/test/resources/testdata.avro</exclude>
<exclude>flink-formats/flink-avro/src/test/java/org/apache/flink/formats/avro/generated/*.java</exclude>
<exclude>flink-formats/flink-avro-confluent-registry/src/test/resources/*.json</exclude>
<exclude>flink-formats/flink-avro-confluent-registry/src/test/resources/*.avro</exclude>
<exclude>flink-formats/flink-json/src/test/resources/*.txt</exclude>
<exclude>flink-formats/flink-parquet/src/test/java/org/apache/flink/formats/parquet/generated/*.java</exclude>
<exclude>flink-formats/flink-parquet/src/test/resources/avro/**</exclude>
<exclude>flink-formats/flink-parquet/src/test/resources/protobuf/**</exclude>
<exclude>flink-table/flink-sql-gateway/src/test/resources/*.txt</exclude>
<exclude>flink-runtime/src/test/java/org/apache/flink/runtime/io/network/buffer/AbstractByteBufTest.java</exclude>
<exclude>**/flink-bin/conf/workers</exclude>
<exclude>**/flink-bin/conf/masters</exclude>
<exclude>**/README.md</exclude>
<exclude>.github/**</exclude>
<exclude>**/*.iml</exclude>
<exclude>flink-quickstart/**/testArtifact/goal.txt</exclude>
<exclude>out/**</exclude>
<exclude>**/target/**</exclude>
<exclude>build-target/**</exclude>
<exclude>docs/layouts/shortcodes/generated/**</exclude>
<exclude>docs/themes/connectors/layouts/shortcodes/generated/**</exclude>
<exclude>docs/static/generated/**</exclude>
<exclude>tools/artifacts/**</exclude>
<exclude>tools/flink*/**</exclude>
<exclude>tools/japicmp-output/**</exclude>
<exclude>tools/releasing/release/**</exclude>
<exclude>**/.idea/**</exclude>
<exclude>flink-end-to-end-tests/flink-confluent-schema-registry/src/main/java/example/avro/**</exclude>
<exclude>flink-end-to-end-tests/flink-datastream-allround-test/src/main/java/org/apache/flink/streaming/tests/avro/**</exclude>
<exclude>flink-python/lib/**</exclude>
<exclude>flink-python/dev/download/**</exclude>
<exclude>flink-python/docs/_build/**</exclude>
<exclude>flink-python/docs/_static/switcher.json</exclude>
<exclude>**/awssdk/global/handlers/execution.interceptors</exclude>
<exclude>flink-test-utils-parent/flink-migration-test-utils/src/main/resources/most_recently_published_version</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.2.2</version>
<executions>
<execution>
<id>default-test</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<includes>
<include>${test.unit.pattern}</include>
</includes>
<forkCount>${flink.forkCountUnitTest}</forkCount>
<argLine>${flink.surefire.baseArgLine} -Xmx${flink.XmxUnitTest}</argLine>
</configuration>
</execution>
<execution>
<id>integration-tests</id>
<phase>integration-test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<includes>
<include>**/*.*</include>
</includes>
<excludes>
<exclude>${test.unit.pattern}</exclude>
<exclude>**/*$*</exclude>
</excludes>
<forkCount>${flink.forkCountITCase}</forkCount>
<argLine>${flink.surefire.baseArgLine} -Xmx${flink.XmxITCase}</argLine>
<reuseForks>false</reuseForks>
</configuration>
</execution>
</executions>
<configuration>
<forkNode />
<reuseForks>${flink.reuseForks}</reuseForks>
<trimStackTrace>false</trimStackTrace>
<systemPropertyVariables>
<forkNumber>0${surefire.forkNumber}</forkNumber>
<mvn.forkNumber>$${surefire.forkNumber}</mvn.forkNumber>
<hadoop.version>${flink.hadoop.version}</hadoop.version>
<checkpointing.randomization>true</checkpointing.randomization>
<buffer-debloat.randomization>true</buffer-debloat.randomization>
<user.country>US</user.country>
<user.language>en</user.language>
<checkpointing.changelog>random</checkpointing.changelog>
<surefire.module.config>${surefire.module.config}</surefire.module.config>
<project.basedir>${project.basedir}</project.basedir>
<test.randomization.seed>${test.randomization.seed}</test.randomization.seed>
<junit.jupiter.extensions.autodetection.enabled>true</junit.jupiter.extensions.autodetection.enabled>
<junit.jupiter.execution.parallel.enabled>true</junit.jupiter.execution.parallel.enabled>
<junit.jupiter.execution.parallel.mode.default>same_thread</junit.jupiter.execution.parallel.mode.default>
<junit.jupiter.execution.parallel.mode.classes.default>same_thread</junit.jupiter.execution.parallel.mode.classes.default>
<junit.jupiter.execution.parallel.config.strategy>dynamic</junit.jupiter.execution.parallel.config.strategy>
</systemPropertyVariables>
<argLine>${flink.surefire.baseArgLine}</argLine>
</configuration>
</plugin>
<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.8</version>
<configuration>
<classpathContainers>
<classpathContainer>org.eclipse.jdt.launching.JRE_CONTAINER</classpathContainer>
</classpathContainers>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>[3.8.6]</version>
</requireMavenVersion>
<requireJavaVersion>
<version>${target.java.version}</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
<execution>
<id>ban-unsafe-snakeyaml</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<bannedDependencies>
<excludes>
<exclude>org.yaml:snakeyaml:(,2.2]</exclude>
</excludes>
<includes>
<include>org.yaml:snakeyaml:(,2.2]:*:test</include>
</includes>
<message>Older snakeyaml versions are not allowed due to security vulnerabilities.</message>
</bannedDependencies>
</rules>
</configuration>
</execution>
<execution>
<id>ban-unsafe-jackson</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<bannedDependencies>
<excludes>
<exclude>com.fasterxml.jackson*:*:(,2.14.0]</exclude>
</excludes>
<message>Older jackson versions are not allowed due to security vulnerabilities.</message>
</bannedDependencies>
</rules>
</configuration>
</execution>
<execution>
<id>forbid-log4j-1</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<bannedDependencies>
<excludes>
<exclude>log4j:log4j</exclude>
<exclude>org.slf4j:slf4j-log4j12</exclude>
<exclude>ch.qos.reload4j:reload4j</exclude>
<exclude>org.slf4j:slf4j-reload4j</exclude>
</excludes>
<message>Log4j 1 and Reload4J dependencies are not allowed because they conflict with Log4j 2. If the dependency absolutely requires the Log4j 1 API, use 'org.apache.logging.log4j:log4j-1.2-api'.</message>
</bannedDependencies>
</rules>
</configuration>
</execution>
<execution>
<id>forbid-direct-akka-rpc-dependencies</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<bannedDependencies>
<excludes>
<exclude>org.apache.flink:flink-rpc-akka</exclude>
</excludes>
<message>Direct dependencies on flink-rpc-akka are not allowed. Depend on flink-rpc-akka-loader instead, and use RpcSystem#load or the TestingRpcService.</message>
</bannedDependencies>
</rules>
</configuration>
</execution>
<execution>
<id>forbid-direct-table-planner-dependencies</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<bannedDependencies>
<excludes>
<exclude>org.apache.flink:flink-table-planner_${scala.binary.version}</exclude>
</excludes>
<includes>
<include>org.apache.flink:flink-table-planner_${scala.binary.version}:*:*:test</include>
</includes>
<message>Direct dependencies on flink-table-planner are not allowed.
You should depend on either Table API modules or flink-table-planner-loader.</message>
</bannedDependencies>
</rules>
</configuration>
</execution>
<execution>
<id>dependency-convergence</id>
<phase>none</phase>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<dependencyConvergence />
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<id>shade-flink</id>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadeTestJar>false</shadeTestJar>
<shadedArtifactAttached>false</shadedArtifactAttached>
<createDependencyReducedPom>true</createDependencyReducedPom>
<filters>
<filter>
<artifact>org.apache.flink:flink-shaded-force-shading</artifact>
<excludes>
<exclude>**</exclude>
</excludes>
</filter>
<filter>
<artifact>io.netty:netty</artifact>
<excludes>
<exclude>META-INF/LICENSE.txt</exclude>
</excludes>
</filter>
</filters>
<artifactSet>
<includes>
<include>org.apache.flink:flink-shaded-force-shading</include>
</includes>
</artifactSet>
</configuration>
</execution>
</executions>
<configuration>
<filters>
<filter>
<artifact>*</artifact>
<excludes>
<exclude>log4j.properties</exclude>
<exclude>log4j2.properties</exclude>
<exclude>log4j-test.properties</exclude>
<exclude>log4j2-test.properties</exclude>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
<exclude>**/META-INF/maven/?*/?*/**</exclude>
</excludes>
</filter>
</filters>
<transformers>
<transformer />
<transformer>
<projectName>Apache Flink</projectName>
<encoding>UTF-8</encoding>
</transformer>
</transformers>
</configuration>
</plugin>
<plugin>
<groupId>org.commonjava.maven.plugins</groupId>
<artifactId>directory-maven-plugin</artifactId>
<version>0.1</version>
<executions>
<execution>
<id>directories</id>
<phase>initialize</phase>
<goals>
<goal>directory-of</goal>
</goals>
<configuration>
<property>rootDir</property>
<project>
<groupId>org.apache.flink</groupId>
<artifactId>flink-parent</artifactId>
</project>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.cyclonedx</groupId>
<artifactId>cyclonedx-maven-plugin</artifactId>
<version>2.7.7</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>makeBom</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>intellij</id>
<properties>
<flink.markBundledAsOptional>false</flink.markBundledAsOptional>
</properties>
</profile>
<profile>
<id>scala-2.12</id>
<build>
<plugins>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-versions</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<bannedDependencies>
<excludes>
<exclude>*:*_2.11</exclude>
<exclude>*:*_2.10</exclude>
</excludes>
<message>Scala 2.10/2.11 dependencies are not allowed for Scala 2.12 builds. This can be caused by hard-coded scala versions, where the 'scala.binary.version' property should be used instead.</message>
</bannedDependencies>
</rules>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<properties>
<scala.binary.version>2.12</scala.binary.version>
<scala.version>2.12.20</scala.version>
</properties>
</profile>
<profile>
<id>enable-adaptive-scheduler</id>
<build>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemProperties>
<flink.tests.enable-adaptive-scheduler>true</flink.tests.enable-adaptive-scheduler>
</systemProperties>
<excludedGroups>${surefire.excludedGroups.github-actions},
${surefire.excludedGroups.adaptive-scheduler},
${surefire.excludedGroups.jdk}</excludedGroups>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<surefire.excludedGroups.adaptive-scheduler>org.apache.flink.testutils.junit.FailsWithAdaptiveScheduler</surefire.excludedGroups.adaptive-scheduler>
</properties>
</profile>
<profile>
<id>github-actions</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludedGroups>${surefire.excludedGroups.github-actions},
${surefire.excludedGroups.adaptive-scheduler},
${surefire.excludedGroups.jdk},</excludedGroups>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<properties>
<surefire.excludedGroups.github-actions>org.apache.flink.testutils.junit.FailsInGHAContainerWithRootUser</surefire.excludedGroups.github-actions>
</properties>
</profile>
<profile>
<id>java11</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<configuration>
<excludedGroups>,
,
org.apache.flink.testutils.junit.FailsOnJava11,</excludedGroups>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<properties>
<os.detected.arch>aarch_64</os.detected.arch>
<os.detected.bitness>64</os.detected.bitness>
<os.detected.name>osx</os.detected.name>
<os.detected.classifier>osx-aarch_64</os.detected.classifier>
<surefire.excludedGroups.jdk>org.apache.flink.testutils.junit.FailsOnJava11</surefire.excludedGroups.jdk>
</properties>
</profile>
<profile>
<id>java11-target</id>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>11</source>
<target>11</target>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<target.java.version>11</target.java.version>
</properties>
</profile>
<profile>
<id>java17</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludedGroups>${surefire.excludedGroups.github-actions},
${surefire.excludedGroups.adaptive-scheduler},
${surefire.excludedGroups.jdk},</excludedGroups>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<properties>
<surefire.excludedGroups.jdk>org.apache.flink.testutils.junit.FailsOnJava17</surefire.excludedGroups.jdk>
</properties>
</profile>
<profile>
<id>java17-target</id>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>17</source>
<target>17</target>
<compilerArgs>
<arg>--add-exports=java.management/sun.management=ALL-UNNAMED</arg>
<arg>--add-exports=java.rmi/sun.rmi.registry=ALL-UNNAMED</arg>
<arg>--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</build>
<modules>
<module>flink-tests-java17</module>
</modules>
</profile>
<profile>
<id>java21</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludedGroups>${surefire.excludedGroups.github-actions},
${surefire.excludedGroups.adaptive-scheduler},
${surefire.excludedGroups.jdk},</excludedGroups>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>java21-target</id>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>21</source>
<target>21</target>
<compilerArgs>
<arg>--add-exports=java.management/sun.management=ALL-UNNAMED</arg>
<arg>--add-exports=java.rmi/sun.rmi.registry=ALL-UNNAMED</arg>
<arg>--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED</arg>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>fast</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>com.github.siom79.japicmp</groupId>
<artifactId>japicmp-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.cyclonedx</groupId>
<artifactId>cyclonedx-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>check-convergence</id>
<build>
<plugins>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>dependency-convergence</id>
<phase>${flink.convergence.phase}</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>spotbugs</id>
<build>
<plugins>
<plugin>
<groupId>com.github.hazendaz.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>3.0.6</version>
<executions>
<execution>
<id>findbugs-run</id>
<phase>compile</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<configuration>
<xmlOutput>true</xmlOutput>
<threshold>Low</threshold>
<effort>default</effort>
<findbugsXmlOutputDirectory>${project.build.directory}/spotbugs</findbugsXmlOutputDirectory>
<excludeFilterFile>${rootDir}/tools/maven/spotbugs-exclude.xml</excludeFilterFile>
<failOnError>true</failOnError>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<version>1.0.1</version>
<executions>
<execution>
<phase>verify</phase>
<goals>
<goal>transform</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.github.hazendaz.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>3.0.6</version>
</dependency>
</dependencies>
<configuration>
<transformationSets>
<transformationSet>
<dir>${project.build.directory}/spotbugs</dir>
<outputDir>${project.build.directory}/spotbugs</outputDir>
<stylesheet>plain.xsl</stylesheet>
<fileMappers>
<fileMapper>
<targetExtension>.html</targetExtension>
</fileMapper>
</fileMappers>
</transformationSet>
</transformationSets>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>docs-and-source</id>
<build>
<plugins>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.8.0</version>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<quiet>true</quiet>
<detectOfflineLinks>false</detectOfflineLinks>
<release>11</release>
<additionalJOptions>
<additionalJOption>-Xdoclint:none</additionalJOption>
<additionalJOption>--allow-script-in-comments</additionalJOption>
<additionalJOption>--ignore-source-errors</additionalJOption>
</additionalJOptions>
</configuration>
</execution>
</executions>
<configuration>
<quiet>true</quiet>
<detectOfflineLinks>false</detectOfflineLinks>
<release>11</release>
<additionalJOptions>
<additionalJOption>-Xdoclint:none</additionalJOption>
<additionalJOption>--allow-script-in-comments</additionalJOption>
<additionalJOption>--ignore-source-errors</additionalJOption>
</additionalJOptions>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<os.detected.arch>aarch_64</os.detected.arch>
<os.detected.bitness>64</os.detected.bitness>
<os.detected.name>osx</os.detected.name>
<os.detected.classifier>osx-aarch_64</os.detected.classifier>
</properties>
</profile>
<profile>
<id>release</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.1</version>
<configuration>
<mavenExecutorId>forked-path</mavenExecutorId>
<useReleaseProfile>false</useReleaseProfile>
<arguments>-Psonatype-oss-release</arguments>
<goals>deploy</goals>
<waitBeforeTagging>10</waitBeforeTagging>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
<configuration>
<gpgArguments>
<arg>--digest-algo=SHA512</arg>
</gpgArguments>
</configuration>
</execution>
</executions>
<configuration>
<gpgArguments>
<arg>--digest-algo=SHA512</arg>
</gpgArguments>
</configuration>
</plugin>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-maven</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireJavaVersion>
<version>[${target.java.version}.*,)</version>
</requireJavaVersion>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<properties>
<os.detected.arch>aarch_64</os.detected.arch>
<os.detected.bitness>64</os.detected.bitness>
<os.detected.name>osx</os.detected.name>
<os.detected.classifier>osx-aarch_64</os.detected.classifier>
<target.java.version>11</target.java.version>
</properties>
</profile>
</profiles>
<modules>
<module>flink-annotations</module>
<module>flink-architecture-tests</module>
<module>flink-core-api</module>
<module>flink-core</module>
<module>flink-filesystems</module>
<module>flink-rpc</module>
<module>flink-runtime</module>
<module>flink-runtime-web</module>
<module>flink-streaming-java</module>
<module>flink-connectors</module>
<module>flink-formats</module>
<module>flink-examples</module>
<module>flink-clients</module>
<module>flink-container</module>
<module>flink-queryable-state</module>
<module>flink-tests</module>
<module>flink-end-to-end-tests</module>
<module>flink-test-utils-parent</module>
<module>flink-state-backends</module>
<module>flink-dstl</module>
<module>flink-libraries</module>
<module>flink-table</module>
<module>flink-quickstart</module>
<module>flink-dist</module>
<module>flink-dist-scala</module>
<module>flink-metrics</module>
<module>flink-yarn</module>
<module>flink-yarn-tests</module>
<module>flink-fs-tests</module>
<module>flink-docs</module>
<module>flink-python</module>
<module>flink-walkthroughs</module>
<module>flink-kubernetes</module>
<module>flink-external-resources</module>
<module>tools/ci/flink-ci-tools</module>
<module>flink-datastream</module>
<module>flink-datastream-api</module>
<module>flink-models</module>
</modules>
<repositories>
<repository>
<id>redhat</id>
<url>https://maven.repository.redhat.com/ga/</url>
</repository>
<repository>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>repository.jboss.org</id>
<url>https://repository.jboss.org/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<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.27.3</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>objenesis</artifactId>
<groupId>org.objenesis</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.24.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.24.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.24.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-1.2-api</artifactId>
<version>2.24.3</version>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>${jackson.mapper.asl.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-shaded-force-shading</artifactId>
<version>${flink.shaded.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-shaded-asm-9</artifactId>
<version>9.6-${flink.shaded.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-shaded-guava</artifactId>
<version>33.4.0-jre-${flink.shaded.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-shaded-jackson</artifactId>
<version>${flink.shaded.jackson.version}-${flink.shaded.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-shaded-jackson-module-jsonSchema</artifactId>
<version>${flink.shaded.jackson.version}-${flink.shaded.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-shaded-netty</artifactId>
<version>4.1.100.Final-${flink.shaded.version}</version>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-shaded-netty-tcnative-dynamic</artifactId>
<version>2.0.62.Final-${flink.shaded.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>${flink.hadoop.version}</version>
<exclusions>
<exclusion>
<artifactId>jdk.tools</artifactId>
<groupId>jdk.tools</groupId>
</exclusion>
<exclusion>
<artifactId>log4j</artifactId>
<groupId>log4j</groupId>
</exclusion>
<exclusion>
<artifactId>slf4j-log4j12</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>${flink.hadoop.version}</version>
<exclusions>
<exclusion>
<artifactId>jdk.tools</artifactId>
<groupId>jdk.tools</groupId>
</exclusion>
<exclusion>
<artifactId>log4j</artifactId>
<groupId>log4j</groupId>
</exclusion>
<exclusion>
<artifactId>slf4j-log4j12</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
<exclusion>
<artifactId>reload4j</artifactId>
<groupId>ch.qos.reload4j</groupId>
</exclusion>
<exclusion>
<artifactId>slf4j-reload4j</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-core</artifactId>
<version>${flink.hadoop.version}</version>
<exclusions>
<exclusion>
<artifactId>jdk.tools</artifactId>
<groupId>jdk.tools</groupId>
</exclusion>
<exclusion>
<artifactId>log4j</artifactId>
<groupId>log4j</groupId>
</exclusion>
<exclusion>
<artifactId>slf4j-log4j12</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
<exclusion>
<artifactId>reload4j</artifactId>
<groupId>ch.qos.reload4j</groupId>
</exclusion>
<exclusion>
<artifactId>slf4j-reload4j</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-yarn-common</artifactId>
<version>${flink.hadoop.version}</version>
<exclusions>
<exclusion>
<artifactId>jdk.tools</artifactId>
<groupId>jdk.tools</groupId>
</exclusion>
<exclusion>
<artifactId>log4j</artifactId>
<groupId>log4j</groupId>
</exclusion>
<exclusion>
<artifactId>slf4j-log4j12</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-yarn-client</artifactId>
<version>${flink.hadoop.version}</version>
<exclusions>
<exclusion>
<artifactId>jdk.tools</artifactId>
<groupId>jdk.tools</groupId>
</exclusion>
<exclusion>
<artifactId>log4j</artifactId>
<groupId>log4j</groupId>
</exclusion>
<exclusion>
<artifactId>slf4j-log4j12</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-shaded-zookeeper-3</artifactId>
<version>${zookeeper.version}-${flink.shaded.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>1.3.9</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-layout-template-json</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-1.2-api</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.10.0</version>
</dependency>
<dependency>
<groupId>org.xerial.snappy</groupId>
<artifactId>snappy-java</artifactId>
<version>${snappy.java.version}</version>
<exclusions>
<exclusion>
<artifactId>org.osgi.core</artifactId>
<groupId>org.osgi</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.lz4</groupId>
<artifactId>lz4-java</artifactId>
<version>${lz4.version}</version>
</dependency>
<dependency>
<groupId>com.github.oshi</groupId>
<artifactId>oshi-core</artifactId>
<version>6.1.5</version>
</dependency>
<dependency>
<groupId>org.apache.avro</groupId>
<artifactId>avro</artifactId>
<version>${avro.version}</version>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>${hamcrest.version}</version>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>1.15.11</version>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy-agent</artifactId>
<version>1.15.11</version>
</dependency>
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>5.12.1</version>
</dependency>
<dependency>
<groupId>org.objenesis</groupId>
<artifactId>objenesis</artifactId>
<version>3.4</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson</groupId>
<artifactId>jackson-bom</artifactId>
<version>${jackson-bom.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>${okhttp.version}</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>logging-interceptor</artifactId>
<version>${okhttp.version}</version>
</dependency>
<dependency>
<groupId>jakarta.activation</groupId>
<artifactId>jakarta.activation-api</artifactId>
<version>1.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
<version>2.3.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>${junit5.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit4.version}</version>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
<version>${assertj.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.5.0</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons.io.version}</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.2</version>
</dependency>
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.15</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>3.6.1</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.26.0</version>
<exclusions>
<exclusion>
<artifactId>org.osgi.core</artifactId>
<groupId>org.osgi</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.24.0-GA</version>
</dependency>
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.joda</groupId>
<artifactId>joda-convert</artifactId>
<version>1.7</version>
</dependency>
<dependency>
<groupId>com.esotericsoftware</groupId>
<artifactId>kryo</artifactId>
<version>5.6.2</version>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-reflect</artifactId>
<version>${scala.version}</version>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-compiler</artifactId>
<version>${scala.version}</version>
</dependency>
<dependency>
<groupId>org.scalatest</groupId>
<artifactId>scalatest_${scala.binary.version}</artifactId>
<version>3.0.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>${zookeeper.version}</version>
<exclusions>
<exclusion>
<artifactId>log4j</artifactId>
<groupId>log4j</groupId>
</exclusion>
<exclusion>
<artifactId>slf4j-log4j12</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
<exclusion>
<artifactId>*</artifactId>
<groupId>io.netty</groupId>
</exclusion>
<exclusion>
<artifactId>jline</artifactId>
<groupId>jline</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${jaxb.api.version}</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>javax.activation-api</artifactId>
<version>${javax.activation.api.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.14</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency>
<dependency>
<groupId>org.reflections</groupId>
<artifactId>reflections</artifactId>
<version>0.9.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-test-utils-junit</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-architecture-tests-base</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-architecture-tests-test</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.lmax</groupId>
<artifactId>disruptor</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-bom</artifactId>
<version>4.1.100.Final</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers-bom</artifactId>
<version>${testcontainers.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit</artifactId>
<version>${archunit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.tngtech.archunit</groupId>
<artifactId>archunit-junit5</artifactId>
<version>${archunit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-subclass</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<properties>
<test.unit.pattern>**/*Test.*</test.unit.pattern>
<flink.XmxMax>3072m</flink.XmxMax>
<beam.version>2.54.0</beam.version>
<okhttp.version>3.14.9</okhttp.version>
<slf4j.version>1.7.36</slf4j.version>
<py4j.version>0.10.9.7</py4j.version>
<log4j.version>2.24.3</log4j.version>
<spotless.scalafmt.version>3.4.3</spotless.scalafmt.version>
<flink.shaded.jackson.version>2.18.2</flink.shaded.jackson.version>
<jaxb.api.version>2.3.1</jaxb.api.version>
<testcontainers.version>1.20.2</testcontainers.version>
<archunit.version>1.2.0</archunit.version>
<flink.markBundledAsOptional>true</flink.markBundledAsOptional>
<flink.shaded.version>20.0</flink.shaded.version>
<japicmp.referenceVersion>2.1.0</japicmp.referenceVersion>
<javax.activation.api.version>1.2.0</javax.activation.api.version>
<junit5.version>5.11.4</junit5.version>
<flink.hadoop.version>2.10.2</flink.hadoop.version>
<flink.shaded.jsonpath.version>2.9.0</flink.shaded.jsonpath.version>
<source.java.version>11</source.java.version>
<assertj.version>3.27.3</assertj.version>
<flink.XmxUnitTest>768m</flink.XmxUnitTest>
<scala.macros.version>2.1.1</scala.macros.version>
<hive.version>2.3.10</hive.version>
<mockito.version>5.14.2</mockito.version>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.target>${target.java.version}</maven.compiler.target>
<orc.version>1.5.6</orc.version>
<japicmp.outputDir>tools/japicmp-output</japicmp.outputDir>
<jackson-bom.version>2.18.2</jackson-bom.version>
<junit4.version>4.13.2</junit4.version>
<zookeeper.version>3.7.2</zookeeper.version>
<flink.forkCountITCase>2</flink.forkCountITCase>
<flink.reuseForks>true</flink.reuseForks>
<jackson.mapper.asl.version>1.9.14.jdk17-redhat-00001</jackson.mapper.asl.version>
<spotless.license.header>/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/</spotless.license.header>
<commons-lang3.version>3.18.0</commons-lang3.version>
<avro.version>1.11.4</avro.version>
<target.java.version>17</target.java.version>
<flink.surefire.baseArgLine>-XX:+UseG1GC -Xms256m -XX:+IgnoreUnrecognizedVMOptions ${surefire.module.config}</flink.surefire.baseArgLine>
<lz4.version>1.8.0</lz4.version>
<maven.compiler.source>${target.java.version}</maven.compiler.source>
<protoc.version>3.21.7</protoc.version>
<scala.version>2.12.20</scala.version>
<flink.forkCountUnitTest>4</flink.forkCountUnitTest>
<curator.version>5.4.0</curator.version>
<scala.binary.version>2.12</scala.binary.version>
<flink.XmxITCase>1536m</flink.XmxITCase>
<hamcrest.version>1.3</hamcrest.version>
<spotless.skip>false</spotless.skip>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<spotless.delimiter>package</spotless.delimiter>
<spotless.version>2.43.0</spotless.version>
<snappy.java.version>1.1.10.7</snappy.java.version>
<minikdc.version>3.2.4</minikdc.version>
<checkstyle.version>10.18.2</checkstyle.version>
<japicmp.skip>false</japicmp.skip>
<commons.io.version>2.15.1</commons.io.version>
<flink.convergence.phase>validate</flink.convergence.phase>
</properties>
</project>