You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pekko.apache.org by he...@apache.org on 2026/06/16 04:03:46 UTC

(pekko-persistence-r2dbc) branch fix/resolve-compiler-warnings created (now e28786e)

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

He-Pin pushed a change to branch fix/resolve-compiler-warnings
in repository https://gitbox.apache.org/repos/asf/pekko-persistence-r2dbc.git


      at e28786e  fix: resolve all compiler warnings

This branch includes the following new commits:

     new e28786e  fix: resolve all compiler warnings

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org


(pekko-persistence-r2dbc) 01/01: fix: resolve all compiler warnings

Posted by he...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

He-Pin pushed a commit to branch fix/resolve-compiler-warnings
in repository https://gitbox.apache.org/repos/asf/pekko-persistence-r2dbc.git

commit e28786e81f0dee24a2c2abdeca3d90abc2693342
Author: 虎鸣 <he...@alibaba-inc.com>
AuthorDate: Tue Jun 16 12:03:31 2026 +0800

    fix: resolve all compiler warnings
    
    Motivation:
    The project had several compiler warnings that cluttered build output:
    an sbt lint warning about unused previewPath key, an existential type
    feature warning in ConnectionFactoryProvider, a deprecation warning in
    the Java DSL R2dbcDurableStateStore, and an annotation parsing warning
    from the external r2dbc-spi dependency.
    
    Modification:
    - Add Global / excludeLintKeys += previewPath in build.sbt docs project
      to suppress the sbt lint warning about the unused key
    - Add import scala.language.existentials in ConnectionFactoryProvider.scala
      to suppress the existential type feature warning
    - Change javadsl R2dbcDurableStateStore.deleteObject(persistenceId) to
      delegate to the non-deprecated scalaStore.deleteObject(persistenceId,
      revision = 0) overload instead of the deprecated single-arg method
    - Add -Wconf:msg=could not find MAYBE in enum:s for both Scala 2.13 and
      Scala 3 in CommonSettings.scala to suppress the unfixable r2dbc-spi
      annotation parsing warning
    
    Result:
    Clean compilation with zero warnings under both Scala 2.13 and Scala 3,
    including when compiled with -deprecation and -feature flags.
    
    Tests:
    sbt "clean; compile" - zero warnings
    sbt with -deprecation -feature flags - zero warnings
    
    References:
    None - compiler warning cleanup
---
 build.sbt                                                          | 1 +
 .../apache/pekko/persistence/r2dbc/ConnectionFactoryProvider.scala | 1 +
 .../persistence/r2dbc/state/javadsl/R2dbcDurableStateStore.scala   | 2 +-
 project/CommonSettings.scala                                       | 7 +++++--
 4 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/build.sbt b/build.sbt
index 835ed7b..999340b 100644
--- a/build.sbt
+++ b/build.sbt
@@ -84,6 +84,7 @@ lazy val docs = project
   .settings(
     name := "Apache Pekko Persistence R2DBC",
     libraryDependencies ++= Dependencies.docs,
+    Global / excludeLintKeys += previewPath,
     previewPath := (Paradox / siteSubdirName).value,
     Paradox / siteSubdirName := s"docs/pekko-persistence-r2dbc/${projectInfoVersion.value}",
     pekkoParadoxGithub := Some("https://github.com/apache/pekko-persistence-r2dbc"),
diff --git a/core/src/main/scala/org/apache/pekko/persistence/r2dbc/ConnectionFactoryProvider.scala b/core/src/main/scala/org/apache/pekko/persistence/r2dbc/ConnectionFactoryProvider.scala
index 642922c..4fdef2e 100644
--- a/core/src/main/scala/org/apache/pekko/persistence/r2dbc/ConnectionFactoryProvider.scala
+++ b/core/src/main/scala/org/apache/pekko/persistence/r2dbc/ConnectionFactoryProvider.scala
@@ -19,6 +19,7 @@ import java.util.concurrent.ConcurrentHashMap
 import scala.concurrent.Future
 import scala.concurrent.duration.Duration
 import scala.jdk.CollectionConverters._
+import scala.language.existentials
 import scala.util.Failure
 import scala.util.Success
 
diff --git a/core/src/main/scala/org/apache/pekko/persistence/r2dbc/state/javadsl/R2dbcDurableStateStore.scala b/core/src/main/scala/org/apache/pekko/persistence/r2dbc/state/javadsl/R2dbcDurableStateStore.scala
index d470694..b7c24a7 100644
--- a/core/src/main/scala/org/apache/pekko/persistence/r2dbc/state/javadsl/R2dbcDurableStateStore.scala
+++ b/core/src/main/scala/org/apache/pekko/persistence/r2dbc/state/javadsl/R2dbcDurableStateStore.scala
@@ -52,7 +52,7 @@ class R2dbcDurableStateStore[A](scalaStore: ScalaR2dbcDurableStateStore[A])(impl
     scalaStore.upsertObject(persistenceId, revision, value, tag).asJava
 
   override def deleteObject(persistenceId: String): CompletionStage[Done] =
-    scalaStore.deleteObject(persistenceId).asJava
+    scalaStore.deleteObject(persistenceId, revision = 0).asJava
 
   override def deleteObject(persistenceId: String, revision: Long): CompletionStage[Done] =
     scalaStore.deleteObject(persistenceId, revision).asJava
diff --git a/project/CommonSettings.scala b/project/CommonSettings.scala
index 5722aea..d349db6 100644
--- a/project/CommonSettings.scala
+++ b/project/CommonSettings.scala
@@ -27,8 +27,11 @@ object CommonSettings extends AutoPlugin {
     // Setting javac options in common allows IntelliJ IDEA to import them automatically
     Compile / javacOptions ++= Seq("-encoding", "UTF-8", "--release", "17"),
     scalacOptions ++= {
+      val commonWconf = Seq(
+        // r2dbc-spi annotation parsing warning - external dependency, cannot be fixed
+        "-Wconf:msg=could not find MAYBE in enum:s")
       if (scalaBinaryVersion.value == "3")
-        Seq(
+        commonWconf ++ Seq(
           "-Yfuture-lazy-vals",
           "-release:17",
           "-Wconf:msg=Implicit parameters should be provided with a `using` clause:s",
@@ -38,7 +41,7 @@ object CommonSettings extends AutoPlugin {
           "-Wconf:msg=Unreachable case except for null:s",
           "-Wconf:msg=is no longer supported for vararg splices:s",
           "-Wconf:msg=bad option.*-Yfuture-lazy-vals:s")
-      else Seq.empty
+      else commonWconf
     },
     Test / logBuffered := false,
     Test / parallelExecution := false,


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pekko.apache.org
For additional commands, e-mail: commits-help@pekko.apache.org