You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pekko.apache.org by fa...@apache.org on 2025/10/02 00:57:04 UTC

(pekko-grpc) branch main updated: avoid deprecated code (#519)

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-grpc.git


The following commit(s) were added to refs/heads/main by this push:
     new fb563031 avoid deprecated code (#519)
fb563031 is described below

commit fb563031124834f0ec1d8aa93095c5f3807281f2
Author: PJ Fanning <pj...@users.noreply.github.com>
AuthorDate: Thu Oct 2 01:56:59 2025 +0100

    avoid deprecated code (#519)
    
    * avoid deprecated code
    
    * Update RichErrorNativeImpl.java
---
 .../src/main/scala/org/apache/pekko/grpc/BenchRunner.scala       | 2 +-
 .../org/apache/pekko/grpc/gen/javadsl/JavaCodeGenerator.scala    | 4 ++--
 .../main/scala/org/apache/pekko/grpc/gen/javadsl/Service.scala   | 2 +-
 .../org/apache/pekko/grpc/gen/scaladsl/ScalaCodeGenerator.scala  | 2 +-
 .../main/scala/org/apache/pekko/grpc/gen/scaladsl/Service.scala  | 2 +-
 .../java/example/myapp/helloworld/grpc/RichErrorNativeImpl.java  | 4 ++--
 .../scala/org/apache/pekko/grpc/maven/AbstractGenerateMojo.scala | 4 ++--
 .../src/test/scala/org/apache/pekko/grpc/maven/ProtocSpec.scala  | 2 +-
 project/Common.scala                                             | 6 ------
 .../src/main/scala/org/apache/pekko/grpc/SSLContextUtils.scala   | 2 +-
 .../src/main/scala/org/apache/pekko/grpc/internal/Codecs.scala   | 2 +-
 .../main/scala/org/apache/pekko/grpc/internal/MetadataImpl.scala | 9 ++-------
 .../apache/pekko/grpc/internal/PekkoDiscoveryNameResolver.scala  | 2 +-
 .../org/apache/pekko/grpc/internal/ServerReflectionImpl.scala    | 6 +++---
 .../scala/org/apache/pekko/grpc/javadsl/MetadataBuilder.scala    | 2 +-
 .../scala/org/apache/pekko/grpc/javadsl/ServerReflection.scala   | 2 +-
 .../main/scala/org/apache/pekko/grpc/javadsl/WebHandler.scala    | 2 +-
 .../scala/org/apache/pekko/grpc/scaladsl/headers/headers.scala   | 4 ++--
 .../scala/org/apache/pekko/grpc/internal/ChannelUtilsSpec.scala  | 8 ++++----
 .../apache/pekko/grpc/internal/NameResolverListenerProbe.scala   | 2 +-
 .../grpc/internal/PekkoDiscoveryNameResolverProviderSpec.scala   | 2 +-
 .../pekko/grpc/internal/PekkoDiscoveryNameResolverSpec.scala     | 2 +-
 22 files changed, 31 insertions(+), 42 deletions(-)

diff --git a/benchmarks/src/main/scala/org/apache/pekko/grpc/BenchRunner.scala b/benchmarks/src/main/scala/org/apache/pekko/grpc/BenchRunner.scala
index 0fcb4239..58d6c5d2 100644
--- a/benchmarks/src/main/scala/org/apache/pekko/grpc/BenchRunner.scala
+++ b/benchmarks/src/main/scala/org/apache/pekko/grpc/BenchRunner.scala
@@ -20,7 +20,7 @@ import org.openjdk.jmh.runner.options.CommandLineOptions
 object BenchRunner {
 
   def main(args: Array[String]): Unit = {
-    import scala.collection.JavaConverters._
+    import scala.jdk.CollectionConverters._
 
     // @formatter:off
     val args2 = args.toList.flatMap {
diff --git a/codegen/src/main/scala/org/apache/pekko/grpc/gen/javadsl/JavaCodeGenerator.scala b/codegen/src/main/scala/org/apache/pekko/grpc/gen/javadsl/JavaCodeGenerator.scala
index 02f10f9a..05bc712e 100644
--- a/codegen/src/main/scala/org/apache/pekko/grpc/gen/javadsl/JavaCodeGenerator.scala
+++ b/codegen/src/main/scala/org/apache/pekko/grpc/gen/javadsl/JavaCodeGenerator.scala
@@ -16,12 +16,12 @@ package org.apache.pekko.grpc.gen.javadsl
 import org.apache.pekko.grpc.gen.{ BuildInfo, CodeGenerator, Logger }
 import com.google.protobuf.compiler.PluginProtos.{ CodeGeneratorRequest, CodeGeneratorResponse }
 import protocbridge.Artifact
+import protocgen.CodeGenRequest
 import templates.JavaCommon.txt.ApiInterface
 
 import scala.annotation.nowarn
-import scala.collection.JavaConverters._
 import scala.collection.immutable
-import protocgen.CodeGenRequest
+import scala.jdk.CollectionConverters._
 
 abstract class JavaCodeGenerator extends CodeGenerator {
 
diff --git a/codegen/src/main/scala/org/apache/pekko/grpc/gen/javadsl/Service.scala b/codegen/src/main/scala/org/apache/pekko/grpc/gen/javadsl/Service.scala
index b3603f31..85313041 100644
--- a/codegen/src/main/scala/org/apache/pekko/grpc/gen/javadsl/Service.scala
+++ b/codegen/src/main/scala/org/apache/pekko/grpc/gen/javadsl/Service.scala
@@ -18,7 +18,7 @@ import protocgen.CodeGenRequest
 import scalapb.compiler.{ DescriptorImplicits, GeneratorParams }
 
 import scala.annotation.tailrec
-import scala.collection.JavaConverters._
+import scala.jdk.CollectionConverters._
 import scala.collection.immutable
 
 final case class Service(
diff --git a/codegen/src/main/scala/org/apache/pekko/grpc/gen/scaladsl/ScalaCodeGenerator.scala b/codegen/src/main/scala/org/apache/pekko/grpc/gen/scaladsl/ScalaCodeGenerator.scala
index 3aa7ea16..cd3121ae 100644
--- a/codegen/src/main/scala/org/apache/pekko/grpc/gen/scaladsl/ScalaCodeGenerator.scala
+++ b/codegen/src/main/scala/org/apache/pekko/grpc/gen/scaladsl/ScalaCodeGenerator.scala
@@ -14,7 +14,7 @@
 package org.apache.pekko.grpc.gen.scaladsl
 
 import scala.annotation.nowarn
-import scala.collection.JavaConverters._
+import scala.jdk.CollectionConverters._
 import scala.collection.immutable
 import org.apache.pekko.grpc.gen.{ BuildInfo, CodeGenerator, Logger }
 import com.google.protobuf.compiler.PluginProtos.{ CodeGeneratorRequest, CodeGeneratorResponse }
diff --git a/codegen/src/main/scala/org/apache/pekko/grpc/gen/scaladsl/Service.scala b/codegen/src/main/scala/org/apache/pekko/grpc/gen/scaladsl/Service.scala
index 00fe6f6e..cbe94741 100644
--- a/codegen/src/main/scala/org/apache/pekko/grpc/gen/scaladsl/Service.scala
+++ b/codegen/src/main/scala/org/apache/pekko/grpc/gen/scaladsl/Service.scala
@@ -14,7 +14,7 @@
 package org.apache.pekko.grpc.gen.scaladsl
 
 import scala.collection.immutable
-import scala.collection.JavaConverters._
+import scala.jdk.CollectionConverters._
 import com.google.protobuf.Descriptors._
 import protocgen.CodeGenRequest
 import scalapb.compiler.{ DescriptorImplicits, GeneratorParams }
diff --git a/interop-tests/src/test/java/example/myapp/helloworld/grpc/RichErrorNativeImpl.java b/interop-tests/src/test/java/example/myapp/helloworld/grpc/RichErrorNativeImpl.java
index 6b277eda..5b32b794 100644
--- a/interop-tests/src/test/java/example/myapp/helloworld/grpc/RichErrorNativeImpl.java
+++ b/interop-tests/src/test/java/example/myapp/helloworld/grpc/RichErrorNativeImpl.java
@@ -21,7 +21,7 @@ import java.util.concurrent.CompletionStage;
 import org.apache.pekko.NotUsed;
 import org.apache.pekko.grpc.GrpcServiceException;
 import org.apache.pekko.stream.javadsl.Source;
-import scala.collection.JavaConverters;
+import scala.jdk.javaapi.CollectionConverters;
 
 public class RichErrorNativeImpl implements GreeterService {
 
@@ -34,7 +34,7 @@ public class RichErrorNativeImpl implements GreeterService {
 
     GrpcServiceException exception =
         GrpcServiceException.apply(
-            Code.INVALID_ARGUMENT, "What is wrong?", JavaConverters.asScalaBuffer(ar).toSeq());
+            Code.INVALID_ARGUMENT, "What is wrong?", CollectionConverters.asScala(ar).toSeq());
 
     CompletableFuture<HelloReply> future = new CompletableFuture<>();
     future.completeExceptionally(exception);
diff --git a/maven-plugin/src/main/scala/org/apache/pekko/grpc/maven/AbstractGenerateMojo.scala b/maven-plugin/src/main/scala/org/apache/pekko/grpc/maven/AbstractGenerateMojo.scala
index bd4071d4..06dfc2ee 100644
--- a/maven-plugin/src/main/scala/org/apache/pekko/grpc/maven/AbstractGenerateMojo.scala
+++ b/maven-plugin/src/main/scala/org/apache/pekko/grpc/maven/AbstractGenerateMojo.scala
@@ -87,7 +87,7 @@ object AbstractGenerateMojo {
    * e.g. { "flatPackage": "true", "serverPowerApis": "false" } -> ["flat_package"]
    */
   def parseGeneratorSettings(generatorSettings: java.util.Map[String, String]): Seq[String] = {
-    import scala.collection.JavaConverters._
+    import scala.jdk.CollectionConverters._
     generatorSettings.asScala.filter(_._2.toLowerCase() != "false").keys.toSeq.map { params =>
       "[A-Z]".r.replaceAllIn(params, s => s"_${s.group(0).toLowerCase()}")
     }
@@ -169,7 +169,7 @@ abstract class AbstractGenerateMojo @Inject() (buildContext: BuildContext) exten
     if (schemas.isEmpty) {
       getLog.info("No changed or new .proto-files found in [%s], skipping code generation".format(generatedSourcesDir))
     } else {
-      import scala.collection.JavaConverters._
+      import scala.jdk.CollectionConverters._
       val loadedExtraGenerators =
         extraGenerators.asScala.map(cls =>
           Class.forName(cls).getDeclaredConstructor().newInstance().asInstanceOf[CodeGenerator])
diff --git a/maven-plugin/src/test/scala/org/apache/pekko/grpc/maven/ProtocSpec.scala b/maven-plugin/src/test/scala/org/apache/pekko/grpc/maven/ProtocSpec.scala
index 0eaabc70..7a6798be 100644
--- a/maven-plugin/src/test/scala/org/apache/pekko/grpc/maven/ProtocSpec.scala
+++ b/maven-plugin/src/test/scala/org/apache/pekko/grpc/maven/ProtocSpec.scala
@@ -31,7 +31,7 @@ class ProtocSpec extends AnyWordSpec with Matchers {
     }
   }
 
-  import scala.collection.JavaConverters._
+  import scala.jdk.CollectionConverters._
 
   "Parsing generator settings" should {
     "filter out the false values" in {
diff --git a/project/Common.scala b/project/Common.scala
index e6b6739b..0f4fd476 100644
--- a/project/Common.scala
+++ b/project/Common.scala
@@ -64,9 +64,6 @@ object Common extends AutoPlugin {
                                    Seq(
                                      // Generated code for methods/fields marked 'deprecated'
                                      "-Wconf:msg=Marked as deprecated in proto file:silent",
-                                     // deprecated in 2.13, but used as long as we support 2.12
-                                     "-Wconf:msg=Use `scala.jdk.CollectionConverters` instead:silent",
-                                     "-Wconf:msg=Use LazyList instead of Stream:silent",
                                      // ignore imports in templates (FIXME why is that trailing .* needed?)
                                      "-Wconf:src=.*.txt.*:silent",
                                      "-Wconf:cat=unused-nowarn:silent")
@@ -74,9 +71,6 @@ object Common extends AutoPlugin {
                                    Seq(
                                      // Generated code for methods/fields marked 'deprecated'
                                      "-Wconf:msg=Marked as deprecated in proto file:silent",
-                                     // deprecated in 2.13, but used as long as we support 2.12
-                                     "-Wconf:msg=Use `scala.jdk.CollectionConverters` instead:silent",
-                                     "-Wconf:msg=instead of Stream:silent",
                                      "-Wconf:msg=unused import:silent",
                                      "-Wconf:cat=feature:silent")),
     Compile / console / scalacOptions ~= (_.filterNot(consoleDisabledOptions.contains)),
diff --git a/runtime/src/main/scala/org/apache/pekko/grpc/SSLContextUtils.scala b/runtime/src/main/scala/org/apache/pekko/grpc/SSLContextUtils.scala
index 78961019..c052423d 100644
--- a/runtime/src/main/scala/org/apache/pekko/grpc/SSLContextUtils.scala
+++ b/runtime/src/main/scala/org/apache/pekko/grpc/SSLContextUtils.scala
@@ -22,7 +22,7 @@ import javax.net.ssl.{ TrustManager, TrustManagerFactory }
 object SSLContextUtils {
   def trustManagerFromStream(certStream: InputStream): TrustManager = {
     try {
-      import scala.collection.JavaConverters._
+      import scala.jdk.CollectionConverters._
       val cf = CertificateFactory.getInstance("X.509")
       val bis = new BufferedInputStream(certStream)
 
diff --git a/runtime/src/main/scala/org/apache/pekko/grpc/internal/Codecs.scala b/runtime/src/main/scala/org/apache/pekko/grpc/internal/Codecs.scala
index b7cda170..6dfbd357 100644
--- a/runtime/src/main/scala/org/apache/pekko/grpc/internal/Codecs.scala
+++ b/runtime/src/main/scala/org/apache/pekko/grpc/internal/Codecs.scala
@@ -32,7 +32,7 @@ object Codecs {
       case sReq: sm.HttpMessage =>
         sReq.headers
       case _ =>
-        import scala.collection.JavaConverters._
+        import scala.jdk.CollectionConverters._
         request.getHeaders.asScala
     }
   }
diff --git a/runtime/src/main/scala/org/apache/pekko/grpc/internal/MetadataImpl.scala b/runtime/src/main/scala/org/apache/pekko/grpc/internal/MetadataImpl.scala
index 8eef1db6..2681755f 100644
--- a/runtime/src/main/scala/org/apache/pekko/grpc/internal/MetadataImpl.scala
+++ b/runtime/src/main/scala/org/apache/pekko/grpc/internal/MetadataImpl.scala
@@ -203,13 +203,8 @@ class JavaMetadataImpl(delegate: Metadata) extends javadsl.Metadata {
   override def getBinary(key: String): Optional[ByteString] =
     delegate.getBinary(key).toJava
 
-  override def asMap(): jMap[String, jList[javadsl.MetadataEntry]] = {
-    // This method is also affected by incompatible changes between scala 2.12 and 2.13. (See comment in
-    // MetadataImp.toMap for more details.)
-
-    // For now, as a workaround, implement the conversion in terms of map instead of mapValues.
-    delegate.asMap.map(t => t._1 -> t._2.map(_.asInstanceOf[javadsl.MetadataEntry]).asJava).toMap.asJava
-  }
+  override def asMap(): jMap[String, jList[javadsl.MetadataEntry]] =
+    delegate.asMap.view.mapValues(_.map(_.asInstanceOf[javadsl.MetadataEntry]).asJava).toMap.asJava
 
   override def asList(): jList[Pair[String, javadsl.MetadataEntry]] =
     delegate.asList.map(t => Pair[String, javadsl.MetadataEntry](t._1, t._2)).asJava
diff --git a/runtime/src/main/scala/org/apache/pekko/grpc/internal/PekkoDiscoveryNameResolver.scala b/runtime/src/main/scala/org/apache/pekko/grpc/internal/PekkoDiscoveryNameResolver.scala
index e8821305..37ad0da3 100644
--- a/runtime/src/main/scala/org/apache/pekko/grpc/internal/PekkoDiscoveryNameResolver.scala
+++ b/runtime/src/main/scala/org/apache/pekko/grpc/internal/PekkoDiscoveryNameResolver.scala
@@ -67,7 +67,7 @@ class PekkoDiscoveryNameResolver(
 
   @throws[UnknownHostException]
   private def addresses(addresses: Seq[ResolvedTarget]) = {
-    import scala.collection.JavaConverters._
+    import scala.jdk.CollectionConverters._
     addresses
       .map(target => {
         val port = target.port.getOrElse(defaultPort)
diff --git a/runtime/src/main/scala/org/apache/pekko/grpc/internal/ServerReflectionImpl.scala b/runtime/src/main/scala/org/apache/pekko/grpc/internal/ServerReflectionImpl.scala
index c5a31131..ad57418a 100644
--- a/runtime/src/main/scala/org/apache/pekko/grpc/internal/ServerReflectionImpl.scala
+++ b/runtime/src/main/scala/org/apache/pekko/grpc/internal/ServerReflectionImpl.scala
@@ -13,17 +13,17 @@
 
 package org.apache.pekko.grpc.internal
 
+import com.google.protobuf.ByteString
 import com.google.protobuf.Descriptors.FileDescriptor
 import org.apache.pekko
 import pekko.NotUsed
 import pekko.annotation.InternalApi
 import pekko.stream.scaladsl._
 import _root_.grpc.reflection.v1alpha.reflection._
-import com.google.protobuf.ByteString
 
 import java.util.concurrent.ConcurrentHashMap
 import scala.collection.concurrent
-import collection.JavaConverters._
+import scala.jdk.CollectionConverters._
 
 /**
  * INTERNAL API
@@ -77,7 +77,7 @@ final class ServerReflectionImpl private (fileDescriptors: Map[String, FileDescr
  */
 @InternalApi
 object ServerReflectionImpl {
-  import scala.collection.JavaConverters._
+  import scala.jdk.CollectionConverters._
 
   def apply(fileDescriptors: Seq[FileDescriptor], services: List[String]): ServerReflectionImpl = {
     val fileDescriptorsWithDeps = (ReflectionProto.javaDescriptor +: fileDescriptors).toSet.flatMap(flattenDependencies)
diff --git a/runtime/src/main/scala/org/apache/pekko/grpc/javadsl/MetadataBuilder.scala b/runtime/src/main/scala/org/apache/pekko/grpc/javadsl/MetadataBuilder.scala
index 5148d945..30dcaf2b 100644
--- a/runtime/src/main/scala/org/apache/pekko/grpc/javadsl/MetadataBuilder.scala
+++ b/runtime/src/main/scala/org/apache/pekko/grpc/javadsl/MetadataBuilder.scala
@@ -18,7 +18,7 @@ import java.lang.{ Iterable => jIterable }
 import org.apache.pekko
 import pekko.annotation.ApiMayChange
 
-import scala.collection.JavaConverters._
+import scala.jdk.CollectionConverters._
 import pekko.http.javadsl.model.HttpHeader
 import pekko.http.scaladsl.model.{ HttpHeader => sHttpHeader }
 import pekko.http.scaladsl.model.headers.RawHeader
diff --git a/runtime/src/main/scala/org/apache/pekko/grpc/javadsl/ServerReflection.scala b/runtime/src/main/scala/org/apache/pekko/grpc/javadsl/ServerReflection.scala
index a81403a8..7e1cdf39 100644
--- a/runtime/src/main/scala/org/apache/pekko/grpc/javadsl/ServerReflection.scala
+++ b/runtime/src/main/scala/org/apache/pekko/grpc/javadsl/ServerReflection.scala
@@ -31,7 +31,7 @@ object ServerReflection {
   def create(
       objects: Collection[ServiceDescription],
       sys: ClassicActorSystemProvider): pekko.japi.function.Function[HttpRequest, CompletionStage[HttpResponse]] = {
-    import scala.collection.JavaConverters._
+    import scala.jdk.CollectionConverters._
     val delegate = ServerReflectionHandler.apply(
       ServerReflectionImpl(objects.asScala.map(_.descriptor).toSeq, objects.asScala.map(_.name).toList))(sys)
     import scala.jdk.FutureConverters._
diff --git a/runtime/src/main/scala/org/apache/pekko/grpc/javadsl/WebHandler.scala b/runtime/src/main/scala/org/apache/pekko/grpc/javadsl/WebHandler.scala
index 69656065..627c4df5 100644
--- a/runtime/src/main/scala/org/apache/pekko/grpc/javadsl/WebHandler.scala
+++ b/runtime/src/main/scala/org/apache/pekko/grpc/javadsl/WebHandler.scala
@@ -75,7 +75,7 @@ object WebHandler {
       as: ClassicActorSystemProvider,
       mat: Materializer,
       corsSettings: CorsSettings): JFunction[HttpRequest, CompletionStage[HttpResponse]] = {
-    import scala.collection.JavaConverters._
+    import scala.jdk.CollectionConverters._
 
     val servicesHandler = concatOrNotFound(handlers.asScala.toList: _*)
     val servicesRoute = RouteAdapter(MarshallingDirectives.handleWith(servicesHandler.apply(_)))
diff --git a/runtime/src/main/scala/org/apache/pekko/grpc/scaladsl/headers/headers.scala b/runtime/src/main/scala/org/apache/pekko/grpc/scaladsl/headers/headers.scala
index d607b943..eab0e002 100644
--- a/runtime/src/main/scala/org/apache/pekko/grpc/scaladsl/headers/headers.scala
+++ b/runtime/src/main/scala/org/apache/pekko/grpc/scaladsl/headers/headers.scala
@@ -46,7 +46,7 @@ object `Message-Accept-Encoding` extends ModeledCustomHeaderCompanion[`Message-A
 
   /** Java API */
   def findIn(headers: java.lang.Iterable[jm.HttpHeader]): Array[String] = {
-    import scala.collection.JavaConverters._
+    import scala.jdk.CollectionConverters._
     findIn(headers.asScala)
   }
 }
@@ -71,7 +71,7 @@ object `Message-Encoding` extends ModeledCustomHeaderCompanion[`Message-Encoding
 
   /** Java API */
   def findIn(headers: java.lang.Iterable[jm.HttpHeader]): Option[String] = {
-    import scala.collection.JavaConverters._
+    import scala.jdk.CollectionConverters._
     findIn(headers.asScala)
   }
 }
diff --git a/runtime/src/test/scala/org/apache/pekko/grpc/internal/ChannelUtilsSpec.scala b/runtime/src/test/scala/org/apache/pekko/grpc/internal/ChannelUtilsSpec.scala
index 649107fa..83a58195 100644
--- a/runtime/src/test/scala/org/apache/pekko/grpc/internal/ChannelUtilsSpec.scala
+++ b/runtime/src/test/scala/org/apache/pekko/grpc/internal/ChannelUtilsSpec.scala
@@ -29,7 +29,7 @@ import scala.concurrent.Promise
 import scala.util.Failure
 
 object ChannelUtilsSpec {
-  class FakeChannel(stateResponses: Stream[ConnectivityState]) extends ManagedChannel {
+  class FakeChannel(stateResponses: LazyList[ConnectivityState]) extends ManagedChannel {
     var closed = false
     var nextResponse = stateResponses
     var currentCallBack: Runnable = null
@@ -71,7 +71,7 @@ class ChannelUtilsSpec extends AnyWordSpec with Matchers with ScalaFutures {
       val promiseReady = Promise[Unit]()
       val promiseDone = Promise[Done]()
       val fakeChannel = new FakeChannel(
-        Stream(IDLE, CONNECTING, TRANSIENT_FAILURE, CONNECTING, TRANSIENT_FAILURE, CONNECTING, TRANSIENT_FAILURE))
+        LazyList(IDLE, CONNECTING, TRANSIENT_FAILURE, CONNECTING, TRANSIENT_FAILURE, CONNECTING, TRANSIENT_FAILURE))
 
       ChannelUtils.monitorChannel(promiseReady, promiseDone, fakeChannel, Some(2), log)
       // IDLE => CONNECTING
@@ -98,7 +98,7 @@ class ChannelUtilsSpec extends AnyWordSpec with Matchers with ScalaFutures {
       val promiseDone = Promise[Done]()
       val fakeChannel =
         new FakeChannel(
-          Stream(
+          LazyList(
             IDLE,
             CONNECTING,
             TRANSIENT_FAILURE,
@@ -147,7 +147,7 @@ class ChannelUtilsSpec extends AnyWordSpec with Matchers with ScalaFutures {
     "should stop monitoring if SHUTDOWN" in {
       val promiseReady = Promise[Unit]()
       val promiseDone = Promise[Done]()
-      val fakeChannel = new FakeChannel(Stream(IDLE, CONNECTING, READY) ++ Stream.continually(SHUTDOWN))
+      val fakeChannel = new FakeChannel(LazyList(IDLE, CONNECTING, READY) ++ LazyList.continually(SHUTDOWN))
       ChannelUtils.monitorChannel(promiseReady, promiseDone, fakeChannel, Some(2), log)
       // IDLE => CONNECTING
       fakeChannel.runCallBack()
diff --git a/runtime/src/test/scala/org/apache/pekko/grpc/internal/NameResolverListenerProbe.scala b/runtime/src/test/scala/org/apache/pekko/grpc/internal/NameResolverListenerProbe.scala
index cd4079e6..f1960ec1 100644
--- a/runtime/src/test/scala/org/apache/pekko/grpc/internal/NameResolverListenerProbe.scala
+++ b/runtime/src/test/scala/org/apache/pekko/grpc/internal/NameResolverListenerProbe.scala
@@ -24,7 +24,7 @@ class NameResolverListenerProbe extends NameResolver.Listener {
   private val promise = Promise[Seq[EquivalentAddressGroup]]()
 
   override def onAddresses(servers: util.List[EquivalentAddressGroup], attributes: Attributes): Unit = {
-    import scala.collection.JavaConverters._
+    import scala.jdk.CollectionConverters._
     promise.trySuccess(servers.asScala.toSeq)
   }
 
diff --git a/runtime/src/test/scala/org/apache/pekko/grpc/internal/PekkoDiscoveryNameResolverProviderSpec.scala b/runtime/src/test/scala/org/apache/pekko/grpc/internal/PekkoDiscoveryNameResolverProviderSpec.scala
index aef2c346..ca8c38f7 100644
--- a/runtime/src/test/scala/org/apache/pekko/grpc/internal/PekkoDiscoveryNameResolverProviderSpec.scala
+++ b/runtime/src/test/scala/org/apache/pekko/grpc/internal/PekkoDiscoveryNameResolverProviderSpec.scala
@@ -71,7 +71,7 @@ class PekkoDiscoveryNameResolverProviderSpec
       val addressGroupsPromise = Promise[List[EquivalentAddressGroup]]()
       val listener = new Listener() {
         override def onAddresses(addresses: JList[EquivalentAddressGroup], attributes: Attributes): Unit = {
-          import scala.collection.JavaConverters._
+          import scala.jdk.CollectionConverters._
           addressGroupsPromise.success(addresses.asScala.toList)
         }
         override def onError(error: io.grpc.Status): Unit = ???
diff --git a/runtime/src/test/scala/org/apache/pekko/grpc/internal/PekkoDiscoveryNameResolverSpec.scala b/runtime/src/test/scala/org/apache/pekko/grpc/internal/PekkoDiscoveryNameResolverSpec.scala
index d1c1f04b..bd339996 100644
--- a/runtime/src/test/scala/org/apache/pekko/grpc/internal/PekkoDiscoveryNameResolverSpec.scala
+++ b/runtime/src/test/scala/org/apache/pekko/grpc/internal/PekkoDiscoveryNameResolverSpec.scala
@@ -25,7 +25,7 @@ import org.scalatest.matchers.should.Matchers
 import org.scalatest.time.{ Millis, Seconds, Span }
 import org.scalatest.wordspec.AnyWordSpecLike
 
-import scala.collection.JavaConverters._
+import scala.jdk.CollectionConverters._
 import scala.concurrent.ExecutionContext
 
 class PekkoDiscoveryNameResolverSpec


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