You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by st...@apache.org on 2025/09/19 14:36:58 UTC
(iceberg) 03/05: Flink: Adjust build scripts for Flink 2.1
This is an automated email from the ASF dual-hosted git repository.
stevenwu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/iceberg.git
commit 58da08695b8595cd93847a7f3133edcc82a9ca5f
Author: Maximilian Michels <mx...@apache.org>
AuthorDate: Thu Jul 31 16:14:20 2025 +0200
Flink: Adjust build scripts for Flink 2.1
---
flink/build.gradle | 4 ++++
flink/v2.1/build.gradle | 36 ++++++++++++++++++------------------
gradle.properties | 4 ++--
gradle/libs.versions.toml | 12 ++++++++++++
settings.gradle | 9 +++++++++
5 files changed, 45 insertions(+), 20 deletions(-)
diff --git a/flink/build.gradle b/flink/build.gradle
index e315f2558d..86509c3b17 100644
--- a/flink/build.gradle
+++ b/flink/build.gradle
@@ -29,4 +29,8 @@ if (flinkVersions.contains("1.20")) {
if (flinkVersions.contains("2.0")) {
apply from: file("$projectDir/v2.0/build.gradle")
+}
+
+if (flinkVersions.contains("2.1")) {
+ apply from: file("$projectDir/v2.1/build.gradle")
}
\ No newline at end of file
diff --git a/flink/v2.1/build.gradle b/flink/v2.1/build.gradle
index dfbaa8ff41..f24eb22e79 100644
--- a/flink/v2.1/build.gradle
+++ b/flink/v2.1/build.gradle
@@ -17,7 +17,7 @@
* under the License.
*/
-String flinkMajorVersion = '2.0'
+String flinkMajorVersion = '2.1'
String scalaVersion = System.getProperty("scalaVersion") != null ? System.getProperty("scalaVersion") : System.getProperty("defaultScalaVersion")
project(":iceberg-flink:iceberg-flink-${flinkMajorVersion}") {
@@ -32,15 +32,15 @@ project(":iceberg-flink:iceberg-flink-${flinkMajorVersion}") {
implementation project(':iceberg-parquet')
implementation project(':iceberg-hive-metastore')
- compileOnly libs.flink20.avro
+ compileOnly libs.flink21.avro
// for dropwizard histogram metrics implementation
- compileOnly libs.flink20.metrics.dropwizard
- compileOnly libs.flink20.streaming.java
- compileOnly "${libs.flink20.streaming.java.get().module}:${libs.flink20.streaming.java.get().getVersion()}:tests"
- compileOnly libs.flink20.table.api.java.bridge
- compileOnly "org.apache.flink:flink-table-planner_${scalaVersion}:${libs.versions.flink20.get()}"
- compileOnly libs.flink20.connector.base
- compileOnly libs.flink20.connector.files
+ compileOnly libs.flink21.metrics.dropwizard
+ compileOnly libs.flink21.streaming.java
+ compileOnly "${libs.flink21.streaming.java.get().module}:${libs.flink21.streaming.java.get().getVersion()}:tests"
+ compileOnly libs.flink21.table.api.java.bridge
+ compileOnly "org.apache.flink:flink-table-planner_${scalaVersion}:${libs.versions.flink21.get()}"
+ compileOnly libs.flink21.connector.base
+ compileOnly libs.flink21.connector.files
compileOnly libs.hadoop3.hdfs
compileOnly libs.hadoop3.common
@@ -71,13 +71,13 @@ project(":iceberg-flink:iceberg-flink-${flinkMajorVersion}") {
// for caching in DynamicSink
implementation libs.caffeine
- testImplementation libs.flink20.connector.test.utils
- testImplementation libs.flink20.core
- testImplementation libs.flink20.runtime
- testImplementation(libs.flink20.test.utilsjunit) {
+ testImplementation libs.flink21.connector.test.utils
+ testImplementation libs.flink21.core
+ testImplementation libs.flink21.runtime
+ testImplementation(libs.flink21.test.utilsjunit) {
exclude group: 'junit'
}
- testImplementation(libs.flink20.test.utils) {
+ testImplementation(libs.flink21.test.utils) {
exclude group: "org.apache.curator", module: 'curator-test'
exclude group: 'junit'
}
@@ -172,7 +172,7 @@ project(":iceberg-flink:iceberg-flink-runtime-${flinkMajorVersion}") {
}
// for dropwizard histogram metrics implementation
- implementation libs.flink20.metrics.dropwizard
+ implementation libs.flink21.metrics.dropwizard
// for integration testing with the flink-runtime-jar
// all of those dependencies are required because the integration test extends FlinkTestBase
@@ -181,13 +181,13 @@ project(":iceberg-flink:iceberg-flink-runtime-${flinkMajorVersion}") {
integrationImplementation project(path: ":iceberg-flink:iceberg-flink-${flinkMajorVersion}", configuration: "testArtifacts")
integrationImplementation project(path: ':iceberg-api', configuration: 'testArtifacts')
integrationImplementation project(path: ':iceberg-hive-metastore', configuration: 'testArtifacts')
- integrationImplementation(libs.flink20.test.utils) {
+ integrationImplementation(libs.flink21.test.utils) {
exclude group: "org.apache.curator", module: 'curator-test'
exclude group: 'junit'
}
- integrationImplementation libs.flink20.table.api.java.bridge
- integrationImplementation "org.apache.flink:flink-table-planner_${scalaVersion}:${libs.versions.flink20.get()}"
+ integrationImplementation libs.flink21.table.api.java.bridge
+ integrationImplementation "org.apache.flink:flink-table-planner_${scalaVersion}:${libs.versions.flink21.get()}"
integrationImplementation libs.hadoop3.common
integrationImplementation libs.hadoop3.hdfs
diff --git a/gradle.properties b/gradle.properties
index 5da56c59de..80a00f8ced 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -16,8 +16,8 @@
jmhOutputPath=build/reports/jmh/human-readable-output.txt
jmhJsonOutputPath=build/reports/jmh/results.json
jmhIncludeRegex=.*
-systemProp.defaultFlinkVersions=2.0
-systemProp.knownFlinkVersions=1.19,1.20,2.0
+systemProp.defaultFlinkVersions=2.1
+systemProp.knownFlinkVersions=1.19,1.20,2.0,2.1
systemProp.defaultSparkVersions=4.0
systemProp.knownSparkVersions=3.4,3.5,4.0
systemProp.defaultKafkaVersions=3
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index c8dbc511d1..73312238ac 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -49,6 +49,7 @@ findbugs-jsr305 = "3.0.2"
flink119 = { strictly = "1.19.2"}
flink120 = { strictly = "1.20.1"}
flink20 = { strictly = "2.0.0"}
+flink21 = { strictly = "2.1.0"}
google-libraries-bom = "26.67.0"
guava = "33.4.8-jre"
hadoop3 = "3.4.1"
@@ -131,6 +132,12 @@ flink20-connector-files = { module = "org.apache.flink:flink-connector-files", v
flink20-metrics-dropwizard = { module = "org.apache.flink:flink-metrics-dropwizard", version.ref = "flink20" }
flink20-streaming-java = { module = "org.apache.flink:flink-streaming-java", version.ref = "flink20" }
flink20-table-api-java-bridge = { module = "org.apache.flink:flink-table-api-java-bridge", version.ref = "flink20" }
+flink21-avro = { module = "org.apache.flink:flink-avro", version.ref = "flink21" }
+flink21-connector-base = { module = "org.apache.flink:flink-connector-base", version.ref = "flink21" }
+flink21-connector-files = { module = "org.apache.flink:flink-connector-files", version.ref = "flink21" }
+flink21-metrics-dropwizard = { module = "org.apache.flink:flink-metrics-dropwizard", version.ref = "flink21" }
+flink21-streaming-java = { module = "org.apache.flink:flink-streaming-java", version.ref = "flink21" }
+flink21-table-api-java-bridge = { module = "org.apache.flink:flink-table-api-java-bridge", version.ref = "flink21" }
google-libraries-bom = { module = "com.google.cloud:libraries-bom", version.ref = "google-libraries-bom" }
guava-guava = { module = "com.google.guava:guava", version.ref = "guava" }
hadoop3-client = { module = "org.apache.hadoop:hadoop-client", version.ref = "hadoop3" }
@@ -195,6 +202,11 @@ flink20-core = { module = "org.apache.flink:flink-core", version.ref = "flink20"
flink20-runtime = { module = "org.apache.flink:flink-runtime", version.ref = "flink20" }
flink20-test-utils = { module = "org.apache.flink:flink-test-utils", version.ref = "flink20" }
flink20-test-utilsjunit = { module = "org.apache.flink:flink-test-utils-junit", version.ref = "flink20" }
+flink21-connector-test-utils = { module = "org.apache.flink:flink-connector-test-utils", version.ref = "flink21" }
+flink21-core = { module = "org.apache.flink:flink-core", version.ref = "flink21" }
+flink21-runtime = { module = "org.apache.flink:flink-runtime", version.ref = "flink21" }
+flink21-test-utils = { module = "org.apache.flink:flink-test-utils", version.ref = "flink21" }
+flink21-test-utilsjunit = { module = "org.apache.flink:flink-test-utils-junit", version.ref = "flink21" }
guava-testlib = { module = "com.google.guava:guava-testlib", version.ref = "guava" }
jakarta-el-api = { module = "jakarta.el:jakarta.el-api", version.ref = "jakarta-el-api" }
jakarta-servlet = {module = "jakarta.servlet:jakarta.servlet-api", version.ref = "jakarta-servlet-api"}
diff --git a/settings.gradle b/settings.gradle
index 57b8f7b58c..bf84ccee03 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -139,6 +139,15 @@ if (flinkVersions.contains("2.0")) {
project(":iceberg-flink:flink-runtime-2.0").name = "iceberg-flink-runtime-2.0"
}
+if (flinkVersions.contains("2.1")) {
+ include ":iceberg-flink:flink-2.1"
+ include ":iceberg-flink:flink-runtime-2.1"
+ project(":iceberg-flink:flink-2.1").projectDir = file('flink/v2.1/flink')
+ project(":iceberg-flink:flink-2.1").name = "iceberg-flink-2.1"
+ project(":iceberg-flink:flink-runtime-2.1").projectDir = file('flink/v2.1/flink-runtime')
+ project(":iceberg-flink:flink-runtime-2.1").name = "iceberg-flink-runtime-2.1"
+}
+
if (sparkVersions.contains("3.4")) {
include ":iceberg-spark:spark-3.4_${scalaVersion}"
include ":iceberg-spark:spark-extensions-3.4_${scalaVersion}"