rdblue commented on a change in pull request #3364:
URL: https://github.com/apache/iceberg/pull/3364#discussion_r736726599
##########
File path: flink/build.gradle
##########
@@ -28,11 +32,11 @@ project(':iceberg-flink') {
implementation project(':iceberg-parquet')
implementation project(':iceberg-hive-metastore')
- compileOnly "org.apache.flink:flink-streaming-java_2.12"
- compileOnly "org.apache.flink:flink-streaming-java_2.12::tests"
- compileOnly "org.apache.flink:flink-table-api-java-bridge_2.12"
- compileOnly "org.apache.flink:flink-table-planner-blink_2.12"
- compileOnly "org.apache.flink:flink-table-planner_2.12"
+ compileOnly "org.apache.flink:flink-streaming-java_2.12:${flinkVersion}"
+ compileOnly
"org.apache.flink:flink-streaming-java_2.12:${flinkVersion}:tests"
+ compileOnly
"org.apache.flink:flink-table-api-java-bridge_2.12:${flinkVersion}"
+ compileOnly
"org.apache.flink:flink-table-planner-blink_2.12:${flinkVersion}"
+ compileOnly "org.apache.flink:flink-table-planner_2.12:${flinkVersion}"
Review comment:
I think we have some options here other than copying the code like Spark
is doing. What about creating modules for each Flink version and adding a
shared source directory and a version-specific source directory?
```
flink/src/main/java // <-- common code
flink/v1.12/src/main/java // <-- 1.12 code
flink/v1.13/src/main/java // <-- 1.13 code
```
Then in `flink/build.gradle`, create `iceberg-flink-1.12`,
`iceberg-flink-1.13`, and the runtime modules. The main modules have 2 source
directories, `flink/src/main/java` and the version-specific one. Then as the
code changes you can move files around. For example, to use a new interface in
1.13, you'd move the code from common into 1.12 and implement the new interface
specifically in 1.13.
Would that work, @openinx?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]