This is an automated email from the ASF dual-hosted git repository.
mdedetrich pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-pekko-projection.git
The following commit(s) were added to refs/heads/main by this push:
new b4110d5 Update Scala versions and add 2.12 to CI
b4110d5 is described below
commit b4110d58e601fd9932cf3843ea6c4d65906b65fd
Author: Matthew de Detrich <[email protected]>
AuthorDate: Fri Mar 24 14:09:26 2023 +0100
Update Scala versions and add 2.12 to CI
---
.github/workflows/integration-tests-cassandra.yml | 6 ++++--
.github/workflows/integration-tests-jdbc.yml | 6 ++++--
.github/workflows/integration-tests-kafka.yml | 6 ++++--
.github/workflows/integration-tests-slick.yml | 6 ++++--
.github/workflows/release.yml | 2 +-
.github/workflows/unit-tests.yml | 6 ++++--
core/src/main/scala/akka/projection/ProjectionBehavior.scala | 10 +++++-----
.../akka/projection/internal/InternalProjectionState.scala | 12 ++++++------
project/AkkaDisciplinePlugin.scala | 4 +++-
project/Dependencies.scala | 4 ++--
.../scala/akka/projection/slick/SlickProjectionSpec.scala | 2 +-
11 files changed, 38 insertions(+), 26 deletions(-)
diff --git a/.github/workflows/integration-tests-cassandra.yml
b/.github/workflows/integration-tests-cassandra.yml
index 83793de..9c918dc 100644
--- a/.github/workflows/integration-tests-cassandra.yml
+++ b/.github/workflows/integration-tests-cassandra.yml
@@ -15,8 +15,10 @@ jobs:
fail-fast: false
matrix:
include:
- - { java-version: [email protected], scala-version: 2.13.3, sbt-opts:
'' }
- - { java-version: [email protected], scala-version: 2.13.3, sbt-opts:
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
+ - { java-version: [email protected], scala-version: 2.13.10, sbt-opts:
'' }
+ - { java-version: [email protected], scala-version: 2.13.10, sbt-opts:
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
+ - { java-version: [email protected], scala-version: 2.12.17, sbt-opts:
'' }
+ - { java-version: [email protected], scala-version: 2.12.17, sbt-opts:
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
steps:
- name: Checkout
uses: actions/checkout@v3
diff --git a/.github/workflows/integration-tests-jdbc.yml
b/.github/workflows/integration-tests-jdbc.yml
index ff7bec5..6ca3e28 100644
--- a/.github/workflows/integration-tests-jdbc.yml
+++ b/.github/workflows/integration-tests-jdbc.yml
@@ -15,8 +15,10 @@ jobs:
fail-fast: false
matrix:
include:
- - { java-version: [email protected], scala-version: 2.13.3, sbt-opts:
'' }
- - { java-version: [email protected], scala-version: 2.13.3, sbt-opts:
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
+ - { java-version: [email protected], scala-version: 2.13.10, sbt-opts:
'' }
+ - { java-version: [email protected], scala-version: 2.13.10, sbt-opts:
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
+ - { java-version: [email protected], scala-version: 2.12.17, sbt-opts:
'' }
+ - { java-version: [email protected], scala-version: 2.12.17, sbt-opts:
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
steps:
- name: Checkout
uses: actions/checkout@v3
diff --git a/.github/workflows/integration-tests-kafka.yml
b/.github/workflows/integration-tests-kafka.yml
index b3a65f7..76fb531 100644
--- a/.github/workflows/integration-tests-kafka.yml
+++ b/.github/workflows/integration-tests-kafka.yml
@@ -15,8 +15,10 @@ jobs:
fail-fast: false
matrix:
include:
- - { java-version: [email protected], scala-version: 2.13.3, sbt-opts:
'' }
- - { java-version: [email protected], scala-version: 2.13.3, sbt-opts:
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
+ - { java-version: [email protected], scala-version: 2.13.10, sbt-opts:
'' }
+ - { java-version: [email protected], scala-version: 2.13.10, sbt-opts:
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
+ - { java-version: [email protected], scala-version: 2.12.17, sbt-opts:
'' }
+ - { java-version: [email protected], scala-version: 2.12.17, sbt-opts:
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
steps:
- name: Checkout
uses: actions/checkout@v3
diff --git a/.github/workflows/integration-tests-slick.yml
b/.github/workflows/integration-tests-slick.yml
index 09ec9b7..187ea4e 100644
--- a/.github/workflows/integration-tests-slick.yml
+++ b/.github/workflows/integration-tests-slick.yml
@@ -15,8 +15,10 @@ jobs:
fail-fast: false
matrix:
include:
- - { java-version: [email protected], scala-version: 2.13.3, sbt-opts:
'' }
- - { java-version: [email protected], scala-version: 2.13.3, sbt-opts:
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
+ - { java-version: [email protected], scala-version: 2.13.10, sbt-opts:
'' }
+ - { java-version: [email protected], scala-version: 2.13.10, sbt-opts:
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
+ - { java-version: [email protected], scala-version: 2.12.17, sbt-opts:
'' }
+ - { java-version: [email protected], scala-version: 2.12.17, sbt-opts:
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
steps:
- name: Checkout
uses: actions/checkout@v3
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 0238b89..1162182 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -50,4 +50,4 @@ jobs:
echo $GUSTAV_KEY | base64 -di > .github/id_rsa
chmod 600 .github/id_rsa
ssh-add .github/id_rsa
- sbt "++2.13.3 docs/publishRsync"
+ sbt "++2.13.10 docs/publishRsync"
diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml
index 35ed7ec..276df56 100644
--- a/.github/workflows/unit-tests.yml
+++ b/.github/workflows/unit-tests.yml
@@ -15,8 +15,10 @@ jobs:
fail-fast: false
matrix:
include:
- - { java-version: [email protected], scala-version: 2.13.3, sbt-opts:
'' }
- - { java-version: [email protected], scala-version: 2.13.3, sbt-opts:
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
+ - { java-version: [email protected], scala-version: 2.13.10, sbt-opts:
'' }
+ - { java-version: [email protected], scala-version: 2.13.10, sbt-opts:
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
+ - { java-version: [email protected], scala-version: 2.12.17, sbt-opts:
'' }
+ - { java-version: [email protected], scala-version: 2.12.17, sbt-opts:
'-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' }
steps:
- name: Checkout
uses: actions/checkout@v3
diff --git a/core/src/main/scala/akka/projection/ProjectionBehavior.scala
b/core/src/main/scala/akka/projection/ProjectionBehavior.scala
index 42ca69c..8c6759f 100644
--- a/core/src/main/scala/akka/projection/ProjectionBehavior.scala
+++ b/core/src/main/scala/akka/projection/ProjectionBehavior.scala
@@ -115,9 +115,9 @@ object ProjectionBehavior {
context.pipeToSelf(stoppedFut)(_ => Stopped)
stopping()
- case getOffset: GetOffset[Offset] =>
+ case getOffset: GetOffset[Offset @unchecked] =>
running match {
- case mgmt: RunningProjectionManagement[Offset] =>
+ case mgmt: RunningProjectionManagement[Offset @unchecked] =>
if (getOffset.projectionId == projectionId) {
context.pipeToSelf(mgmt.getOffset()) {
case Success(offset) => GetOffsetResult(offset,
getOffset.replyTo)
@@ -128,12 +128,12 @@ object ProjectionBehavior {
case _ => Behaviors.unhandled
}
- case result: GetOffsetResult[Offset] =>
+ case result: GetOffsetResult[Offset @unchecked] =>
receiveGetOffsetResult(result)
- case setOffset: SetOffset[Offset] =>
+ case setOffset: SetOffset[Offset @unchecked] =>
running match {
- case mgmt: RunningProjectionManagement[Offset] =>
+ case mgmt: RunningProjectionManagement[Offset @unchecked] =>
if (setOffset.projectionId == projectionId) {
context.log.info2(
"Offset will be changed to [{}] for projection [{}]. The
Projection will be restarted.",
diff --git
a/core/src/main/scala/akka/projection/internal/InternalProjectionState.scala
b/core/src/main/scala/akka/projection/internal/InternalProjectionState.scala
index e283f23..1a8c8fb 100644
--- a/core/src/main/scala/akka/projection/internal/InternalProjectionState.scala
+++ b/core/src/main/scala/akka/projection/internal/InternalProjectionState.scala
@@ -136,7 +136,7 @@ private[projection] abstract class
InternalProjectionState[Offset, Envelope](
val atLeastOnceHandlerFlow
: Flow[ProjectionContextImpl[Offset, Envelope],
ProjectionContextImpl[Offset, Envelope], NotUsed] =
handlerStrategy match {
- case single: SingleHandlerStrategy[Envelope] =>
+ case single: SingleHandlerStrategy[Envelope @unchecked] =>
val handler = single.handler()
val handlerRecovery =
HandlerRecoveryImpl[Offset, Envelope](projectionId,
recoveryStrategy, logger, statusObserver, telemetry)
@@ -158,7 +158,7 @@ private[projection] abstract class
InternalProjectionState[Offset, Envelope](
}
- case grouped: GroupedHandlerStrategy[Envelope] =>
+ case grouped: GroupedHandlerStrategy[Envelope @unchecked] =>
val groupAfterEnvelopes =
grouped.afterEnvelopes.getOrElse(settings.groupAfterEnvelopes)
val groupAfterDuration =
grouped.orAfterDuration.getOrElse(settings.groupAfterDuration)
val handler = grouped.handler()
@@ -188,7 +188,7 @@ private[projection] abstract class
InternalProjectionState[Offset, Envelope](
}
}
- case f: FlowHandlerStrategy[Envelope] =>
+ case f: FlowHandlerStrategy[Envelope @unchecked] =>
val flow =
f.flowCtx.asFlow.watchTermination() {
case (_, futDone) =>
@@ -293,7 +293,7 @@ private[projection] abstract class
InternalProjectionState[Offset, Envelope](
}
handlerStrategy match {
- case single: SingleHandlerStrategy[Envelope] =>
+ case single: SingleHandlerStrategy[Envelope @unchecked] =>
val handler: Handler[Envelope] = single.handler()
source
.mapAsync(1) { context =>
@@ -325,7 +325,7 @@ private[projection] abstract class
InternalProjectionState[Offset, Envelope](
}
- case grouped: GroupedHandlerStrategy[Envelope] =>
+ case grouped: GroupedHandlerStrategy[Envelope @unchecked] =>
val groupAfterEnvelopes =
grouped.afterEnvelopes.getOrElse(settings.groupAfterEnvelopes)
val groupAfterDuration =
grouped.orAfterDuration.getOrElse(settings.groupAfterDuration)
val handler = grouped.handler()
@@ -361,7 +361,7 @@ private[projection] abstract class
InternalProjectionState[Offset, Envelope](
HandlerRecoveryImpl[Offset, Envelope](projectionId, recoveryStrategy,
logger, statusObserver, telemetry)
handlerStrategy match {
- case single: SingleHandlerStrategy[Envelope] =>
+ case single: SingleHandlerStrategy[Envelope @unchecked] =>
val handler = single.handler()
source
.mapAsync(parallelism = 1) { context =>
diff --git a/project/AkkaDisciplinePlugin.scala
b/project/AkkaDisciplinePlugin.scala
index ad69cdd..bac4937 100644
--- a/project/AkkaDisciplinePlugin.scala
+++ b/project/AkkaDisciplinePlugin.scala
@@ -35,8 +35,10 @@ object AkkaDisciplinePlugin extends AutoPlugin {
"-Ywarn-infer-any",
"-Ywarn-nullary-override",
"-Ywarn-nullary-unit",
+ "-Ywarn-unused:_",
"-Ypartial-unification",
- "-Yno-adapted-args")
+ "-Yno-adapted-args") ++ Set(
+ "-Xlint:-strict-unsealed-patmat")
case Some((2, 12)) =>
disciplineScalacOptions
case _ =>
diff --git a/project/Dependencies.scala b/project/Dependencies.scala
index 93c7ebf..e30c1fe 100644
--- a/project/Dependencies.scala
+++ b/project/Dependencies.scala
@@ -5,8 +5,8 @@ import sbt._
object Dependencies {
- val Scala213 = "2.13.3"
- val Scala212 = "2.12.16"
+ val Scala213 = "2.13.10"
+ val Scala212 = "2.12.17"
val ScalaVersions = Seq(Scala213, Scala212)
val AkkaVersionInDocs = "2.6.16"
diff --git
a/slick/src/test/scala/akka/projection/slick/SlickProjectionSpec.scala
b/slick/src/test/scala/akka/projection/slick/SlickProjectionSpec.scala
index d197269..09363fa 100644
--- a/slick/src/test/scala/akka/projection/slick/SlickProjectionSpec.scala
+++ b/slick/src/test/scala/akka/projection/slick/SlickProjectionSpec.scala
@@ -583,7 +583,7 @@ class SlickProjectionSpec
fail(s"Envelope has already been verified at least twice
for offset $o")
case Some(state) if state.envReceived =>
acc + (o -> state.copy(verifyCount = state.verifyCount +
1))
- case None => acc + (o -> VerifyState(1, false))
+ case Some(_) | None => acc + (o -> VerifyState(1, false))
}
case e: Envelope =>
val o = e.offset
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]