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/pekko-projection.git


The following commit(s) were added to refs/heads/main by this push:
     new 0b5e5dd  drop scala 2.12 (#305)
0b5e5dd is described below

commit 0b5e5dd2bf9c7519b2913dcc64248e3694e113f1
Author: PJ Fanning <[email protected]>
AuthorDate: Sat Sep 27 13:00:18 2025 +0100

    drop scala 2.12 (#305)
    
    * drop scala 2.12
    
    * javafmt
---
 .github/workflows/checks.yml                                 |  2 +-
 .github/workflows/integration-tests-cassandra.yml            |  3 +--
 .github/workflows/integration-tests-jdbc.yml                 |  3 +--
 .github/workflows/integration-tests-kafka.yml                |  3 +--
 .github/workflows/integration-tests-slick.yml                |  3 +--
 .github/workflows/nightly-pekko-1.0-tests.yml                |  1 -
 .github/workflows/unit-tests.yml                             |  2 --
 .../pekko/projection/cassandra/CassandraProjectionTest.java  |  2 +-
 .../projection/cassandra/CassandraOffsetStoreSpec.scala      |  2 +-
 .../pekko/projection/cassandra/CassandraProjectionSpec.scala |  2 +-
 .../projection/cassandra/javadsl/CassandraProjection.scala   |  2 +-
 .../scala/org/apache/pekko/projection/ProjectionId.scala     |  2 +-
 .../apache/pekko/projection/internal/HandlerAdapter.scala    |  4 ++--
 .../pekko/projection/internal/SourceProviderAdapter.scala    |  8 ++++----
 .../org/apache/pekko/projection/internal/Telemetry.scala     |  2 +-
 .../pekko/projection/javadsl/ProjectionManagement.scala      |  4 ++--
 .../state/javadsl/DurableStateSourceProvider.scala           |  2 +-
 .../eventsourced/javadsl/EventSourcedProvider.scala          |  3 ++-
 .../pekko/projection/jdbc/internal/JdbcHandlerAdapter.scala  |  3 ++-
 .../pekko/projection/jdbc/javadsl/JdbcProjection.scala       |  3 ++-
 .../projection/kafka/internal/KafkaSourceProviderImpl.scala  |  4 ++--
 .../pekko/projection/kafka/javadsl/KafkaSourceProvider.scala |  2 +-
 project/Dependencies.scala                                   |  3 +--
 project/project-info.conf                                    |  2 +-
 .../pekko/projection/slick/internal/SlickOffsetStore.scala   | 10 ++++------
 .../projection/testkit/internal/TestOffsetStoreAdapter.scala | 12 ++++++------
 .../projection/testkit/internal/TestSourceProviderImpl.scala | 12 ++++++------
 .../projection/testkit/javadsl/ProjectionTestKitTest.java    |  2 +-
 28 files changed, 48 insertions(+), 55 deletions(-)

diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
index 719f206..c2c10bb 100644
--- a/.github/workflows/checks.yml
+++ b/.github/workflows/checks.yml
@@ -76,7 +76,7 @@ jobs:
       - name: Cache Coursier cache
         uses: coursier/cache-action@4e2615869d13561d626ed48655e1a39e5b192b3c # 
v6.4.7
 
-      - name: Compile all code with fatal warnings for Java 11, Scala 2.12 and 
Scala 2.13
+      - name: Cross Compile all code with fatal warnings for Java 11
         run: sbt "clean ; +Test/compile"
 
   check-docs:
diff --git a/.github/workflows/integration-tests-cassandra.yml 
b/.github/workflows/integration-tests-cassandra.yml
index 3ad3b1d..542eef8 100644
--- a/.github/workflows/integration-tests-cassandra.yml
+++ b/.github/workflows/integration-tests-cassandra.yml
@@ -25,8 +25,7 @@ jobs:
         include:
           - { 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: 2.12,  sbt-opts: '' }
-          - { java-version: 11, scala-version: 2.12,  sbt-opts: 
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
+          - { java-version: 11, scala-version: 3.3,   sbt-opts: '' }
     steps:
       - name: Checkout
         uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 
v4.2.2
diff --git a/.github/workflows/integration-tests-jdbc.yml 
b/.github/workflows/integration-tests-jdbc.yml
index d9f8fb8..07572be 100644
--- a/.github/workflows/integration-tests-jdbc.yml
+++ b/.github/workflows/integration-tests-jdbc.yml
@@ -25,8 +25,7 @@ jobs:
         include:
           - { 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: 2.12,  sbt-opts: '' }
-          - { java-version: 8,  scala-version: 3.3,  sbt-opts: '' }
+          - { java-version: 11, scala-version: 3.3,   sbt-opts: '' }
     steps:
       - name: Checkout
         uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 
v4.2.2
diff --git a/.github/workflows/integration-tests-kafka.yml 
b/.github/workflows/integration-tests-kafka.yml
index ed99053..73992b2 100644
--- a/.github/workflows/integration-tests-kafka.yml
+++ b/.github/workflows/integration-tests-kafka.yml
@@ -25,8 +25,7 @@ jobs:
         include:
           - { 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: 2.12,  sbt-opts: '' }
-          - { java-version: 11, scala-version: 2.12,  sbt-opts: 
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
+          - { java-version: 11, scala-version: 3.3,   sbt-opts: '' }
     steps:
       - name: Checkout
         uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 
v4.2.2
diff --git a/.github/workflows/integration-tests-slick.yml 
b/.github/workflows/integration-tests-slick.yml
index d405384..f1ae44a 100644
--- a/.github/workflows/integration-tests-slick.yml
+++ b/.github/workflows/integration-tests-slick.yml
@@ -25,8 +25,7 @@ jobs:
         include:
           - { 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: 2.12,  sbt-opts: '' }
-          - { java-version: 11, scala-version: 2.12,  sbt-opts: 
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
+          - { java-version: 11, scala-version: 3.3,   sbt-opts: '' }
     steps:
       - name: Checkout
         uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # 
v4.2.2
diff --git a/.github/workflows/nightly-pekko-1.0-tests.yml 
b/.github/workflows/nightly-pekko-1.0-tests.yml
index ae047bd..5af3bcb 100644
--- a/.github/workflows/nightly-pekko-1.0-tests.yml
+++ b/.github/workflows/nightly-pekko-1.0-tests.yml
@@ -21,7 +21,6 @@ jobs:
       fail-fast: false
       matrix:
         include:
-          - { java-version: 8, scala-version: 2.12, sbt-opts: '' }
           - { java-version: 8, scala-version: 2.13, sbt-opts: '' }
           - { java-version: 8, scala-version: 3.3, sbt-opts: '' }
     steps:
diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml
index f0aafe6..eb5b05c 100644
--- a/.github/workflows/unit-tests.yml
+++ b/.github/workflows/unit-tests.yml
@@ -25,8 +25,6 @@ jobs:
         include:
           - { 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: 2.12,  sbt-opts: '' }
-          - { java-version: 11, scala-version: 2.12,  sbt-opts: 
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
           - { java-version: 8,  scala-version: 3.3,  sbt-opts: '' }
           - { java-version: 11, scala-version: 3.3,  sbt-opts: 
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
     steps:
diff --git 
a/cassandra-test/src/test/java/org/apache/pekko/projection/cassandra/CassandraProjectionTest.java
 
b/cassandra-test/src/test/java/org/apache/pekko/projection/cassandra/CassandraProjectionTest.java
index 8e91c1a..b57108b 100644
--- 
a/cassandra-test/src/test/java/org/apache/pekko/projection/cassandra/CassandraProjectionTest.java
+++ 
b/cassandra-test/src/test/java/org/apache/pekko/projection/cassandra/CassandraProjectionTest.java
@@ -47,10 +47,10 @@ import 
org.apache.pekko.projection.testkit.javadsl.TestSourceProvider;
 import org.apache.pekko.stream.connectors.cassandra.javadsl.CassandraSession;
 import 
org.apache.pekko.stream.connectors.cassandra.javadsl.CassandraSessionRegistry;
 import org.apache.pekko.stream.javadsl.Source;
-import org.apache.pekko.util.FutureConverters;
 import org.junit.*;
 import org.scalatestplus.junit.JUnitSuite;
 import scala.concurrent.Await;
+import scala.jdk.javaapi.FutureConverters;
 
 public class CassandraProjectionTest extends JUnitSuite {
   @ClassRule public static final TestKitJunitResource testKit = new 
TestKitJunitResource();
diff --git 
a/cassandra-test/src/test/scala/org/apache/pekko/projection/cassandra/CassandraOffsetStoreSpec.scala
 
b/cassandra-test/src/test/scala/org/apache/pekko/projection/cassandra/CassandraOffsetStoreSpec.scala
index 0d12d90..b3e5124 100644
--- 
a/cassandra-test/src/test/scala/org/apache/pekko/projection/cassandra/CassandraOffsetStoreSpec.scala
+++ 
b/cassandra-test/src/test/scala/org/apache/pekko/projection/cassandra/CassandraOffsetStoreSpec.scala
@@ -19,6 +19,7 @@ import java.util.UUID
 import scala.concurrent.Await
 import scala.concurrent.ExecutionContext
 import scala.concurrent.duration._
+import scala.jdk.FutureConverters._
 import scala.util.Try
 
 import org.apache.pekko
@@ -33,7 +34,6 @@ import 
pekko.projection.cassandra.internal.CassandraOffsetStore
 import pekko.projection.internal.ManagementState
 import pekko.projection.testkit.internal.TestClock
 import pekko.stream.connectors.cassandra.scaladsl.CassandraSessionRegistry
-import pekko.util.FutureConverters._
 import org.scalatest.wordspec.AnyWordSpecLike
 
 class CassandraOffsetStoreSpec
diff --git 
a/cassandra-test/src/test/scala/org/apache/pekko/projection/cassandra/CassandraProjectionSpec.scala
 
b/cassandra-test/src/test/scala/org/apache/pekko/projection/cassandra/CassandraProjectionSpec.scala
index 5960086..09b8ea0 100644
--- 
a/cassandra-test/src/test/scala/org/apache/pekko/projection/cassandra/CassandraProjectionSpec.scala
+++ 
b/cassandra-test/src/test/scala/org/apache/pekko/projection/cassandra/CassandraProjectionSpec.scala
@@ -24,6 +24,7 @@ import scala.concurrent.ExecutionContext
 import scala.concurrent.Future
 import scala.concurrent.duration.Duration
 import scala.concurrent.duration._
+import scala.jdk.FutureConverters._
 
 import org.apache.pekko
 import pekko.Done
@@ -60,7 +61,6 @@ import pekko.stream.scaladsl.Source
 import pekko.stream.testkit.TestPublisher
 import pekko.stream.testkit.TestSubscriber
 import pekko.stream.testkit.scaladsl.TestSource
-import pekko.util.FutureConverters._
 import org.scalatest.wordspec.AnyWordSpecLike
 
 object CassandraProjectionSpec {
diff --git 
a/cassandra/src/main/scala/org/apache/pekko/projection/cassandra/javadsl/CassandraProjection.scala
 
b/cassandra/src/main/scala/org/apache/pekko/projection/cassandra/javadsl/CassandraProjection.scala
index 1d0ee9f..f253f5d 100644
--- 
a/cassandra/src/main/scala/org/apache/pekko/projection/cassandra/javadsl/CassandraProjection.scala
+++ 
b/cassandra/src/main/scala/org/apache/pekko/projection/cassandra/javadsl/CassandraProjection.scala
@@ -155,7 +155,7 @@ object CassandraProjection {
    * before the system is started.
    */
   def createTablesIfNotExists(system: ActorSystem[_]): CompletionStage[Done] = 
{
-    import pekko.util.FutureConverters._
+    import scala.jdk.FutureConverters._
     val offsetStore = new CassandraOffsetStore(system)
     offsetStore.createKeyspaceAndTable().asJava
   }
diff --git a/core/src/main/scala/org/apache/pekko/projection/ProjectionId.scala 
b/core/src/main/scala/org/apache/pekko/projection/ProjectionId.scala
index c402e4b..d1ee760 100644
--- a/core/src/main/scala/org/apache/pekko/projection/ProjectionId.scala
+++ b/core/src/main/scala/org/apache/pekko/projection/ProjectionId.scala
@@ -14,10 +14,10 @@
 package org.apache.pekko.projection
 
 import scala.collection.immutable
+import scala.jdk.CollectionConverters._
 
 import org.apache.pekko
 import pekko.annotation.ApiMayChange
-import pekko.util.ccompat.JavaConverters._
 
 @ApiMayChange
 object ProjectionId {
diff --git 
a/core/src/main/scala/org/apache/pekko/projection/internal/HandlerAdapter.scala 
b/core/src/main/scala/org/apache/pekko/projection/internal/HandlerAdapter.scala
index b0dc6a8..f7ab549 100644
--- 
a/core/src/main/scala/org/apache/pekko/projection/internal/HandlerAdapter.scala
+++ 
b/core/src/main/scala/org/apache/pekko/projection/internal/HandlerAdapter.scala
@@ -15,14 +15,14 @@ package org.apache.pekko.projection.internal
 
 import scala.collection.immutable
 import scala.concurrent.Future
+import scala.jdk.CollectionConverters._
+import scala.jdk.FutureConverters._
 
 import org.apache.pekko
 import pekko.Done
 import pekko.annotation.InternalApi
 import pekko.projection.javadsl
 import pekko.projection.scaladsl
-import pekko.util.ccompat.JavaConverters._
-import pekko.util.FutureConverters._
 
 /**
  * INTERNAL API
diff --git 
a/core/src/main/scala/org/apache/pekko/projection/internal/SourceProviderAdapter.scala
 
b/core/src/main/scala/org/apache/pekko/projection/internal/SourceProviderAdapter.scala
index 05a9ece..5535653 100644
--- 
a/core/src/main/scala/org/apache/pekko/projection/internal/SourceProviderAdapter.scala
+++ 
b/core/src/main/scala/org/apache/pekko/projection/internal/SourceProviderAdapter.scala
@@ -17,7 +17,9 @@ import java.util.Optional
 import java.util.concurrent.CompletionStage
 import java.util.function.Supplier
 
-import scala.concurrent.Future
+import scala.concurrent.{ ExecutionContext, Future }
+import scala.jdk.FutureConverters._
+import scala.jdk.OptionConverters._
 
 import org.apache.pekko
 import pekko.NotUsed
@@ -25,8 +27,6 @@ import pekko.annotation.InternalApi
 import pekko.projection.javadsl
 import pekko.projection.scaladsl
 import pekko.stream.scaladsl.Source
-import pekko.util.FutureConverters._
-import pekko.util.OptionConverters._
 
 /**
  * INTERNAL API: Adapter from javadsl.SourceProvider to scaladsl.SourceProvider
@@ -38,7 +38,7 @@ import pekko.util.OptionConverters._
   def source(offset: () => Future[Option[Offset]]): Future[Source[Envelope, 
NotUsed]] = {
     // the parasitic context is used to convert the Optional to Option and a 
java streams Source to a scala Source,
     // it _should_ not be used for the blocking operation of getting offsets 
themselves
-    val ec = pekko.dispatch.ExecutionContexts.parasitic
+    val ec = ExecutionContext.parasitic
     val offsetAdapter = new Supplier[CompletionStage[Optional[Offset]]] {
       override def get(): CompletionStage[Optional[Offset]] = 
offset().map(_.toJava)(ec).asJava
     }
diff --git 
a/core/src/main/scala/org/apache/pekko/projection/internal/Telemetry.scala 
b/core/src/main/scala/org/apache/pekko/projection/internal/Telemetry.scala
index c5a09f8..cd29dfe 100644
--- a/core/src/main/scala/org/apache/pekko/projection/internal/Telemetry.scala
+++ b/core/src/main/scala/org/apache/pekko/projection/internal/Telemetry.scala
@@ -16,6 +16,7 @@ package org.apache.pekko.projection.internal
 import java.util
 
 import scala.collection.immutable
+import scala.jdk.CollectionConverters._
 
 import org.apache.pekko
 import pekko.NotUsed
@@ -23,7 +24,6 @@ import pekko.actor.typed.ActorSystem
 import pekko.annotation.InternalApi
 import pekko.annotation.InternalStableApi
 import pekko.projection.ProjectionId
-import pekko.util.ccompat.JavaConverters._
 
 /**
  * Service Provider Interface (SPI) for collecting metrics from projections.
diff --git 
a/core/src/main/scala/org/apache/pekko/projection/javadsl/ProjectionManagement.scala
 
b/core/src/main/scala/org/apache/pekko/projection/javadsl/ProjectionManagement.scala
index 1edd6a5..5516338 100644
--- 
a/core/src/main/scala/org/apache/pekko/projection/javadsl/ProjectionManagement.scala
+++ 
b/core/src/main/scala/org/apache/pekko/projection/javadsl/ProjectionManagement.scala
@@ -17,6 +17,8 @@ import java.util.Optional
 import java.util.concurrent.CompletionStage
 
 import scala.concurrent.ExecutionContext
+import scala.jdk.FutureConverters._
+import scala.jdk.OptionConverters._
 
 import org.apache.pekko
 import pekko.Done
@@ -24,8 +26,6 @@ import pekko.actor.typed.ActorSystem
 import pekko.annotation.ApiMayChange
 import pekko.projection.ProjectionId
 import pekko.projection.scaladsl
-import pekko.util.FutureConverters._
-import pekko.util.OptionConverters._
 
 @ApiMayChange object ProjectionManagement {
   def get(system: ActorSystem[_]): ProjectionManagement = new 
ProjectionManagement(system)
diff --git 
a/durable-state/src/main/scala/org/apache/pekko/projection/state/javadsl/DurableStateSourceProvider.scala
 
b/durable-state/src/main/scala/org/apache/pekko/projection/state/javadsl/DurableStateSourceProvider.scala
index 1090e03..d2b2030 100644
--- 
a/durable-state/src/main/scala/org/apache/pekko/projection/state/javadsl/DurableStateSourceProvider.scala
+++ 
b/durable-state/src/main/scala/org/apache/pekko/projection/state/javadsl/DurableStateSourceProvider.scala
@@ -19,6 +19,7 @@ import java.util.function.Supplier
 
 import scala.concurrent.ExecutionContext
 import scala.concurrent.Future
+import scala.jdk.FutureConverters._
 
 import org.apache.pekko
 import pekko.NotUsed
@@ -39,7 +40,6 @@ import pekko.projection.BySlicesSourceProvider
 import pekko.projection.javadsl
 import pekko.projection.javadsl.SourceProvider
 import pekko.stream.javadsl.Source
-import pekko.util.FutureConverters._
 
 /**
  * API may change
diff --git 
a/eventsourced/src/main/scala/org/apache/pekko/projection/eventsourced/javadsl/EventSourcedProvider.scala
 
b/eventsourced/src/main/scala/org/apache/pekko/projection/eventsourced/javadsl/EventSourcedProvider.scala
index bd864ef..35b0727 100644
--- 
a/eventsourced/src/main/scala/org/apache/pekko/projection/eventsourced/javadsl/EventSourcedProvider.scala
+++ 
b/eventsourced/src/main/scala/org/apache/pekko/projection/eventsourced/javadsl/EventSourcedProvider.scala
@@ -21,6 +21,8 @@ import java.util.function.Supplier
 
 import scala.concurrent.ExecutionContext
 import scala.concurrent.Future
+import scala.jdk.FutureConverters._
+
 import com.typesafe.config.Config
 import org.apache.pekko
 import pekko.NotUsed
@@ -40,7 +42,6 @@ import pekko.projection.eventsourced.EventEnvelope
 import pekko.projection.javadsl
 import pekko.projection.javadsl.SourceProvider
 import pekko.stream.javadsl.Source
-import pekko.util.FutureConverters._
 
 @ApiMayChange
 object EventSourcedProvider {
diff --git 
a/jdbc/src/main/scala/org/apache/pekko/projection/jdbc/internal/JdbcHandlerAdapter.scala
 
b/jdbc/src/main/scala/org/apache/pekko/projection/jdbc/internal/JdbcHandlerAdapter.scala
index b51528c..e2b2fe1 100644
--- 
a/jdbc/src/main/scala/org/apache/pekko/projection/jdbc/internal/JdbcHandlerAdapter.scala
+++ 
b/jdbc/src/main/scala/org/apache/pekko/projection/jdbc/internal/JdbcHandlerAdapter.scala
@@ -14,12 +14,13 @@
 package org.apache.pekko.projection.jdbc.internal
 
 import scala.collection.immutable
+import scala.jdk.CollectionConverters._
+
 import org.apache.pekko
 import pekko.annotation.InternalApi
 import pekko.projection.jdbc.JdbcSession
 import pekko.projection.jdbc.javadsl
 import pekko.projection.jdbc.scaladsl
-import pekko.util.ccompat.JavaConverters._
 
 /**
  * INTERNAL API: Adapter from javadsl.JdbcHandler to scaladsl.JdbcHandler
diff --git 
a/jdbc/src/main/scala/org/apache/pekko/projection/jdbc/javadsl/JdbcProjection.scala
 
b/jdbc/src/main/scala/org/apache/pekko/projection/jdbc/javadsl/JdbcProjection.scala
index 1954934..b0ef72d 100644
--- 
a/jdbc/src/main/scala/org/apache/pekko/projection/jdbc/javadsl/JdbcProjection.scala
+++ 
b/jdbc/src/main/scala/org/apache/pekko/projection/jdbc/javadsl/JdbcProjection.scala
@@ -16,6 +16,8 @@ package org.apache.pekko.projection.jdbc.javadsl
 import java.util.concurrent.CompletionStage
 import java.util.function.Supplier
 
+import scala.jdk.FutureConverters._
+
 import org.apache.pekko
 import pekko.Done
 import pekko.actor.typed.ActorSystem
@@ -42,7 +44,6 @@ import 
pekko.projection.jdbc.internal.GroupedJdbcHandlerAdapter
 import pekko.projection.jdbc.internal.JdbcHandlerAdapter
 import pekko.projection.jdbc.internal.JdbcProjectionImpl
 import pekko.stream.javadsl.FlowWithContext
-import pekko.util.FutureConverters._
 
 @ApiMayChange
 object JdbcProjection {
diff --git 
a/kafka/src/main/scala/org/apache/pekko/projection/kafka/internal/KafkaSourceProviderImpl.scala
 
b/kafka/src/main/scala/org/apache/pekko/projection/kafka/internal/KafkaSourceProviderImpl.scala
index d480b38..a8df929 100644
--- 
a/kafka/src/main/scala/org/apache/pekko/projection/kafka/internal/KafkaSourceProviderImpl.scala
+++ 
b/kafka/src/main/scala/org/apache/pekko/projection/kafka/internal/KafkaSourceProviderImpl.scala
@@ -20,6 +20,8 @@ import java.util.function.Supplier
 
 import scala.concurrent.ExecutionContext
 import scala.concurrent.Future
+import scala.jdk.FutureConverters._
+import scala.jdk.OptionConverters._
 
 import org.apache.pekko
 import pekko.NotUsed
@@ -40,8 +42,6 @@ import pekko.projection.kafka.KafkaOffsets.keyToPartition
 import pekko.projection.scaladsl
 import pekko.stream.scaladsl.Keep
 import pekko.stream.scaladsl.Source
-import pekko.util.FutureConverters._
-import pekko.util.OptionConverters._
 import org.apache.kafka.clients.consumer.ConsumerRecord
 import org.apache.kafka.common.TopicPartition
 import org.apache.kafka.common.record.TimestampType
diff --git 
a/kafka/src/main/scala/org/apache/pekko/projection/kafka/javadsl/KafkaSourceProvider.scala
 
b/kafka/src/main/scala/org/apache/pekko/projection/kafka/javadsl/KafkaSourceProvider.scala
index 1cbc10c..46067aa 100644
--- 
a/kafka/src/main/scala/org/apache/pekko/projection/kafka/javadsl/KafkaSourceProvider.scala
+++ 
b/kafka/src/main/scala/org/apache/pekko/projection/kafka/javadsl/KafkaSourceProvider.scala
@@ -36,7 +36,7 @@ object KafkaSourceProvider {
       system: ActorSystem[_],
       settings: ConsumerSettings[K, V],
       topics: java.util.Set[String]): SourceProvider[MergeableOffset[JLong], 
ConsumerRecord[K, V]] = {
-    import pekko.util.ccompat.JavaConverters._
+    import scala.jdk.CollectionConverters._
     new KafkaSourceProviderImpl[K, V](
       system,
       settings,
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index d4f138c..fda4424 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -15,9 +15,8 @@ import sbt._
 object Dependencies {
 
   val Scala213 = "2.13.16"
-  val Scala212 = "2.12.20"
   val Scala3 = "3.3.6"
-  val ScalaVersions = Seq(Scala213, Scala212, Scala3)
+  val ScalaVersions = Seq(Scala213, Scala3)
 
   val PekkoVersionInDocs = PekkoCoreDependency.default.link
   val ConnectorsVersionInDocs = PekkoConnectorsDependency.default.link
diff --git a/project/project-info.conf b/project/project-info.conf
index d6edb41..77dbef1 100644
--- a/project/project-info.conf
+++ b/project/project-info.conf
@@ -2,7 +2,7 @@
 
 project-info {
   version: "current"
-  scala-versions: ["2.12", "2.13", "3"]
+  scala-versions: ["2.13", "3"]
   shared-info {
     jdk-versions: ["OpenJDK 8", "OpenJDK 11", "OpenJDK 17"]
     snapshots: {
diff --git 
a/slick/src/main/scala/org/apache/pekko/projection/slick/internal/SlickOffsetStore.scala
 
b/slick/src/main/scala/org/apache/pekko/projection/slick/internal/SlickOffsetStore.scala
index b61d1be..269f746 100644
--- 
a/slick/src/main/scala/org/apache/pekko/projection/slick/internal/SlickOffsetStore.scala
+++ 
b/slick/src/main/scala/org/apache/pekko/projection/slick/internal/SlickOffsetStore.scala
@@ -15,14 +15,12 @@ package org.apache.pekko.projection.slick.internal
 
 import java.time.Clock
 
-import scala.concurrent.ExecutionContext
-import scala.concurrent.Future
+import scala.concurrent.{ ExecutionContext, Future }
 
 import org.apache.pekko
 import pekko.Done
 import pekko.actor.typed.ActorSystem
 import pekko.annotation.InternalApi
-import pekko.dispatch.ExecutionContexts
 import pekko.projection.MergeableOffset
 import pekko.projection.ProjectionId
 import pekko.projection.internal.ManagementState
@@ -181,7 +179,7 @@ import slick.jdbc.JdbcProfile
         })
     }
     databaseConfig.db.run(DBIO.seq(prepareSchemaDBIO, 
prepareManagementSchemaDBIO))
-      .map(_ => Done)(ExecutionContexts.parasitic)
+      .map(_ => Done)(ExecutionContext.parasitic)
   }
 
   def dropIfExists(): Future[Done] = {
@@ -198,7 +196,7 @@ import slick.jdbc.JdbcProfile
       }
     }
     databaseConfig.db.run(DBIO.seq(prepareSchemaDBIO, 
prepareManagementSchemaDBIO))
-      .map(_ => Done)(ExecutionContexts.parasitic)
+      .map(_ => Done)(ExecutionContext.parasitic)
   }
 
   def readManagementState(projectionId: ProjectionId)(
@@ -219,6 +217,6 @@ import slick.jdbc.JdbcProfile
     val action =
       managementTable.insertOrUpdate(ManagementStateRow(projectionId.name, 
projectionId.key, paused, millisSinceEpoch))
 
-    databaseConfig.db.run(action).map(_ => Done)(ExecutionContexts.parasitic)
+    databaseConfig.db.run(action).map(_ => Done)(ExecutionContext.parasitic)
   }
 }
diff --git 
a/testkit/src/main/scala/org/apache/pekko/projection/testkit/internal/TestOffsetStoreAdapter.scala
 
b/testkit/src/main/scala/org/apache/pekko/projection/testkit/internal/TestOffsetStoreAdapter.scala
index ad0b44e..dcf2ae8 100644
--- 
a/testkit/src/main/scala/org/apache/pekko/projection/testkit/internal/TestOffsetStoreAdapter.scala
+++ 
b/testkit/src/main/scala/org/apache/pekko/projection/testkit/internal/TestOffsetStoreAdapter.scala
@@ -13,7 +13,10 @@
 
 package org.apache.pekko.projection.testkit.internal
 
-import scala.concurrent.Future
+import scala.concurrent.{ ExecutionContext, Future }
+import scala.jdk.CollectionConverters._
+import scala.jdk.FutureConverters._
+import scala.jdk.OptionConverters._
 
 import org.apache.pekko
 import pekko.Done
@@ -21,9 +24,6 @@ import pekko.annotation.InternalApi
 import pekko.projection.ProjectionId
 import pekko.projection.internal.ManagementState
 import pekko.projection.testkit.scaladsl.TestOffsetStore
-import pekko.util.ccompat.JavaConverters._
-import pekko.util.OptionConverters._
-import pekko.util.FutureConverters._
 
 @InternalApi private[projection] class TestOffsetStoreAdapter[Offset](
     delegate: pekko.projection.testkit.javadsl.TestOffsetStore[Offset])
@@ -34,7 +34,7 @@ import pekko.util.FutureConverters._
   override def allOffsets(): List[(ProjectionId, Offset)] = 
delegate.allOffsets().asScala.map(_.toScala).toList
 
   override def readOffsets(): Future[Option[Offset]] = {
-    implicit val ec = pekko.dispatch.ExecutionContexts.parasitic
+    implicit val ec = ExecutionContext.parasitic
     delegate.readOffsets().asScala.map(_.toScala)
   }
 
@@ -42,7 +42,7 @@ import pekko.util.FutureConverters._
     delegate.saveOffset(projectionId, offset).asScala
 
   override def readManagementState(projectionId: ProjectionId): 
Future[Option[ManagementState]] = {
-    implicit val ec = pekko.dispatch.ExecutionContexts.parasitic
+    implicit val ec = ExecutionContext.parasitic
     delegate.readManagementState(projectionId).asScala.map(_.toScala)
   }
 
diff --git 
a/testkit/src/main/scala/org/apache/pekko/projection/testkit/internal/TestSourceProviderImpl.scala
 
b/testkit/src/main/scala/org/apache/pekko/projection/testkit/internal/TestSourceProviderImpl.scala
index 3a467a6..5501a73 100644
--- 
a/testkit/src/main/scala/org/apache/pekko/projection/testkit/internal/TestSourceProviderImpl.scala
+++ 
b/testkit/src/main/scala/org/apache/pekko/projection/testkit/internal/TestSourceProviderImpl.scala
@@ -17,7 +17,10 @@ import java.util.Optional
 import java.util.concurrent.CompletionStage
 import java.util.function.Supplier
 
-import scala.concurrent.Future
+import scala.concurrent.{ ExecutionContext, Future }
+import scala.jdk.FunctionConverters._
+import scala.jdk.FutureConverters._
+import scala.jdk.OptionConverters._
 
 import org.apache.pekko
 import pekko.NotUsed
@@ -25,9 +28,6 @@ import pekko.annotation.InternalApi
 import pekko.projection.OffsetVerification
 import pekko.projection.testkit.scaladsl.TestSourceProvider
 import pekko.stream.scaladsl.Source
-import pekko.util.FunctionConverters._
-import pekko.util.FutureConverters._
-import pekko.util.OptionConverters._
 
 /**
  * INTERNAL API
@@ -87,7 +87,7 @@ private[projection] class TestSourceProviderImpl[Offset, 
Envelope] private[proje
   }
 
   override def source(offset: () => Future[Option[Offset]]): 
Future[Source[Envelope, NotUsed]] = {
-    implicit val ec = pekko.dispatch.ExecutionContexts.parasitic
+    implicit val ec = ExecutionContext.parasitic
     val src =
       if (allowCompletion) sourceEvents
       else sourceEvents.concat(Source.maybe)
@@ -99,7 +99,7 @@ private[projection] class TestSourceProviderImpl[Offset, 
Envelope] private[proje
 
   override def source(offset: Supplier[CompletionStage[Optional[Offset]]])
       : CompletionStage[pekko.stream.javadsl.Source[Envelope, NotUsed]] = {
-    implicit val ec = pekko.dispatch.ExecutionContexts.parasitic
+    implicit val ec = ExecutionContext.parasitic
     source(() => offset.get().asScala.map(_.toScala)).map(_.asJava).asJava
   }
 
diff --git 
a/testkit/src/test/java/org/apache/pekko/projection/testkit/javadsl/ProjectionTestKitTest.java
 
b/testkit/src/test/java/org/apache/pekko/projection/testkit/javadsl/ProjectionTestKitTest.java
index 3879431..281c04e 100644
--- 
a/testkit/src/test/java/org/apache/pekko/projection/testkit/javadsl/ProjectionTestKitTest.java
+++ 
b/testkit/src/test/java/org/apache/pekko/projection/testkit/javadsl/ProjectionTestKitTest.java
@@ -39,7 +39,6 @@ import org.apache.pekko.stream.SharedKillSwitch;
 import org.apache.pekko.stream.javadsl.DelayStrategy;
 import org.apache.pekko.stream.javadsl.Sink;
 import org.apache.pekko.stream.javadsl.Source;
-import org.apache.pekko.util.FutureConverters;
 import org.junit.Assert;
 import org.junit.ClassRule;
 import org.junit.ComparisonFailure;
@@ -48,6 +47,7 @@ import org.scalatestplus.junit.JUnitSuite;
 import scala.Option;
 import scala.concurrent.Future;
 import scala.concurrent.duration.FiniteDuration;
+import scala.jdk.javaapi.FutureConverters;
 
 public class ProjectionTestKitTest extends JUnitSuite {
 


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

Reply via email to