mananmangal commented on code in PR #38980:
URL: https://github.com/apache/beam/pull/38980#discussion_r3444300968


##########
build.gradle.kts:
##########
@@ -1055,3 +1055,17 @@ if (project.hasProperty("testJavaVersion")) {
     }
   }
 }
+
+// Flink 2.2.1 (FLINK-39139) replaced org.lz4:lz4-java with the fork 
at.yawk.lz4:lz4-java,
+// which declares the same 'org.lz4:lz4-java' Gradle capability. Any 
subproject that depends
+// on both Flink 2.2+ and another library using org.lz4 (Kafka, Spark, etc.) 
hits a capability
+// conflict. This resolution applies globally so that individual subprojects 
do not each need
+// to declare it independently.
+allprojects {

Review Comment:
   Further thought on consolidating into `flink_runner.gradle`: the only 
version guard available in Groovy would be `flink_major.startsWith('2') && 
flink_major !='2.0'`, which is fragile. The per-module approach is more 
explicit.
   
   For users: Gradle `capabilitiesResolution` rules are build logic and don't 
get published in artifact metadata, so there's no way to propagate this fix to 
consumers transparently. I've documented the workaround in `CHANGES.md` **Known 
Issues**.
   
   Open to a better idea if you have one.



-- 
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]

Reply via email to