mumrah commented on code in PR #18602:
URL: https://github.com/apache/kafka/pull/18602#discussion_r1923835005


##########
build.gradle:
##########
@@ -1102,8 +1103,9 @@ project(':core') {
     testImplementation project(':server-common').sourceSets.test.output
     testImplementation project(':storage:storage-api').sourceSets.test.output
     testImplementation project(':server').sourceSets.test.output
-    testImplementation project(':test-common')
-    testImplementation project(':test-common:test-common-api')
+    testImplementation project(':test-common:test-common-runtime')
+    testImplementation project(':test-common:test-common-internal-api')
+    testImplementation project(':test-common:test-common-util')

Review Comment:
   Let me see if I understand your proposal
   
   * Refactor "test-common-internal-api" to not depend on ":server-common"
   * Move "test-common-internal-api" to Java 11
   * Move `@Flaky` to the "test-common-internal-api"
   * Remove "test-common-util"
   
   I think this would make sense, except that Java 11 modules like ":clients" 
cannot bring a runtime dependency with a newer java version. I tried this and 
got:
   
   ```
   * What went wrong:
   Could not determine the dependencies of task ':clients:test'.
   > Could not resolve all dependencies for configuration 
':clients:testRuntimeClasspath'.
      > Could not resolve project :test-common:test-common-runtime.
        Required by:
            project :clients
         > Dependency resolution is looking for a library compatible with JVM 
runtime version 11, but 'project :test-common:test-common-runtime' is only 
compatible with JVM runtime version 17 or newer.
   ```
   
   Do you know of a way around this?
   
   ---
   
   Since test-common-internal-api is meant to be the abstraction for the test 
infrastructure offered by test-common-runtime, it doesn't make sense to include 
one without the other. It might be confusing for developers if `@ClusterTest` 
was available to import, but was not actually usable.
   
   If we want the client integration tests to be moved out of core, we should 
create a ":clients:integration-tests" module that is Java 17 and move the tests 
there (similar to what streams does).
   
   I expect "test-common-util" will grow to include helper/common test methods. 
We can probably combine the most of the various TestUtils into a single Java 11 
utils class under this module.



-- 
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: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to