[ https://issues.apache.org/jira/browse/KAFKA-6474?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16393415#comment-16393415 ]
John Roesler commented on KAFKA-6474: ------------------------------------- Hi Filipe, I have been working on a similar task (KAFKA-6473) and discovered something that will probably be a problem for you. This task requires the streams project to have a test dependency on the stream:test-utils project, but streams:test-utils already has a compile dependency on the streams project. I'm no Gradle expert, but as far as I can tell, there's no way to break this circular dependency, at least without doing something exotic in the gradle config. We had a discussion in this mailing list thread: [[DISCUSS] KIP-267|[http://mail-archives.apache.org/mod_mbox/kafka-dev/201803.mbox/%3CCAAyirGsovAzRMLa91nd6rzceQgEcNcLMt7ZrXVN7M1Psj4jCmQ%40mail.gmail.com%3E]|http://mail-archives.apache.org/mod_mbox/kafka-dev/201803.mbox/%3CCAAyirGsovAzRMLa91nd6rzceQgEcNcLMt7ZrXVN7M1Psj4jCmQ%40mail.gmail.com%3E].] . Here's what we settled on: {quote}I would propose we restructure the streams directory thusly: streams/ (artifact name := "streams", the actual streams code lives here) - test-utils/ (this is the current test-utils artifact, depends on "streams") - tests/ (new module, depends on "streams" and "test-utils", *NO published artifact*) This gets us out of the circular dependency without having to engage in any Gradle shenanigans while preserving "test-utils" as a separate artifact. This is good because: 1) the test-utils don't need to be in production code, so it's nice to have a separate artifact, 2) test-utils is already public in 1.1, and it's a bummer to introduce users' code when we can so easily avoid it.{quote} Another result of the discussion is that I'm actually going to side-step this issue for KAFKA-6473, so I won't be doing any restructuring in the course of my work. I'm just sharing these ideas with you for your context. Hope you're well! -John > Rewrite test to use new public TopologyTestDriver > ------------------------------------------------- > > Key: KAFKA-6474 > URL: https://issues.apache.org/jira/browse/KAFKA-6474 > Project: Kafka > Issue Type: Improvement > Components: streams, unit tests > Affects Versions: 1.1.0 > Reporter: Matthias J. Sax > Assignee: Filipe Agapito > Priority: Major > Labels: beginner, newbie > > With KIP-247 we added public TopologyTestDriver. We should rewrite out own > test to use this new test driver and remove the two classes > ProcessorTopoogyTestDriver and KStreamTestDriver. -- This message was sent by Atlassian JIRA (v7.6.3#76005)