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-persistence-dynamodb.git
The following commit(s) were added to refs/heads/main by this push:
new 43b08c5 set up 2.0.0 build (#234)
43b08c5 is described below
commit 43b08c55204188127b3f5b5f17a8a94e69d3e72e
Author: PJ Fanning <[email protected]>
AuthorDate: Thu Sep 25 09:41:20 2025 +0100
set up 2.0.0 build (#234)
* use scala converter
* drop scala 2.12 and java up to 17
* java 17
* Update .scala-steward.conf
---
.github/workflows/check-build-test.yml | 11 ++++-------
.github/workflows/headers.yml | 4 ++--
.github/workflows/publish-nightly.yml | 4 ++--
.scala-steward.conf | 4 ----
README.md | 4 ++--
build.sbt | 2 +-
.../apache/pekko/persistence/dynamodb/DynamoDBRequests.scala | 2 +-
.../pekko/persistence/dynamodb/journal/DynamoDBHelper.scala | 4 ++--
.../pekko/persistence/dynamodb/journal/DynamoDBJournal.scala | 5 ++---
.../dynamodb/journal/DynamoDBJournalRequests.scala | 7 +++----
.../pekko/persistence/dynamodb/journal/DynamoDBRecovery.scala | 2 +-
.../scala/org/apache/pekko/persistence/dynamodb/package.scala | 5 ++---
.../internal/DynamoDBCurrentPersistenceIdsQuery.scala | 2 +-
.../dynamodb/snapshot/DynamoDBSnapshotRequests.scala | 2 +-
.../pekko/persistence/dynamodb/journal/DynamoDBUtils.scala | 2 +-
.../persistence/dynamodb/journal/FailureReportingSpec.scala | 2 +-
.../pekko/persistence/dynamodb/snapshot/DynamoDBUtils.scala | 2 +-
17 files changed, 27 insertions(+), 37 deletions(-)
diff --git a/.github/workflows/check-build-test.yml
b/.github/workflows/check-build-test.yml
index 548a32d..ab39aee 100644
--- a/.github/workflows/check-build-test.yml
+++ b/.github/workflows/check-build-test.yml
@@ -27,11 +27,11 @@ jobs:
git fetch origin pull/${{ github.event.pull_request.number
}}/merge:scratch
git checkout scratch
- - name: Setup Java 11
+ - name: Setup Java 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 #
v4.7.1
with:
distribution: temurin
- java-version: 11
+ java-version: 17
- name: Install sbt
uses: sbt/setup-sbt@6c68d2fe8dfbc0a0534d70101baa2e0420e1a506 # v1.1.9
@@ -50,11 +50,8 @@ 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: '' }
- - { java-version: 11, scala-version: 2.12, sbt-opts:
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
- - { java-version: 11, scala-version: 2.13, sbt-opts:
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
+ - { java-version: 17, scala-version: 2.13, sbt-opts: '' }
+ - { java-version: 17, scala-version: 3.3, sbt-opts: '' }
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #
v4.2.2
diff --git a/.github/workflows/headers.yml b/.github/workflows/headers.yml
index 1e20d4e..9ad41db 100644
--- a/.github/workflows/headers.yml
+++ b/.github/workflows/headers.yml
@@ -13,11 +13,11 @@ jobs:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #
v4.2.2
- - name: Setup Java 11
+ - name: Setup Java 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 #
v4.7.1
with:
distribution: temurin
- java-version: 11
+ java-version: 17
- name: Install sbt
uses: sbt/setup-sbt@6c68d2fe8dfbc0a0534d70101baa2e0420e1a506 # v1.1.9
diff --git a/.github/workflows/publish-nightly.yml
b/.github/workflows/publish-nightly.yml
index 0d40ab5..083b535 100644
--- a/.github/workflows/publish-nightly.yml
+++ b/.github/workflows/publish-nightly.yml
@@ -37,11 +37,11 @@ jobs:
fetch-depth: 0
fetch-tags: true
- - name: Setup Java 8
+ - name: Setup Java 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 #
v4.7.1
with:
distribution: temurin
- java-version: 8
+ java-version: 17
- name: Install sbt
uses: sbt/setup-sbt@6c68d2fe8dfbc0a0534d70101baa2e0420e1a506 # v1.1.9
diff --git a/.scala-steward.conf b/.scala-steward.conf
index 8f5895c..440df0c 100644
--- a/.scala-steward.conf
+++ b/.scala-steward.conf
@@ -2,10 +2,6 @@ updates.ignore = [
]
updates.pin = [
- # Pin sbt-paradox to v0.9.x because 0.10.x needs JDK 11
- { groupId = "com.lightbend.paradox", artifactId =
"sbt-paradox-project-info", version = "0.9." },
- { groupId = "com.lightbend.paradox", artifactId = "sbt-paradox", version =
"0.9." }
-
# Scala 3.3 is a LTS
{ groupId = "org.scala-lang", artifactId = "scala3-library", version =
"3.3." }
]
diff --git a/README.md b/README.md
index 235c22f..d17071a 100644
--- a/README.md
+++ b/README.md
@@ -7,9 +7,9 @@ A replicated Pekko Persistence journal backed by
- This includes a Pekko Persistence Query plugin. However, this requires an
additional GSI for efficient usage.
Supported versions:
-- Scala: `2.12.x`, `2.13.x`, `3.3.0+`
+- Scala: `2.13.x`, `3.3.0+`
- Pekko: `1.0.x+`
-- Java: `1.8+`
+- Java: `17+`
[](https://github.com/apache/pekko-persistence-dynamodb/actions)
diff --git a/build.sbt b/build.sbt
index dbf4fd1..4773550 100644
--- a/build.sbt
+++ b/build.sbt
@@ -41,7 +41,7 @@ lazy val root = Project(
.settings(
name := "pekko-persistence-dynamodb",
scalaVersion := "2.13.16",
- crossScalaVersions := Seq("2.12.20", "2.13.16", "3.3.6"),
+ crossScalaVersions := Seq("2.13.16", "3.3.6"),
crossVersion := CrossVersion.binary,
libraryDependencies ++= Seq(
"com.amazonaws" % "aws-java-sdk-core" % amzVersion,
diff --git
a/src/main/scala/org/apache/pekko/persistence/dynamodb/DynamoDBRequests.scala
b/src/main/scala/org/apache/pekko/persistence/dynamodb/DynamoDBRequests.scala
index 4217ee9..c8ecd44 100644
---
a/src/main/scala/org/apache/pekko/persistence/dynamodb/DynamoDBRequests.scala
+++
b/src/main/scala/org/apache/pekko/persistence/dynamodb/DynamoDBRequests.scala
@@ -21,10 +21,10 @@ import pekko.Done
import pekko.actor.{ Actor, ActorLogging }
import pekko.pattern.after
import pekko.persistence.dynamodb.journal.DynamoDBHelper
-import pekko.util.ccompat.JavaConverters._
import scala.concurrent.Future
import scala.concurrent.duration._
+import scala.jdk.CollectionConverters._
import scala.util.control.NonFatal
private[dynamodb] trait DynamoDBRequests {
diff --git
a/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBHelper.scala
b/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBHelper.scala
index e48e2b0..2be5bb3 100644
---
a/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBHelper.scala
+++
b/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBHelper.scala
@@ -19,16 +19,16 @@ import
com.amazonaws.services.dynamodbv2.AmazonDynamoDBAsyncClient
import com.amazonaws.services.dynamodbv2.model._
import org.apache.pekko
import pekko.actor.{ ActorRef, Scheduler }
+import pekko.annotation.InternalApi
import pekko.event.LoggingAdapter
import pekko.pattern.after
import pekko.persistence.dynamodb.{ DynamoDBConfig, Item }
-import pekko.util.ccompat.JavaConverters._
-import pekko.annotation.InternalApi
import java.util.{ concurrent => juc }
import scala.concurrent.{ ExecutionContext, Future, Promise }
import scala.concurrent.duration._
+import scala.jdk.CollectionConverters._
case class LatencyReport(nanos: Long, retries: Int)
private class RetryStateHolder(var retries: Int = 10, var backoff:
FiniteDuration = 1.millis)
diff --git
a/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBJournal.scala
b/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBJournal.scala
index c62877c..51f000d 100644
---
a/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBJournal.scala
+++
b/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBJournal.scala
@@ -16,7 +16,6 @@ package org.apache.pekko.persistence.dynamodb.journal
import java.util.{ HashMap => JHMap, Map => JMap }
import org.apache.pekko.Done
import org.apache.pekko.actor.{ ActorLogging, ActorRef, ExtendedActorSystem }
-import org.apache.pekko.dispatch.ExecutionContexts
import org.apache.pekko.pattern.pipe
import org.apache.pekko.persistence.journal.AsyncWriteJournal
import org.apache.pekko.persistence.{ AtomicWrite, Persistence }
@@ -27,7 +26,7 @@ import com.amazonaws.services.dynamodbv2.model._
import com.typesafe.config.Config
import scala.collection.immutable
-import scala.concurrent.{ Future, Promise }
+import scala.concurrent.{ ExecutionContext, Future, Promise }
import scala.util.{ Success, Try }
class DynamoDBJournalFailure(message: String, cause: Throwable = null) extends
RuntimeException(message, cause)
@@ -118,7 +117,7 @@ class DynamoDBJournal(config: Config)
f.onComplete { _ =>
self ! OpFinished(pid, p.future)
p.success(Done)
- }(ExecutionContexts.parasitic)
+ }(ExecutionContext.parasitic)
f
}
diff --git
a/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBJournalRequests.scala
b/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBJournalRequests.scala
index 7175f2b..bf47015 100644
---
a/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBJournalRequests.scala
+++
b/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBJournalRequests.scala
@@ -15,8 +15,9 @@ package org.apache.pekko.persistence.dynamodb.journal
import java.nio.ByteBuffer
import java.util.Collections
-import scala.concurrent.Future
+import scala.concurrent.{ ExecutionContext, Future }
import scala.concurrent.duration._
+import scala.jdk.CollectionConverters._
import scala.util.{ Failure, Success, Try }
import scala.util.control.NonFatal
@@ -24,12 +25,10 @@ import com.amazonaws.services.dynamodbv2.model._
import org.apache.pekko
import pekko.Done
import pekko.actor.ExtendedActorSystem
-import pekko.dispatch.ExecutionContexts
import pekko.pattern.after
import pekko.persistence.{ AtomicWrite, PersistentRepr }
import pekko.persistence.dynamodb._
import pekko.serialization.{ AsyncSerializer, Serialization, Serializers }
-import pekko.util.ccompat.JavaConverters._
trait DynamoDBJournalRequests extends DynamoDBRequests {
this: DynamoDBJournal =>
@@ -47,7 +46,7 @@ trait DynamoDBJournalRequests extends DynamoDBRequests {
// optimize the common case
if (writes.size == 1) {
writeMessages(writes.head)
- .map(bubbleUpFailures(_) :: Nil)(ExecutionContexts.parasitic)
+ .map(bubbleUpFailures(_) :: Nil)(ExecutionContext.parasitic)
} else {
def rec(todo: List[AtomicWrite], acc: List[Try[Unit]]):
Future[List[Try[Unit]]] =
todo match {
diff --git
a/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBRecovery.scala
b/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBRecovery.scala
index f80d88a..36bf176 100644
---
a/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBRecovery.scala
+++
b/src/main/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBRecovery.scala
@@ -23,13 +23,13 @@ import pekko.serialization.{ AsyncSerializer, Serialization
}
import pekko.stream._
import pekko.stream.scaladsl._
import pekko.stream.stage._
-import pekko.util.ccompat.JavaConverters._
import com.amazonaws.services.dynamodbv2.model._
import java.util.function.Consumer
import java.util.{ ArrayList, Collections, Map => JMap }
import scala.collection.immutable
import scala.concurrent.Future
+import scala.jdk.CollectionConverters._
object DynamoDBRecovery {
val ItemAttributesForReplay: Seq[String] = Seq(
diff --git a/src/main/scala/org/apache/pekko/persistence/dynamodb/package.scala
b/src/main/scala/org/apache/pekko/persistence/dynamodb/package.scala
index f705a3a..e1f4bc6 100644
--- a/src/main/scala/org/apache/pekko/persistence/dynamodb/package.scala
+++ b/src/main/scala/org/apache/pekko/persistence/dynamodb/package.scala
@@ -16,7 +16,6 @@ package org.apache.pekko.persistence
import java.nio.ByteBuffer
import java.util.concurrent.Executors
import org.apache.pekko.actor.{ ActorSystem, Scheduler }
-import org.apache.pekko.dispatch.ExecutionContexts
import org.apache.pekko.event.{ Logging, LoggingAdapter }
import org.apache.pekko.persistence.dynamodb.journal.DynamoDBHelper
import com.amazonaws.auth.BasicAWSCredentials
@@ -42,7 +41,7 @@ package object dynamodb {
def lift[T](f: Future[T]): Future[Try[T]] = {
val p = Promise[Try[T]]()
- f.onComplete(p.success)(ExecutionContexts.parasitic)
+ f.onComplete(p.success)(ExecutionContext.parasitic)
p.future
}
@@ -51,7 +50,7 @@ package object dynamodb {
f.onComplete {
case Success(_) => p.success(Success(()))
case f @ Failure(_) => p.success(f.asInstanceOf[Failure[Unit]])
- }(ExecutionContexts.parasitic)
+ }(ExecutionContext.parasitic)
p.future
}
diff --git
a/src/main/scala/org/apache/pekko/persistence/dynamodb/query/scaladsl/internal/DynamoDBCurrentPersistenceIdsQuery.scala
b/src/main/scala/org/apache/pekko/persistence/dynamodb/query/scaladsl/internal/DynamoDBCurrentPersistenceIdsQuery.scala
index 5920da0..d934b6d 100644
---
a/src/main/scala/org/apache/pekko/persistence/dynamodb/query/scaladsl/internal/DynamoDBCurrentPersistenceIdsQuery.scala
+++
b/src/main/scala/org/apache/pekko/persistence/dynamodb/query/scaladsl/internal/DynamoDBCurrentPersistenceIdsQuery.scala
@@ -24,11 +24,11 @@ import
org.apache.pekko.persistence.dynamodb.query.scaladsl.{
import org.apache.pekko.persistence.dynamodb.query.{
ReadJournalSettingsProvider, RichOption }
import org.apache.pekko.persistence.dynamodb.{ ActorSystemProvider,
DynamoProvider, LoggingProvider }
import org.apache.pekko.stream.scaladsl.Source
-import org.apache.pekko.util.ccompat.JavaConverters._
import com.amazonaws.services.dynamodbv2.model._
import java.util
import scala.concurrent.Future
+import scala.jdk.CollectionConverters._
import scala.util.control.NonFatal
trait DynamoDBCurrentPersistenceIdsQuery extends
PublicDynamoDBCurrentPersistenceIdsQuery {
diff --git
a/src/main/scala/org/apache/pekko/persistence/dynamodb/snapshot/DynamoDBSnapshotRequests.scala
b/src/main/scala/org/apache/pekko/persistence/dynamodb/snapshot/DynamoDBSnapshotRequests.scala
index ae0a035..8366f11 100644
---
a/src/main/scala/org/apache/pekko/persistence/dynamodb/snapshot/DynamoDBSnapshotRequests.scala
+++
b/src/main/scala/org/apache/pekko/persistence/dynamodb/snapshot/DynamoDBSnapshotRequests.scala
@@ -21,10 +21,10 @@ import pekko.persistence.dynamodb._
import pekko.persistence.{ SelectedSnapshot, SnapshotMetadata,
SnapshotSelectionCriteria }
import pekko.persistence.serialization.Snapshot
import pekko.serialization.{ AsyncSerializer, Serialization, Serializers }
-import pekko.util.ccompat.JavaConverters._
import java.util.{ HashMap => JHMap }
import scala.concurrent.Future
+import scala.jdk.CollectionConverters._
trait DynamoDBSnapshotRequests extends DynamoDBRequests {
this: DynamoDBSnapshotStore =>
diff --git
a/src/test/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBUtils.scala
b/src/test/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBUtils.scala
index 327eb0e..21d004f 100644
---
a/src/test/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBUtils.scala
+++
b/src/test/scala/org/apache/pekko/persistence/dynamodb/journal/DynamoDBUtils.scala
@@ -19,11 +19,11 @@ import pekko.actor.ActorSystem
import pekko.persistence.PersistentRepr
import pekko.persistence.dynamodb._
import pekko.util.Timeout
-import pekko.util.ccompat.JavaConverters._
import java.util.UUID
import scala.concurrent.{ Await, Future }
import scala.concurrent.duration._
+import scala.jdk.CollectionConverters._
trait DynamoDBUtils extends JournalSettingsProvider with DynamoProvider {
diff --git
a/src/test/scala/org/apache/pekko/persistence/dynamodb/journal/FailureReportingSpec.scala
b/src/test/scala/org/apache/pekko/persistence/dynamodb/journal/FailureReportingSpec.scala
index 1f7bb7e..210b602 100644
---
a/src/test/scala/org/apache/pekko/persistence/dynamodb/journal/FailureReportingSpec.scala
+++
b/src/test/scala/org/apache/pekko/persistence/dynamodb/journal/FailureReportingSpec.scala
@@ -20,7 +20,6 @@ import pekko.persistence.JournalProtocol._
import pekko.persistence._
import pekko.persistence.dynamodb._
import pekko.testkit._
-import pekko.util.ccompat.JavaConverters._
import com.amazonaws.services.dynamodbv2.model._
import com.typesafe.config.ConfigFactory
import org.scalactic.TypeCheckedTripleEquals
@@ -30,6 +29,7 @@ import org.scalatest.matchers.should.Matchers
import org.scalatest.wordspec.AnyWordSpecLike
import scala.concurrent.duration._
+import scala.jdk.CollectionConverters._
class FailureReportingSpec
extends TestKit(ActorSystem("FailureReportingSpec"))
diff --git
a/src/test/scala/org/apache/pekko/persistence/dynamodb/snapshot/DynamoDBUtils.scala
b/src/test/scala/org/apache/pekko/persistence/dynamodb/snapshot/DynamoDBUtils.scala
index 89666db..4689af7 100644
---
a/src/test/scala/org/apache/pekko/persistence/dynamodb/snapshot/DynamoDBUtils.scala
+++
b/src/test/scala/org/apache/pekko/persistence/dynamodb/snapshot/DynamoDBUtils.scala
@@ -19,11 +19,11 @@ import pekko.persistence.dynamodb.dynamoClient
import pekko.persistence.dynamodb.journal.DynamoDBHelper
import pekko.actor.ActorSystem
import pekko.util.Timeout
-import pekko.util.ccompat.JavaConverters._
import java.util.UUID
import scala.concurrent.duration._
import scala.concurrent.{ Await, ExecutionContext, Future }
+import scala.jdk.CollectionConverters._
trait DynamoDBUtils {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]