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 <m...@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}"