soarez commented on code in PR #22193:
URL: https://github.com/apache/kafka/pull/22193#discussion_r3181245475


##########
build.gradle:
##########
@@ -1574,6 +1578,32 @@ project(':group-coordinator') {
   srcJar.dependsOn 'processMessages'
 }
 
+project(':test-common:test-common-base') {
+  // Generic utilities for testing. Depends on `clients` only to minimize 
classpath leakage.
+  // e.g. SSL utilities, wait functions, file-related operations
+  // Java 11 is the minimum Java version required.
+
+  base {
+    archivesName = "kafka-test-common-base"
+  }
+
+  dependencies {
+    implementation project(':clients')

Review Comment:
   This was creating a circular dependency, which I think by itself is 
undesirable. The AppInfoParserTest issue came from this making tests depend on 
the clients shadowjar which runs `createVersionFile`. The problem can be fixed 
by replacing the dependency with the raw main classpath,, done in 
[2bbdd9e](https://github.com/apache/kafka/pull/22193/commits/2bbdd9eeb65ddd0ff5646088cd2919173182e5a4).
 But I agree: it begs the question if this is the right approach.
   
   I gave test fixtures approach a shot in #22201. This approach also creates 
challenges: shadowjar and test-fixtures do not play well together, and we have 
to sort of corrupt the idea of test fixtures is meant to be to make it work. 
But overall, I think it is still a cleaner and simpler approach than 
introducing this new test-common-base module. So if you agree my current 
inclination would be to close this PR and merge #22201. 



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