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