This is an automated email from the ASF dual-hosted git repository.

fanningpj pushed a commit to branch main
in repository 
https://gitbox.apache.org/repos/asf/incubator-pekko-connectors-kafka.git


The following commit(s) were added to refs/heads/main by this push:
     new 327fb4bd split out java tests due to scala 3 build issues (#60)
327fb4bd is described below

commit 327fb4bd6bf94b33fc66d7944989915a339afdd0
Author: PJ Fanning <[email protected]>
AuthorDate: Wed Apr 26 19:36:18 2023 +0200

    split out java tests due to scala 3 build issues (#60)
    
    continue refactor
    
    fix up doc links
    
    try to run java-tests and add scala3 test runs
    
    try to fix build
    
    Update build.sbt
    
    Update check-build-test.yml
    
    Update ConsumerProgressTrackingSpec.scala
    
    Update ProjectSettings.scala
    
    Update ProjectSettings.scala
    
    Update ProjectSettings.scala
---
 .github/workflows/check-build-test.yml             | 10 ++--
 build.sbt                                          | 17 ++++++-
 docs/src/main/paradox/atleastonce.md               |  4 +-
 docs/src/main/paradox/cluster-sharding.md          |  8 ++--
 docs/src/main/paradox/consumer-metadata.md         |  4 +-
 docs/src/main/paradox/consumer-rebalance.md        |  6 +--
 docs/src/main/paradox/consumer.md                  | 32 ++++++-------
 docs/src/main/paradox/discovery.md                 |  4 +-
 docs/src/main/paradox/errorhandling.md             |  2 +-
 docs/src/main/paradox/producer.md                  | 20 ++++----
 docs/src/main/paradox/send-producer.md             |  4 +-
 docs/src/main/paradox/serialization.md             | 12 ++---
 docs/src/main/paradox/subscription.md              | 10 ++--
 docs/src/main/paradox/testing-testcontainers.md    |  8 ++--
 docs/src/main/paradox/testing.md                   |  2 +-
 docs/src/main/paradox/transactions.md              |  6 +--
 .../src/test/java/docs/javadsl/AssignmentTest.java |  0
 .../test/java/docs/javadsl/AtLeastOnceTest.java    |  0
 .../java/docs/javadsl/ClusterShardingExample.java  |  0
 .../java/docs/javadsl/ConsumerExampleTest.java     |  0
 .../java/docs/javadsl/ConsumerSettingsTest.java    |  0
 .../test/java/docs/javadsl/FetchMetadataTest.java  |  0
 .../test/java/docs/javadsl/MetadataClientTest.java |  0
 .../java/docs/javadsl/ProducerSettingsTest.java    |  2 +-
 .../src/test/java/docs/javadsl/ProducerTest.java   |  0
 .../src/test/java/docs/javadsl/SampleData.java     |  0
 .../javadsl/SchemaRegistrySerializationTest.java   |  0
 .../test/java/docs/javadsl/SendProducerTest.java   |  0
 .../test/java/docs/javadsl/SerializationTest.java  |  0
 .../test/java/docs/javadsl/TestkitSamplesTest.java |  0
 .../docs/javadsl/TestkitTestcontainersTest.java    |  0
 .../java/docs/javadsl/TransactionsExampleTest.java |  0
 .../java/docs/javadsl/proto/OrderMessages.java     |  0
 java-tests/src/test/resources/application.conf     | 43 +++++++++++++++++
 java-tests/src/test/resources/logback-test.xml     | 54 ++++++++++++++++++++++
 .../tests/javadsl/LogCapturingExtension.scala      |  0
 .../kafka/tests/javadsl/LogCapturingJunit4.scala   |  0
 project/ProjectSettings.scala                      |  7 +--
 .../internal/ConsumerProgressTrackingSpec.scala    |  6 +--
 39 files changed, 187 insertions(+), 74 deletions(-)

diff --git a/.github/workflows/check-build-test.yml 
b/.github/workflows/check-build-test.yml
index 8772ff3f..8f81cc02 100644
--- a/.github/workflows/check-build-test.yml
+++ b/.github/workflows/check-build-test.yml
@@ -113,10 +113,12 @@ jobs:
       fail-fast: false
       matrix:
         include:
-          - { java-version: 8,  scala-version: 2.12.17, sbt-opts: '' }
-          - { java-version: 11, scala-version: 2.12.17, sbt-opts: 
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
-          - { java-version: 8,  scala-version: 2.13.10, sbt-opts: '' }
-          - { java-version: 11, scala-version: 2.13.10, sbt-opts: 
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
+          - { java-version: 8,  scala-version: 2.12, sbt-opts: '' }
+          - { java-version: 11, scala-version: 2.12, sbt-opts: 
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
+          - { java-version: 8,  scala-version: 2.13, sbt-opts: '' }
+          - { java-version: 11, scala-version: 2.13, sbt-opts: 
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
+          - { java-version: 8,  scala-version: 3.2, sbt-opts: '' }
+          - { java-version: 11, scala-version: 3.2, sbt-opts: 
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
     steps:
       - name: Checkout
         uses: actions/checkout@v3
diff --git a/build.sbt b/build.sbt
index 665409e4..5db28f64 100644
--- a/build.sbt
+++ b/build.sbt
@@ -24,7 +24,7 @@ lazy val `pekko-connectors-kafka` =
       publish / skip := true,
       ScalaUnidoc / unidoc / unidocProjectFilter := inProjects(core, testkit, 
`cluster-sharding`),
       onLoadMessage := ProjectSettings.onLoadMessage)
-    .aggregate(core, testkit, `cluster-sharding`, tests, benchmarks, docs)
+    .aggregate(core, testkit, `cluster-sharding`, tests, `java-tests`, 
benchmarks, docs)
 
 lazy val core = project
   .disablePlugins(SitePlugin)
@@ -74,13 +74,26 @@ lazy val tests = project
     name := "pekko-connectors-kafka-tests",
     resolvers ++= ResolverSettings.testSpecificResolvers,
     libraryDependencies ++= Dependencies.testDependencies.value,
+    publish / skip := true,
+    Test / fork := true,
+    Test / parallelExecution := false,
+    IntegrationTest / parallelExecution := false)
+
+lazy val `java-tests` = project
+  .dependsOn(core, testkit, `cluster-sharding`, tests % 
"compile->compile;test->test")
+  .disablePlugins(MimaPlugin, SitePlugin)
+  .settings(commonSettings)
+  .settings(
+    name := "pekko-connectors-kafka-java-tests",
+    resolvers ++= ResolverSettings.testSpecificResolvers,
+    libraryDependencies ++= Dependencies.testDependencies.value,
     libraryDependencies ++= Seq(
       "org.junit.vintage" % "junit-vintage-engine" % 
JupiterKeys.junitVintageVersion.value % Test,
       "net.aichler" % "jupiter-interface" % JupiterKeys.jupiterVersion.value % 
Test),
     publish / skip := true,
+    Test / compileOrder := CompileOrder.ScalaThenJava,
     Test / fork := true,
     Test / parallelExecution := false,
-    Test / compileOrder := CompileOrder.ScalaThenJava,
     IntegrationTest / parallelExecution := false)
 
 lazy val docs = project
diff --git a/docs/src/main/paradox/atleastonce.md 
b/docs/src/main/paradox/atleastonce.md
index 894f153c..9763ce4b 100644
--- a/docs/src/main/paradox/atleastonce.md
+++ b/docs/src/main/paradox/atleastonce.md
@@ -22,7 +22,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/AtLeastOnce.scala) { 
#oneToMany }  
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/AtLeastOnceTest.java) { 
#oneToMany }
+: @@ snip [snip](/java-tests/src/test/java/docs/javadsl/AtLeastOnceTest.java) 
{ #oneToMany }
 
 
 ### Batches
@@ -73,7 +73,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/AtLeastOnce.scala) { 
#oneToConditional }  
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/AtLeastOnceTest.java) { 
#oneToConditional }
+: @@ snip [snip](/java-tests/src/test/java/docs/javadsl/AtLeastOnceTest.java) 
{ #oneToConditional }
 
 
 ### Excluding Messages
diff --git a/docs/src/main/paradox/cluster-sharding.md 
b/docs/src/main/paradox/cluster-sharding.md
index ddb3070b..7e199a19 100644
--- a/docs/src/main/paradox/cluster-sharding.md
+++ b/docs/src/main/paradox/cluster-sharding.md
@@ -61,7 +61,7 @@ Scala
 : @@snip 
[snip](/tests/src/test/scala/docs/scaladsl/ClusterShardingExample.scala) { 
#user-entity }
 
 Java
-: @@snip [snip](/tests/src/test/java/docs/javadsl/ClusterShardingExample.java) 
{ #user-entity }
+: @@snip 
[snip](/java-tests/src/test/java/docs/javadsl/ClusterShardingExample.java) { 
#user-entity }
 
 Create a `MessageExtractor`.
 
@@ -69,7 +69,7 @@ Scala
 : @@snip 
[snip](/tests/src/test/scala/docs/scaladsl/ClusterShardingExample.scala) { 
#message-extractor }
 
 Java
-: @@snip [snip](/tests/src/test/java/docs/javadsl/ClusterShardingExample.java) 
{ #message-extractor }
+: @@snip 
[snip](/java-tests/src/test/java/docs/javadsl/ClusterShardingExample.java) { 
#message-extractor }
 
 Setup Apache Pekko Typed Cluster Sharding.
 
@@ -77,7 +77,7 @@ Scala
 : @@snip 
[snip](/tests/src/test/scala/docs/scaladsl/ClusterShardingExample.scala) { 
#setup-cluster-sharding }
 
 Java
-: @@snip [snip](/tests/src/test/java/docs/javadsl/ClusterShardingExample.java) 
{ #setup-cluster-sharding }
+: @@snip 
[snip](/java-tests/src/test/java/docs/javadsl/ClusterShardingExample.java) { 
#setup-cluster-sharding }
 
 ## Rebalance Listener
 
@@ -102,4 +102,4 @@ Scala
 : @@snip 
[snip](/tests/src/test/scala/docs/scaladsl/ClusterShardingExample.scala) { 
#rebalance-listener }
 
 Java
-: @@snip [snip](/tests/src/test/java/docs/javadsl/ClusterShardingExample.java) 
{ #rebalance-listener }
+: @@snip 
[snip](/java-tests/src/test/java/docs/javadsl/ClusterShardingExample.java) { 
#rebalance-listener }
diff --git a/docs/src/main/paradox/consumer-metadata.md 
b/docs/src/main/paradox/consumer-metadata.md
index 312dd591..dcd8b889 100644
--- a/docs/src/main/paradox/consumer-metadata.md
+++ b/docs/src/main/paradox/consumer-metadata.md
@@ -41,7 +41,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/FetchMetadata.scala) { 
#metadataClient }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/MetadataClientTest.java) { 
#metadataClient }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/MetadataClientTest.java) { 
#metadataClient }
 
 
 ## Accessing metadata using KafkaConsumerActor
@@ -75,4 +75,4 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/FetchMetadata.scala) { 
#metadata }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/FetchMetadataTest.java) { 
#metadata }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/FetchMetadataTest.java) { 
#metadata }
diff --git a/docs/src/main/paradox/consumer-rebalance.md 
b/docs/src/main/paradox/consumer-rebalance.md
index 6b1eb048..123f7d24 100644
--- a/docs/src/main/paradox/consumer-rebalance.md
+++ b/docs/src/main/paradox/consumer-rebalance.md
@@ -43,7 +43,7 @@ Scala
 : @@snip [snip](/tests/src/test/scala/docs/scaladsl/ConsumerExample.scala) { 
#partitionAssignmentHandler }
 
 Java
-: @@snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#partitionAssignmentHandler }
+: @@snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#partitionAssignmentHandler }
 
 
 ## Listening for rebalance events
@@ -61,7 +61,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ConsumerExample.scala) { 
#withTypedRebalanceListenerActor }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#withTypedRebalanceListenerActor }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#withTypedRebalanceListenerActor }
 
 Or with Classic Actors
 
@@ -69,4 +69,4 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ConsumerExample.scala) { 
#withRebalanceListenerActor }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#withRebalanceListenerActor }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#withRebalanceListenerActor }
diff --git a/docs/src/main/paradox/consumer.md 
b/docs/src/main/paradox/consumer.md
index 7f23daf2..dbe72072 100644
--- a/docs/src/main/paradox/consumer.md
+++ b/docs/src/main/paradox/consumer.md
@@ -73,7 +73,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ConsumerExample.scala) { 
#settings }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#settings }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#settings }
 
 
 ### Config inheritance
@@ -89,7 +89,7 @@ Scala
 : @@ snip [read](/tests/src/test/scala/docs/scaladsl/ConsumerExample.scala) { 
#config-inheritance } 
 
 Java
-: @@ snip [read](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#config-inheritance } 
+: @@ snip 
[read](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#config-inheritance } 
 
 
 ## Offset Storage external to Kafka
@@ -107,7 +107,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ConsumerExample.scala) { 
#settings-autocommit }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#settings-autocommit }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#settings-autocommit }
 
 The consumer application doesn't need to use Kafka's built-in offset storage, 
it can store offsets in a store of its own
 choosing. The primary use case for this is allowing the application to store 
both the offset and the results of the
@@ -119,7 +119,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ConsumerExample.scala) { 
#plainSource }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#plainSource }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#plainSource }
 
 For 
 @apidoc[Consumer.plainSource](Consumer$) { 
java="#plainSource[K,V](settings:org.apache.pekko.kafka.ConsumerSettings[K,V],subscription:org.apache.pekko.kafka.Subscription):org.apache.pekko.stream.javadsl.Source[org.apache.kafka.clients.consumer.ConsumerRecord[K,V],pekko.kafka.javadsl.Consumer.Control]"
 
scala="#plainSource[K,V](settings:org.apache.pekko.kafka.ConsumerSettings[K,V],subscription:org.apache.pekko.kafka.Subscription):org.apache.pekko.stream.scaladsl.Source[org.apache.kafka.cli
 [...]
@@ -145,7 +145,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ConsumerExample.scala) { 
#atLeastOnce }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#atLeastOnce }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#atLeastOnce }
 
 Committing the offset for each message (`withMaxBatch(1)`) as illustrated 
above is rather slow. It is recommended to batch the commits for better 
throughput, in cases when upstream fails the `Committer` will try to commit the 
offsets collected before the error.
 
@@ -158,7 +158,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ConsumerExample.scala) { 
#committerSink }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#committerSink }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#committerSink }
  
 When creating a @apidoc[Committer.sink](Committer$) you need to pass in 
@apidoc[CommitterSettings$]. These may be created by passing the actor system 
to read the defaults from the config section `pekko.kafka.committer`, or by 
passing a @scaladoc[Config](com.typesafe.config.Config) instance with the same 
structure.
 
@@ -199,7 +199,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ConsumerExample.scala) { 
#commitWithMetadata }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#commitWithMetadata }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#commitWithMetadata }
 
 ## Offset Storage in Kafka & external
 
@@ -216,7 +216,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ConsumerExample.scala) { 
#atMostOnce }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#atMostOnce }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#atMostOnce }
 
 
 ## Consume "at-least-once"
@@ -234,7 +234,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ConsumerExample.scala) { 
#consumerToProducerSink }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#consumerToProducerSink }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#consumerToProducerSink }
 
 @@@note 
 
@@ -254,7 +254,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ConsumerExample.scala) { 
#committablePartitionedSource }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#committablePartitionedSource }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#committablePartitionedSource }
 
 Separate streams per partition:
 
@@ -262,7 +262,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ConsumerExample.scala) { 
#committablePartitionedSource-stream-per-partition }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#committablePartitionedSource-stream-per-partition }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#committablePartitionedSource-stream-per-partition }
 
 
 ## Sharing the KafkaConsumer instance
@@ -279,7 +279,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/PartitionExamples.scala) 
{ #consumerActorTyped }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#consumerActorTyped }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#consumerActorTyped }
 
 Using the @apidoc[org.apache.pekko.kafka.KafkaConsumerActor$].
 
@@ -287,7 +287,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/PartitionExamples.scala) 
{ #consumerActor }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#consumerActor }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#consumerActor }
 
 
 ## Accessing KafkaConsumer metrics
@@ -298,7 +298,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/PartitionExamples.scala) 
{ #consumerMetrics }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#consumerMetrics }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#consumerMetrics }
 
 
 ## Accessing KafkaConsumer metadata
@@ -315,7 +315,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ConsumerExample.scala) { 
#shutdownPlainSource }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#shutdownPlainSource }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#shutdownPlainSource }
 
 When you are using offset storage in Kafka, the shutdown process involves 
several steps:
 
@@ -334,7 +334,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ConsumerExample.scala) { 
#shutdownCommittableSource }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#shutdownCommittableSource }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#shutdownCommittableSource }
 
 
 @@@ index
diff --git a/docs/src/main/paradox/discovery.md 
b/docs/src/main/paradox/discovery.md
index fb56c4a0..64341f5a 100644
--- a/docs/src/main/paradox/discovery.md
+++ b/docs/src/main/paradox/discovery.md
@@ -40,7 +40,7 @@ Scala
 : @@snip 
[snip](/tests/src/test/scala/org/apache/pekko/kafka/ConsumerSettingsSpec.scala) 
{ #discovery-settings }
 
 Java
-: @@snip [conf](/tests/src/test/java/docs/javadsl/ConsumerSettingsTest.java) { 
#discovery-settings }
+: @@snip 
[conf](/java-tests/src/test/java/docs/javadsl/ConsumerSettingsTest.java) { 
#discovery-settings }
 
 
 ## Configure producer settings
@@ -64,7 +64,7 @@ Scala
 : @@snip 
[conf](/tests/src/test/scala/org/apache/pekko/kafka/ProducerSettingsSpec.scala) 
{ #discovery-settings }
 
 Java
-: @@snip [conf](/tests/src/test/java/docs/javadsl/ProducerSettingsTest.java) { 
#discovery-settings }
+: @@snip 
[conf](/java-tests/src/test/java/docs/javadsl/ProducerSettingsTest.java) { 
#discovery-settings }
 
 
 ## Provide a service name via environment variables
diff --git a/docs/src/main/paradox/errorhandling.md 
b/docs/src/main/paradox/errorhandling.md
index dc2923e1..0bc8c30c 100644
--- a/docs/src/main/paradox/errorhandling.md
+++ b/docs/src/main/paradox/errorhandling.md
@@ -25,7 +25,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ConsumerExample.scala) { 
#restartSource }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#restartSource }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#restartSource }
 
 When a stream fails, library internals will handle all underlying resources.
 
diff --git a/docs/src/main/paradox/producer.md 
b/docs/src/main/paradox/producer.md
index db215c64..1260295f 100644
--- a/docs/src/main/paradox/producer.md
+++ b/docs/src/main/paradox/producer.md
@@ -59,7 +59,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ProducerExample.scala) { 
#settings }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#settings }
+: @@ snip [snip](/java-tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#settings }
 
 In addition to programmatic construction of the @apidoc[ProducerSettings$] it 
can also be created from configuration (`application.conf`). 
 
@@ -88,7 +88,7 @@ Scala
   The materialized value of the sink is a `Future[Done]` which is completed 
with `Done` when the stream completes, or with with an exception in case an 
error occurs.
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#plainSink }
+: @@ snip [snip](/java-tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#plainSink }
   The materialized value of the sink is a `CompletionStage<Done>` which is 
completed with `Done` when the stream completes, or with an exception in case 
an error occurs.
 
 
@@ -105,7 +105,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ProducerExample.scala) { 
#singleMessage }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#singleMessage }
+: @@ snip [snip](/java-tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#singleMessage }
 
 
 For flows the @apidoc[ProducerMessage.Message]s continue as 
@apidoc[org.apache.pekko.kafka.ProducerMessage.Result] elements containing: 
@@ -123,7 +123,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ProducerExample.scala) { 
#multiMessage }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#multiMessage }
+: @@ snip [snip](/java-tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#multiMessage }
 
 For flows the @apidoc[ProducerMessage.MultiMessage]s continue as 
@apidoc[org.apache.pekko.kafka.ProducerMessage.MultiResult] elements 
containing: 
  
@@ -142,7 +142,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ProducerExample.scala) { 
#passThroughMessage }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#passThroughMessage }
+: @@ snip [snip](/java-tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#passThroughMessage }
 
 
 For flows the @apidoc[ProducerMessage.PassThroughMessage]s continue as 
@apidoc[ProducerMessage.PassThroughResult] elements containing the 
`passThrough` data.  
@@ -158,7 +158,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ProducerExample.scala) { 
#flow }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ProducerTest.java) { #flow }
+: @@ snip [snip](/java-tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#flow }
 
 
 ## Connecting a Producer to a Consumer
@@ -169,7 +169,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ConsumerExample.scala) { 
#consumerToProducerSink }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#consumerToProducerSink }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java) { 
#consumerToProducerSink }
 
 
 ## Sharing the KafkaProducer instance
@@ -183,7 +183,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ProducerExample.scala) { 
#producer }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#producer }
+: @@ snip [snip](/java-tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#producer }
 
 The @javadoc[KafkaProducer](org.apache.kafka.clients.producer.KafkaProducer) 
instance (or @scala[Future]@java[CompletionStage]) is passed as a parameter to 
@apidoc[ProducerSettings] using the methods `withProducer` and 
`withProducerFactory`.
 
@@ -191,7 +191,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ProducerExample.scala) { 
#plainSinkWithProducer }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#plainSinkWithProducer }
+: @@ snip [snip](/java-tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#plainSinkWithProducer }
 
 
 ## Accessing KafkaProducer metrics
@@ -202,7 +202,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/ProducerExample.scala) { 
#producerMetrics }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#producerMetrics }
+: @@ snip [snip](/java-tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#producerMetrics }
 
 @@@ index
 
diff --git a/docs/src/main/paradox/send-producer.md 
b/docs/src/main/paradox/send-producer.md
index 8c7f1713..c99af0e4 100644
--- a/docs/src/main/paradox/send-producer.md
+++ b/docs/src/main/paradox/send-producer.md
@@ -28,7 +28,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/SendProducerSpec.scala) { 
#record }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/SendProducerTest.java) { 
#record }
+: @@ snip [snip](/java-tests/src/test/java/docs/javadsl/SendProducerTest.java) 
{ #record }
 
 
 ### Envelope
@@ -39,7 +39,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/SendProducerSpec.scala) { 
#multiMessage }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/SendProducerTest.java) { 
#multiMessage }
+: @@ snip [snip](/java-tests/src/test/java/docs/javadsl/SendProducerTest.java) 
{ #multiMessage }
 
 After successful sending, a @apidoc[ProducerMessage.Message] will return a 
@apidoc[org.apache.pekko.kafka.ProducerMessage.Result] element containing:
 
diff --git a/docs/src/main/paradox/serialization.md 
b/docs/src/main/paradox/serialization.md
index 77fff175..d9e22062 100644
--- a/docs/src/main/paradox/serialization.md
+++ b/docs/src/main/paradox/serialization.md
@@ -13,7 +13,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/SerializationSpec.scala) 
{ #protobuf-imports #protobuf-serializer }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/SerializationTest.java) { 
#protobuf-imports #protobuf-serializer }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/SerializationTest.java) { 
#protobuf-imports #protobuf-serializer }
 
 
 To de-serialize a Protocol Buffers message in a `map` operator, convert the 
received byte array to the designated type with the generated `parseFrom()` 
method.
@@ -24,7 +24,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/SerializationSpec.scala) 
{ #protobuf-imports #protobuf-deserializer }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/SerializationTest.java) { 
#protobuf-imports #protobuf-deserializer }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/SerializationTest.java) { 
#protobuf-imports #protobuf-deserializer }
 
 
 ## Jackson JSON
@@ -32,7 +32,7 @@ Java
 Serializing data to JSON text with 
[Jackson](https://github.com/FasterXML/jackson) in a `map` operator will turn 
the object instance into a String which is used as value in the 
@javadoc[ProducerRecord](org.apache.kafka.clients.producer.ProducerRecord).
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/SerializationTest.java) { 
#jackson-imports #jackson-serializer }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/SerializationTest.java) { 
#jackson-imports #jackson-serializer }
 
 
 To de-serialize a JSON String with Jackson in a `map` operator, extract the 
String and apply the Jackson object reader in a `map` operator. Amend the `map` 
operator with the extracted type as the object reader is not generic.
@@ -40,7 +40,7 @@ To de-serialize a JSON String with Jackson in a `map` 
operator, extract the Stri
 This example uses resuming to react on data which can't be parsed correctly 
and ignores faulty elements.
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/SerializationTest.java) { 
#jackson-imports #jackson-deserializer }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/SerializationTest.java) { 
#jackson-imports #jackson-deserializer }
 
 
 ## Spray JSON
@@ -109,7 +109,7 @@ Scala
 : @@ snip 
[snip](/tests/src/test/scala/docs/scaladsl/SchemaRegistrySerializationSpec.scala)
 { #imports #serializer }
 
 Java
-: @@ snip 
[snip](/tests/src/test/java/docs/javadsl/SchemaRegistrySerializationTest.java) 
{ #imports #serializer }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/SchemaRegistrySerializationTest.java)
 { #imports #serializer }
 
 
 
@@ -121,4 +121,4 @@ Scala
 : @@ snip 
[snip](/tests/src/test/scala/docs/scaladsl/SchemaRegistrySerializationSpec.scala)
 { #imports #de-serializer }
 
 Java
-: @@ snip 
[snip](/tests/src/test/java/docs/javadsl/SchemaRegistrySerializationTest.java) 
{ #imports #de-serializer }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/SchemaRegistrySerializationTest.java)
 { #imports #de-serializer }
diff --git a/docs/src/main/paradox/subscription.md 
b/docs/src/main/paradox/subscription.md
index 9ce12adb..fde5603f 100644
--- a/docs/src/main/paradox/subscription.md
+++ b/docs/src/main/paradox/subscription.md
@@ -19,7 +19,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/AssignmentSpec.scala) { 
#single-topic }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/AssignmentTest.java) { 
#single-topic }
+: @@ snip [snip](/java-tests/src/test/java/docs/javadsl/AssignmentTest.java) { 
#single-topic }
 
 
 ### Topic Pattern
@@ -31,7 +31,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/AssignmentSpec.scala) { 
#topic-pattern }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/AssignmentTest.java) { 
#topic-pattern }
+: @@ snip [snip](/java-tests/src/test/java/docs/javadsl/AssignmentTest.java) { 
#topic-pattern }
 
 
 ## Manual Partition Assignment
@@ -44,7 +44,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/AssignmentSpec.scala) { 
#assingment-single-partition }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/AssignmentTest.java) { 
#assingment-single-partition }
+: @@ snip [snip](/java-tests/src/test/java/docs/javadsl/AssignmentTest.java) { 
#assingment-single-partition }
 
 
 ### Partition Assignment with Offset
@@ -55,7 +55,7 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/AssignmentSpec.scala) { 
#assingment-single-partition-offset }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/AssignmentTest.java) { 
#assingment-single-partition-offset }
+: @@ snip [snip](/java-tests/src/test/java/docs/javadsl/AssignmentTest.java) { 
#assingment-single-partition-offset }
 
 
 This subscription can be used when offsets are stored in Kafka or on external 
storage. For more information, take a look at the @ref[Offset Storage external 
to Kafka](consumer.md#offset-storage-external-to-kafka) documentation page.
@@ -68,4 +68,4 @@ Scala
 : @@ snip [snip](/tests/src/test/scala/docs/scaladsl/AssignmentSpec.scala) { 
#assingment-single-partition-timestamp }
 
 Java
-: @@ snip [snip](/tests/src/test/java/docs/javadsl/AssignmentTest.java) { 
#assingment-single-partition-timestamp }
+: @@ snip [snip](/java-tests/src/test/java/docs/javadsl/AssignmentTest.java) { 
#assingment-single-partition-timestamp }
diff --git a/docs/src/main/paradox/testing-testcontainers.md 
b/docs/src/main/paradox/testing-testcontainers.md
index db0aa149..929460b4 100644
--- a/docs/src/main/paradox/testing-testcontainers.md
+++ b/docs/src/main/paradox/testing-testcontainers.md
@@ -30,7 +30,7 @@ Scala
 : @@snip 
[snip](/tests/src/test/scala/org/apache/pekko/kafka/scaladsl/SpecBase.scala) { 
#testkit #testcontainers-settings }
 
 Java
-: @@snip 
[snip](/tests/src/test/java/docs/javadsl/TestkitTestcontainersTest.java) { 
#testcontainers-settings }
+: @@snip 
[snip](/java-tests/src/test/java/docs/javadsl/TestkitTestcontainersTest.java) { 
#testcontainers-settings }
 
 <!-- NOTE: Can't get this working with paradox..
 To see what options are available for configuring testcontainers using 
`configureKafka` and `configureZooKeeper` in 
@apidoc[KafkaTestkitTestcontainersSettings] see the API docs for 
@apidoc[PekkoConnectorsKafkaContainer] and 
@apidoc[org.testcontainers.containers.GenericContainer]. 
@@ -47,7 +47,7 @@ Scala
 : @@snip 
[snip](/tests/src/test/scala/docs/scaladsl/SchemaRegistrySerializationSpec.scala)
 { #schema-registry-settings }
 
 Java
-: @@snip 
[snip](/tests/src/test/java/docs/javadsl/SchemaRegistrySerializationTest.java) 
{ #schema-registry-settings }
+: @@snip 
[snip](/java-tests/src/test/java/docs/javadsl/SchemaRegistrySerializationTest.java)
 { #schema-registry-settings }
 
 You can retrieve the Schema Registry URL in your test configuration by calling 
`getSchemaRegistryUrl()` or `schemaRegistryUrl`.
 
@@ -67,10 +67,10 @@ The Testcontainers dependency must be added to your project 
explicitly.
 The example below shows skeleton test classes for JUnit 4 and JUnit 5. The 
Kafka broker will start before the first test and be stopped after all test 
classes are finished.
 
 Java JUnit 4
-: @@snip [snip](/tests/src/test/java/docs/javadsl/AssignmentTest.java) { 
#testkit }
+: @@snip [snip](/java-tests/src/test/java/docs/javadsl/AssignmentTest.java) { 
#testkit }
 
 Java JUnit 5
-: @@snip [snip](/tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#testkit }
+: @@snip [snip](/java-tests/src/test/java/docs/javadsl/ProducerTest.java) { 
#testkit }
 
 
 ## Testing with a Docker Kafka cluster from Scala code
diff --git a/docs/src/main/paradox/testing.md b/docs/src/main/paradox/testing.md
index 67341aa6..e5cb99dd 100644
--- a/docs/src/main/paradox/testing.md
+++ b/docs/src/main/paradox/testing.md
@@ -58,7 +58,7 @@ Scala
 : @@snip [snip](/tests/src/test/scala/docs/scaladsl/TestkitSamplesSpec.scala) 
{ #factories }
 
 Java
-: @@snip [snip](/tests/src/test/java/docs/javadsl/TestkitSamplesTest.java) { 
#factories }
+: @@snip 
[snip](/java-tests/src/test/java/docs/javadsl/TestkitSamplesTest.java) { 
#factories }
 
 @@@ index
 
diff --git a/docs/src/main/paradox/transactions.md 
b/docs/src/main/paradox/transactions.md
index ab5a6782..e1a3984b 100644
--- a/docs/src/main/paradox/transactions.md
+++ b/docs/src/main/paradox/transactions.md
@@ -76,7 +76,7 @@ Scala
 : @@ snip 
[snip](/tests/src/test/scala/docs/scaladsl/TransactionsExample.scala) { 
#transactionalSink }
 
 Java
-: @@ snip 
[snip](/tests/src/test/java/docs/javadsl/TransactionsExampleTest.java) { 
#transactionalSink }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/TransactionsExampleTest.java) { 
#transactionalSink }
 
 
 <!-- TODO: uncomment when Transacitonal.partitionedSource is ready
@@ -86,7 +86,7 @@ Scala
 : @@ snip 
[snip](/tests/src/test/scala/docs/scaladsl/TransactionsExample.scala) { 
#partitionedTransactionalSink }
 
 Java
-: @@ snip 
[snip](/tests/src/test/java/docs/javadsl/TransactionsExampleTest.java) { 
#partitionedTransactionalSink }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/TransactionsExampleTest.java) { 
#partitionedTransactionalSink }
 -->
 
 ### Recovery From Failure
@@ -99,7 +99,7 @@ Scala
 : @@ snip 
[snip](/tests/src/test/scala/docs/scaladsl/TransactionsExample.scala) { 
#transactionalFailureRetry }
 
 Java
-: @@ snip 
[snip](/tests/src/test/java/docs/javadsl/TransactionsExampleTest.java) { 
#transactionalFailureRetry }
+: @@ snip 
[snip](/java-tests/src/test/java/docs/javadsl/TransactionsExampleTest.java) { 
#transactionalFailureRetry }
 
 ## Caveats
 
diff --git a/tests/src/test/java/docs/javadsl/AssignmentTest.java 
b/java-tests/src/test/java/docs/javadsl/AssignmentTest.java
similarity index 100%
rename from tests/src/test/java/docs/javadsl/AssignmentTest.java
rename to java-tests/src/test/java/docs/javadsl/AssignmentTest.java
diff --git a/tests/src/test/java/docs/javadsl/AtLeastOnceTest.java 
b/java-tests/src/test/java/docs/javadsl/AtLeastOnceTest.java
similarity index 100%
rename from tests/src/test/java/docs/javadsl/AtLeastOnceTest.java
rename to java-tests/src/test/java/docs/javadsl/AtLeastOnceTest.java
diff --git a/tests/src/test/java/docs/javadsl/ClusterShardingExample.java 
b/java-tests/src/test/java/docs/javadsl/ClusterShardingExample.java
similarity index 100%
rename from tests/src/test/java/docs/javadsl/ClusterShardingExample.java
rename to java-tests/src/test/java/docs/javadsl/ClusterShardingExample.java
diff --git a/tests/src/test/java/docs/javadsl/ConsumerExampleTest.java 
b/java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java
similarity index 100%
rename from tests/src/test/java/docs/javadsl/ConsumerExampleTest.java
rename to java-tests/src/test/java/docs/javadsl/ConsumerExampleTest.java
diff --git a/tests/src/test/java/docs/javadsl/ConsumerSettingsTest.java 
b/java-tests/src/test/java/docs/javadsl/ConsumerSettingsTest.java
similarity index 100%
rename from tests/src/test/java/docs/javadsl/ConsumerSettingsTest.java
rename to java-tests/src/test/java/docs/javadsl/ConsumerSettingsTest.java
diff --git a/tests/src/test/java/docs/javadsl/FetchMetadataTest.java 
b/java-tests/src/test/java/docs/javadsl/FetchMetadataTest.java
similarity index 100%
rename from tests/src/test/java/docs/javadsl/FetchMetadataTest.java
rename to java-tests/src/test/java/docs/javadsl/FetchMetadataTest.java
diff --git a/tests/src/test/java/docs/javadsl/MetadataClientTest.java 
b/java-tests/src/test/java/docs/javadsl/MetadataClientTest.java
similarity index 100%
rename from tests/src/test/java/docs/javadsl/MetadataClientTest.java
rename to java-tests/src/test/java/docs/javadsl/MetadataClientTest.java
diff --git a/tests/src/test/java/docs/javadsl/ProducerSettingsTest.java 
b/java-tests/src/test/java/docs/javadsl/ProducerSettingsTest.java
similarity index 100%
rename from tests/src/test/java/docs/javadsl/ProducerSettingsTest.java
rename to java-tests/src/test/java/docs/javadsl/ProducerSettingsTest.java
index 42585c32..ba5fe74f 100644
--- a/tests/src/test/java/docs/javadsl/ProducerSettingsTest.java
+++ b/java-tests/src/test/java/docs/javadsl/ProducerSettingsTest.java
@@ -14,6 +14,7 @@
 
 package docs.javadsl;
 
+import org.apache.kafka.common.serialization.StringSerializer;
 import org.apache.pekko.actor.ActorSystem;
 import org.apache.pekko.kafka.ProducerSettings;
 import org.apache.pekko.kafka.ProducerSettingsSpec$;
@@ -23,7 +24,6 @@ import org.apache.pekko.kafka.javadsl.DiscoverySupport;
 import org.apache.pekko.testkit.javadsl.TestKit;
 import com.typesafe.config.Config;
 import com.typesafe.config.ConfigFactory;
-import org.apache.kafka.common.serialization.StringSerializer;
 import org.junit.jupiter.api.Test;
 
 public class ProducerSettingsTest {
diff --git a/tests/src/test/java/docs/javadsl/ProducerTest.java 
b/java-tests/src/test/java/docs/javadsl/ProducerTest.java
similarity index 100%
rename from tests/src/test/java/docs/javadsl/ProducerTest.java
rename to java-tests/src/test/java/docs/javadsl/ProducerTest.java
diff --git a/tests/src/test/java/docs/javadsl/SampleData.java 
b/java-tests/src/test/java/docs/javadsl/SampleData.java
similarity index 100%
rename from tests/src/test/java/docs/javadsl/SampleData.java
rename to java-tests/src/test/java/docs/javadsl/SampleData.java
diff --git 
a/tests/src/test/java/docs/javadsl/SchemaRegistrySerializationTest.java 
b/java-tests/src/test/java/docs/javadsl/SchemaRegistrySerializationTest.java
similarity index 100%
rename from 
tests/src/test/java/docs/javadsl/SchemaRegistrySerializationTest.java
rename to 
java-tests/src/test/java/docs/javadsl/SchemaRegistrySerializationTest.java
diff --git a/tests/src/test/java/docs/javadsl/SendProducerTest.java 
b/java-tests/src/test/java/docs/javadsl/SendProducerTest.java
similarity index 100%
rename from tests/src/test/java/docs/javadsl/SendProducerTest.java
rename to java-tests/src/test/java/docs/javadsl/SendProducerTest.java
diff --git a/tests/src/test/java/docs/javadsl/SerializationTest.java 
b/java-tests/src/test/java/docs/javadsl/SerializationTest.java
similarity index 100%
rename from tests/src/test/java/docs/javadsl/SerializationTest.java
rename to java-tests/src/test/java/docs/javadsl/SerializationTest.java
diff --git a/tests/src/test/java/docs/javadsl/TestkitSamplesTest.java 
b/java-tests/src/test/java/docs/javadsl/TestkitSamplesTest.java
similarity index 100%
rename from tests/src/test/java/docs/javadsl/TestkitSamplesTest.java
rename to java-tests/src/test/java/docs/javadsl/TestkitSamplesTest.java
diff --git a/tests/src/test/java/docs/javadsl/TestkitTestcontainersTest.java 
b/java-tests/src/test/java/docs/javadsl/TestkitTestcontainersTest.java
similarity index 100%
rename from tests/src/test/java/docs/javadsl/TestkitTestcontainersTest.java
rename to java-tests/src/test/java/docs/javadsl/TestkitTestcontainersTest.java
diff --git a/tests/src/test/java/docs/javadsl/TransactionsExampleTest.java 
b/java-tests/src/test/java/docs/javadsl/TransactionsExampleTest.java
similarity index 100%
rename from tests/src/test/java/docs/javadsl/TransactionsExampleTest.java
rename to java-tests/src/test/java/docs/javadsl/TransactionsExampleTest.java
diff --git a/tests/src/test/java/docs/javadsl/proto/OrderMessages.java 
b/java-tests/src/test/java/docs/javadsl/proto/OrderMessages.java
similarity index 100%
rename from tests/src/test/java/docs/javadsl/proto/OrderMessages.java
rename to java-tests/src/test/java/docs/javadsl/proto/OrderMessages.java
diff --git a/java-tests/src/test/resources/application.conf 
b/java-tests/src/test/resources/application.conf
new file mode 100644
index 00000000..10371961
--- /dev/null
+++ b/java-tests/src/test/resources/application.conf
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: Apache-2.0
+
+pekko {
+  loggers = ["org.apache.pekko.event.slf4j.Slf4jLogger"]
+  loglevel = "DEBUG"
+  logging-filter = "org.apache.pekko.event.slf4j.Slf4jLoggingFilter"
+  logger-startup-timeout = 15s
+
+  actor {
+#    debug.receive = true
+  }
+
+  test {
+    # https://github.com/akka/alpakka-kafka/pull/994
+    timefactor = 3.0
+    timefactor = ${?PEKKO_TEST_TIMEFACTOR}
+    single-expect-default = 10s
+  }
+}
+
+pekko {
+  kafka {
+    consumer {
+      stop-timeout = 10ms
+    }
+    testkit.testcontainers {
+      # enabled for all tests because the cluster is only started once per 
test run
+      use-schema-registry = true
+      container-logging = true
+    }
+  }
+}
+
+# default is 10 seconds
+# pekko.kafka.testkit.consumer-group-timeout = 20 seconds
+
+# #consumer-config-inheritance
+our-kafka-consumer: ${pekko.kafka.consumer} {
+  kafka-clients {
+    bootstrap.servers = "kafka-host:9092"
+  }
+}
+# #consumer-config-inheritance
diff --git a/java-tests/src/test/resources/logback-test.xml 
b/java-tests/src/test/resources/logback-test.xml
new file mode 100644
index 00000000..87d58a10
--- /dev/null
+++ b/java-tests/src/test/resources/logback-test.xml
@@ -0,0 +1,54 @@
+<configuration>
+    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
+        <file>target/kafka.log</file>
+        <append>false</append>
+        <encoder>
+            <pattern>%d{ISO8601} %-5level [%-20.20thread] [%-36.36logger{36}]  
%msg%n%rEx</pattern>
+        </encoder>
+    </appender>
+
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>%d{HH:mm:ss.SSS} %-5level [%-20.20thread] 
%-36.36logger{36}  %msg%n%rEx</pattern>
+        </encoder>
+    </appender>
+
+    <appender name="CapturingAppender" 
class="org.apache.pekko.kafka.tests.CapturingAppender"/>
+
+    <logger name="org.apache.pekko.kafka.tests.CapturingAppenderDelegate">
+        <appender-ref ref="STDOUT"/>
+    </logger>
+
+    <logger name="org.apache.pekko" level="DEBUG"/>
+    <logger name="org.apache.pekko.actor.TimerScheduler" level="INFO"/>
+    <logger name="org.apache.pekko.kafka" level="DEBUG"/>
+
+    <logger name="org.apache.zookeeper" level="WARN"/>
+    <logger name="org.I0Itec.zkclient" level="WARN"/>
+
+    <logger name="kafka" level="WARN"/>
+    <logger name="org.apache.kafka" level="WARN"/>
+    <!-- Useful log levels for debugging rebalancing
+    <logger name="org.apache.kafka" level="INFO"/>
+    <logger name="org.apache.kafka.clients.consumer" level="DEBUG"/>
+    <logger name="org.apache.kafka.clients.consumer.KafkaConsumer" 
level="INFO"/>
+    <logger name="org.apache.kafka.clients.consumer.internals" level="INFO"/>
+    <logger 
name="org.apache.kafka.clients.consumer.internals.ConsumerCoordinator" 
level="INFO"/>
+    <logger name="org.apache.kafka.clients.consumer.internals.Fetcher" 
level="INFO"/>
+    -->
+    <logger name="org.apache.kafka.common.utils.AppInfoParser" level="ERROR"/>
+    <logger name="org.apache.kafka.clients.NetworkClient" level="ERROR"/>
+    <logger name="org.eclipse.jetty" level="WARN"/>
+    <logger name="org.hibernate" level="WARN"/>
+    <logger name="org.jboss" level="WARN"/>
+    <logger name="org.glassfish" level="WARN"/>
+    <logger name="io.confluent" level="WARN"/>
+
+    <logger name="com.github.dockerjava" level="INFO"/>
+    <logger name="org.testcontainers" level="INFO"/>
+
+    <root level="DEBUG">
+        <appender-ref ref="CapturingAppender"/>
+        <appender-ref ref="FILE" />
+    </root>
+</configuration>
diff --git 
a/tests/src/test/scala/org/apache/pekko/kafka/tests/javadsl/LogCapturingExtension.scala
 
b/java-tests/src/test/scala/org/apache/pekko/kafka/tests/javadsl/LogCapturingExtension.scala
similarity index 100%
rename from 
tests/src/test/scala/org/apache/pekko/kafka/tests/javadsl/LogCapturingExtension.scala
rename to 
java-tests/src/test/scala/org/apache/pekko/kafka/tests/javadsl/LogCapturingExtension.scala
diff --git 
a/tests/src/test/scala/org/apache/pekko/kafka/tests/javadsl/LogCapturingJunit4.scala
 
b/java-tests/src/test/scala/org/apache/pekko/kafka/tests/javadsl/LogCapturingJunit4.scala
similarity index 100%
rename from 
tests/src/test/scala/org/apache/pekko/kafka/tests/javadsl/LogCapturingJunit4.scala
rename to 
java-tests/src/test/scala/org/apache/pekko/kafka/tests/javadsl/LogCapturingJunit4.scala
diff --git a/project/ProjectSettings.scala b/project/ProjectSettings.scala
index 6867ae99..40198d4a 100644
--- a/project/ProjectSettings.scala
+++ b/project/ProjectSettings.scala
@@ -99,9 +99,10 @@ object ProjectSettings extends AutoPlugin {
       "-doc-version",
       version.value,
       "-sourcepath",
-      (ThisBuild / baseDirectory).value.toString,
-      "-skip-packages",
-      "pekko.pattern:scala", // for some reason Scaladoc creates this
+      (ThisBuild / baseDirectory).value.toString) ++
+    (if (scalaVersion.value.startsWith("2.")) // annoying bug in scala 2.x 
scaladoc
+       Seq("-skip-packages", "org.apache.pekko.pattern:scala")
+     else Seq.empty) ++ Seq(
       "-doc-source-url", {
         val branch = if (isSnapshot.value) "main" else s"v${version.value}"
         
s"https://github.com/apache/incubator-pekko-connectors-kafka/tree/${branch}€{FILE_PATH_EXT}#L€{FILE_LINE}";
diff --git 
a/tests/src/test/scala/org/apache/pekko/kafka/internal/ConsumerProgressTrackingSpec.scala
 
b/tests/src/test/scala/org/apache/pekko/kafka/internal/ConsumerProgressTrackingSpec.scala
index f341f386..18b7c62b 100644
--- 
a/tests/src/test/scala/org/apache/pekko/kafka/internal/ConsumerProgressTrackingSpec.scala
+++ 
b/tests/src/test/scala/org/apache/pekko/kafka/internal/ConsumerProgressTrackingSpec.scala
@@ -162,7 +162,7 @@ class ConsumerProgressTrackingSpec extends AnyFlatSpecLike 
with Matchers with Lo
     val consumer = Mockito.mock(classOf[Consumer[AnyRef, AnyRef]])
     val tp0 = new TopicPartition("t", 0)
     val duration = java.time.Duration.ofSeconds(10)
-    Mockito.when(consumer.position(tp0, duration)).thenReturn(5)
+    Mockito.when(consumer.position(tp0, duration)).thenReturn(5L)
     tracker.assignedPositionsAndSeek(Set(tp0), consumer, duration)
     tracker.commitRequested(tp0).offset() should be(5)
     tracker.committedOffsets(tp0).offset() should be(5)
@@ -190,8 +190,8 @@ class ConsumerProgressTrackingSpec extends AnyFlatSpecLike 
with Matchers with Lo
     val consumer = Mockito.mock(classOf[Consumer[AnyRef, AnyRef]])
     val tp1 = new TopicPartition("t1", 0)
     val duration = java.time.Duration.ofSeconds(10)
-    Mockito.when(consumer.position(tp, duration)).thenReturn(0)
-    Mockito.when(consumer.position(tp1, duration)).thenReturn(10)
+    Mockito.when(consumer.position(tp, duration)).thenReturn(0L)
+    Mockito.when(consumer.position(tp1, duration)).thenReturn(10L)
     tracker.assignedPositionsAndSeek(Set(tp, tp1), consumer, duration)
 
     verifyOffsets(Map(tp -> 0, tp1 -> 10))


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to