sjvanrossum commented on code in PR #39297:
URL: https://github.com/apache/beam/pull/39297#discussion_r3574087127


##########
build.gradle.kts:
##########
@@ -1056,3 +1056,22 @@ if (project.hasProperty("testJavaVersion")) {
     }
   }
 }
+
+subprojects {

Review Comment:
   Bumping Kafka to 3.9.2 shifts the conflict around. The reverse pops up for 
the Spark Runner and Flink Runner subprojects, with versions 1.x of Flink and 
iirc both versions 3.x and 4.x of Spark still depending on `org.lz4:lz4-java`.
   
   After setting up capabilities resolution for the Flink Runner, Flink Job 
Server, Spark Runner and Spark Job Server I saw an additional conflict pop up 
for Java Examples since capabilities resolution only applies to the project for 
the current task. I wasn't aware of that, so I only saw it when the PR actions 
for Java Examples on the Spark Runner failed.
   
   Conditionally applying capability resolution and manually propagating 
capability resolution (and conditions?) to dependent subprojects seemed like a 
lot more friction for contributors than applying a prescriptive configuration 
for it from the root project down to all subprojects. Looks like that's the 
case for the Java conventions configuration used by subprojects of 
[Deephaven](https://github.com/deephaven/deephaven-core/blob/main/buildSrc/src/main/groovy/io.deephaven.java-resolution-conventions.gradle)
 and 
[Pulsar](https://github.com/apache/pulsar/blob/master/build-logic/conventions/src/main/kotlin/pulsar.java-conventions.gradle.kts).
   
   Enforcing dependency substitution would prevent any unnoticed direct 
dependencies on `org.lz4:lz4-java` from landing in a release. As mentioned, I 
realize that's a tad paranoid perhaps compared to enforcing capability 
resolution which would only alter a Beam POM when a direct dependency on 
`org.lz4:lz4-java` clashes with a transitive dependency on 
`at.yawk.lz4:lz4-java`.
   
   Regardless, I'll unstack this change from #39284 and #39285 for now.
   Feel free to close this PR. 👍 



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