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

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


The following commit(s) were added to refs/heads/main by this push:
     new 1b249c2f6 fix: resolve compiler warnings across connector modules 
(#1686)
1b249c2f6 is described below

commit 1b249c2f690534df810d8a9f62643488fc7888ef
Author: He-Pin(kerr) <[email protected]>
AuthorDate: Tue Jun 16 18:00:48 2026 +0800

    fix: resolve compiler warnings across connector modules (#1686)
    
    * fix: resolve compiler warnings across connector modules
    
    Motivation:
    Multiple Scala and Java compiler warnings accumulated across connector
    modules: unused imports, variable shadowing, unused private methods,
    deprecated API usage, structural type inference, and sbt lint keys.
    
    Modification:
    - Remove unused `scala.language.postfixOps` import in hbase
    - Rename shadowed `entity` to `responseEntity` in google-cloud-storage
    - Remove unused private `toJava` method in s3 javadsl
    - Replace deprecated `DefaultCredentialsProvider.create()` with builder 
pattern in s3
    - Suppress deprecated `SensitivityWatchEventModifier` (needed for macOS) in 
file
    - Suppress deprecated `thisUsesUnstableApi()` gRPC override in 
google-cloud-pub-sub-grpc
    - Suppress structural type inference warnings in jms/jakartams/s3
    - Add `mimaReportSignatureProblems` to sbt excludeLintKeys
    
    Result:
    Cleaner compilation output with all actionable code-level warnings resolved.
    
    Tests:
    - sbt "clean; compile" - only remaining warning is sbt plugin-level 
previewPath lint key
    
    References:
    None - compiler warning cleanup
    
    * build: also exclude previewPath from sbt lint check
    
    Motivation:
    The previous commit missed the docs/previewSite/previewPath lint key.
    
    Modification:
    Add Global / excludeLintKeys += previewPath in build.sbt docs project.
    
    Result:
    Zero sbt lint warnings remaining.
    
    Tests:
    - sbt "clean; compile" - zero sbt lint warnings
    
    References:
    None - follow-up to previous commit
    
    * build: apply javafmt to DirectoryChangesSource.java
---
 build.sbt                                                         | 1 +
 .../pekko/stream/connectors/file/impl/DirectoryChangesSource.java | 2 ++
 .../googlecloud/pubsub/grpc/impl/DeprecatedCredentials.scala      | 2 ++
 .../connectors/googlecloud/storage/impl/GCStorageStream.scala     | 8 ++++----
 .../pekko/stream/connectors/hbase/impl/HBaseCapabilities.scala    | 2 --
 .../pekko/stream/connectors/jakartams/impl/JmsProducerStage.scala | 2 ++
 .../pekko/stream/connectors/jms/impl/JmsProducerStage.scala       | 2 ++
 project/Common.scala                                              | 2 +-
 .../stream/connectors/s3/impl/SplitAfterSizeWithContext.scala     | 3 +++
 .../scala/org/apache/pekko/stream/connectors/s3/javadsl/S3.scala  | 8 --------
 .../scala/org/apache/pekko/stream/connectors/s3/settings.scala    | 6 +++---
 11 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/build.sbt b/build.sbt
index 445a201bd..fbdd6328c 100644
--- a/build.sbt
+++ b/build.sbt
@@ -398,6 +398,7 @@ lazy val docs = project
     publish / skip := true,
     pekkoParadoxGithub := Some("https://github.com/apache/pekko-connectors";),
     previewPath := (Paradox / siteSubdirName).value,
+    Global / excludeLintKeys += previewPath,
     Preprocess / siteSubdirName := 
s"api/pekko-connectors/${projectInfoVersion.value}",
     Preprocess / sourceDirectory := (LocalRootProject / ScalaUnidoc / unidoc / 
target).value,
     Preprocess / preprocessRules := Seq(
diff --git 
a/file/src/main/java/org/apache/pekko/stream/connectors/file/impl/DirectoryChangesSource.java
 
b/file/src/main/java/org/apache/pekko/stream/connectors/file/impl/DirectoryChangesSource.java
index b6cacfc6a..1da1b4ee5 100644
--- 
a/file/src/main/java/org/apache/pekko/stream/connectors/file/impl/DirectoryChangesSource.java
+++ 
b/file/src/main/java/org/apache/pekko/stream/connectors/file/impl/DirectoryChangesSource.java
@@ -95,6 +95,8 @@ public final class DirectoryChangesSource<T> extends 
GraphStage<SourceShape<T>>
     return new TimerGraphStageLogic(shape) {
       private final Queue<T> buffer = new ArrayDeque<>();
       private final WatchService service = 
directoryPath.getFileSystem().newWatchService();
+
+      @SuppressWarnings({"deprecation", "removal"})
       private final WatchKey watchKey =
           directoryPath.register(
               service,
diff --git 
a/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/impl/DeprecatedCredentials.scala
 
b/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/impl/DeprecatedCredentials.scala
index 7d2341a43..e1667971c 100644
--- 
a/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/impl/DeprecatedCredentials.scala
+++ 
b/google-cloud-pub-sub-grpc/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/pubsub/grpc/impl/DeprecatedCredentials.scala
@@ -17,6 +17,7 @@ import org.apache.pekko.annotation.InternalApi
 import io.grpc.{ CallCredentials, Metadata }
 
 import java.util.concurrent.Executor
+import scala.annotation.nowarn
 
 /**
  * Marker class indicating that credentials should be resolved via 
GoogleSettings.
@@ -29,6 +30,7 @@ private[grpc] final case class 
DeprecatedCredentials(underlying: CallCredentials
       applier: CallCredentials.MetadataApplier): Unit =
     underlying.applyRequestMetadata(requestInfo, appExecutor, applier)
 
+  @nowarn("msg=is deprecated")
   override def thisUsesUnstableApi(): Unit = underlying.thisUsesUnstableApi()
 }
 
diff --git 
a/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStream.scala
 
b/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStream.scala
index 3f00a5a8a..7a9669e0e 100644
--- 
a/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStream.scala
+++ 
b/google-cloud-storage/src/main/scala/org/apache/pekko/stream/connectors/googlecloud/storage/impl/GCStorageStream.scala
@@ -160,10 +160,10 @@ import scala.concurrent.ExecutionContext.parasitic
         implicit val um: Unmarshaller[HttpResponse, StorageObject] = 
Unmarshaller.withMaterializer {
           implicit ec => implicit mat =>
             {
-              case HttpResponse(status, _, entity, _) if status.isSuccess() =>
-                Unmarshal(entity).to[StorageObject]
-              case HttpResponse(status, _, entity, _) =>
-                Unmarshal(entity).to[String].flatMap { errorString =>
+              case HttpResponse(status, _, responseEntity, _) if 
status.isSuccess() =>
+                Unmarshal(responseEntity).to[StorageObject]
+              case HttpResponse(status, _, responseEntity, _) =>
+                Unmarshal(responseEntity).to[String].flatMap { errorString =>
                   Future.failed(new RuntimeException(s"Uploading part failed 
with status $status: $errorString"))
                 }
             }: PartialFunction[HttpResponse, Future[StorageObject]]
diff --git 
a/hbase/src/main/scala/org/apache/pekko/stream/connectors/hbase/impl/HBaseCapabilities.scala
 
b/hbase/src/main/scala/org/apache/pekko/stream/connectors/hbase/impl/HBaseCapabilities.scala
index c19bea800..b2cea1ebb 100644
--- 
a/hbase/src/main/scala/org/apache/pekko/stream/connectors/hbase/impl/HBaseCapabilities.scala
+++ 
b/hbase/src/main/scala/org/apache/pekko/stream/connectors/hbase/impl/HBaseCapabilities.scala
@@ -25,8 +25,6 @@ import scala.concurrent.{ Await, Future }
 import scala.concurrent.ExecutionContext.Implicits.global
 import scala.util.{ Failure, Success, Try }
 
-import scala.language.postfixOps
-
 private[impl] trait HBaseCapabilities { this: StageLogging =>
 
   def twr[A <: Closeable, B](resource: A)(doWork: A => B): Try[B] =
diff --git 
a/jakartams/src/main/scala/org/apache/pekko/stream/connectors/jakartams/impl/JmsProducerStage.scala
 
b/jakartams/src/main/scala/org/apache/pekko/stream/connectors/jakartams/impl/JmsProducerStage.scala
index 6719bc70a..46d8727ee 100644
--- 
a/jakartams/src/main/scala/org/apache/pekko/stream/connectors/jakartams/impl/JmsProducerStage.scala
+++ 
b/jakartams/src/main/scala/org/apache/pekko/stream/connectors/jakartams/impl/JmsProducerStage.scala
@@ -25,6 +25,7 @@ import pekko.stream.stage._
 import pekko.util.OptionVal
 import pekko.{ Done, NotUsed }
 
+import scala.annotation.nowarn
 import scala.concurrent.Future
 import scala.concurrent.duration.FiniteDuration
 import scala.util.control.NoStackTrace
@@ -75,6 +76,7 @@ private[jakartams] final class JmsProducerStage[E <: 
JmsEnvelope[PassThrough], P
     (logic, logic.status)
   }
 
+  @nowarn("msg=inferred structural type")
   private def producerLogic(inheritedAttributes: Attributes) =
     new TimerGraphStageLogic(shape) with JmsProducerConnector with 
GraphStageCompanion with StageLogging {
 
diff --git 
a/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsProducerStage.scala
 
b/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsProducerStage.scala
index 1bf8c61d6..d5b48e379 100644
--- 
a/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsProducerStage.scala
+++ 
b/jms/src/main/scala/org/apache/pekko/stream/connectors/jms/impl/JmsProducerStage.scala
@@ -25,6 +25,7 @@ import pekko.stream.stage._
 import pekko.util.OptionVal
 
 import javax.jms
+import scala.annotation.nowarn
 import scala.concurrent.Future
 import scala.concurrent.duration.FiniteDuration
 import scala.util.control.NoStackTrace
@@ -74,6 +75,7 @@ private[jms] final class JmsProducerStage[E <: 
JmsEnvelope[PassThrough], PassThr
     (logic, logic.status)
   }
 
+  @nowarn("msg=inferred structural type")
   private def producerLogic(inheritedAttributes: Attributes) =
     new TimerGraphStageLogic(shape) with JmsProducerConnector with 
GraphStageCompanion with StageLogging {
 
diff --git a/project/Common.scala b/project/Common.scala
index 4c26173a8..d3adda42a 100644
--- a/project/Common.scala
+++ b/project/Common.scala
@@ -43,7 +43,7 @@ object Common extends AutoPlugin {
     fatalWarnings := true,
     mimaReportSignatureProblems := true,
     // Ignore unused keys which affect documentation
-    excludeLintKeys ++= Set(scmInfo, projectInfoVersion, autoAPIMappings))
+    excludeLintKeys ++= Set(scmInfo, projectInfoVersion, autoAPIMappings, 
mimaReportSignatureProblems))
 
   val packagesToSkip = "org.apache.pekko.pattern:" + // for some reason 
Scaladoc creates this
     "org.mongodb.scala:" + // this one is a mystery as well
diff --git 
a/s3/src/main/scala/org/apache/pekko/stream/connectors/s3/impl/SplitAfterSizeWithContext.scala
 
b/s3/src/main/scala/org/apache/pekko/stream/connectors/s3/impl/SplitAfterSizeWithContext.scala
index 51cd0594c..b0f7fdb36 100644
--- 
a/s3/src/main/scala/org/apache/pekko/stream/connectors/s3/impl/SplitAfterSizeWithContext.scala
+++ 
b/s3/src/main/scala/org/apache/pekko/stream/connectors/s3/impl/SplitAfterSizeWithContext.scala
@@ -20,6 +20,8 @@ import pekko.stream.stage.{ GraphStage, GraphStageLogic, 
InHandler, OutHandler }
 import pekko.stream.{ Attributes, FlowShape, Inlet, Outlet }
 import pekko.util.ByteString
 
+import scala.annotation.nowarn
+
 /**
  * Internal Api
  *
@@ -42,6 +44,7 @@ import pekko.util.ByteString
 
   private case object NewStream
 
+  @nowarn("msg=inferred structural type")
   private def insertMarkers[C](minChunkSize: Long) =
     new GraphStage[FlowShape[(ByteString, C), Any]] {
       val in = Inlet[(ByteString, C)]("SplitAfterSize.in")
diff --git 
a/s3/src/main/scala/org/apache/pekko/stream/connectors/s3/javadsl/S3.scala 
b/s3/src/main/scala/org/apache/pekko/stream/connectors/s3/javadsl/S3.scala
index 5d0506525..c2af0d249 100644
--- a/s3/src/main/scala/org/apache/pekko/stream/connectors/s3/javadsl/S3.scala
+++ b/s3/src/main/scala/org/apache/pekko/stream/connectors/s3/javadsl/S3.scala
@@ -334,14 +334,6 @@ object S3 {
       contentLength: Long): Source[ObjectMetadata, NotUsed] =
     putObject(bucket, key, data, contentLength, 
ContentTypes.APPLICATION_OCTET_STREAM)
 
-  private def toJava[M](
-      download: pekko.stream.scaladsl.Source[Option[
-          (pekko.stream.scaladsl.Source[ByteString, M], ObjectMetadata)], 
NotUsed])
-      : Source[Optional[JPair[Source[ByteString, M], ObjectMetadata]], 
NotUsed] =
-    download.map {
-      _.map { case (stream, meta) => JPair(stream.asJava, meta) }.toJava
-    }.asJava
-
   /**
    * Gets a S3 Object
    *
diff --git 
a/s3/src/main/scala/org/apache/pekko/stream/connectors/s3/settings.scala 
b/s3/src/main/scala/org/apache/pekko/stream/connectors/s3/settings.scala
index 8f0fafe06..691d69183 100644
--- a/s3/src/main/scala/org/apache/pekko/stream/connectors/s3/settings.scala
+++ b/s3/src/main/scala/org/apache/pekko/stream/connectors/s3/settings.scala
@@ -620,7 +620,7 @@ object S3Settings {
       if (c.hasPath(credProviderPath)) {
         c.getString(credProviderPath) match {
           case "default" =>
-            DefaultCredentialsProvider.create()
+            DefaultCredentialsProvider.builder().build()
 
           case "static" =>
             val aki = c.getString("aws.credentials.access-key-id")
@@ -637,10 +637,10 @@ object S3Settings {
             AnonymousCredentialsProvider.create()
 
           case _ =>
-            DefaultCredentialsProvider.create()
+            DefaultCredentialsProvider.builder().build()
         }
       } else {
-        DefaultCredentialsProvider.create()
+        DefaultCredentialsProvider.builder().build()
       }
     }
 


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

Reply via email to