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]

Reply via email to