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

Reply via email to