From 1e8d50e5b656c5d9493711217f278741b54a8f48 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Sat, 7 Oct 2023 01:10:16 +0200 Subject: [PATCH 01/42] import akka. -> import org.apache.pekko. --- .../app/controllers/HomeController.java | 16 ++++++------ .../app/modules/AppModule.java | 14 +++++----- .../app/services/CounterActor.java | 12 ++++----- .../app/controllers/HomeController.java | 16 ++++++------ .../app/filters/LoggingFilter.java | 2 +- .../repository/DatabaseExecutionContext.java | 2 +- .../MyMultipartFormDataBodyParser.java | 10 +++---- .../test/controllers/HomeControllerTest.java | 10 +++---- .../app/routers/HelloWorldRouter.java | 4 +-- .../myapp/helloworld/HelloFunctionalTest.java | 2 +- .../app/models/DatabaseExecutionContext.java | 2 +- .../app/v1/post/PostExecutionContext.java | 2 +- .../app/controllers/AsyncController.java | 4 +-- play-java-starter-example/test/UnitTest.java | 2 +- .../JavaEventSourceController.java | 2 +- .../app/controllers/JavaTicker.java | 4 +-- .../app/controllers/AsyncController.java | 4 +-- play-java-websocket-example/app/Module.java | 10 +++---- .../app/actors/StocksActor.java | 6 ++--- .../app/actors/UserActor.java | 26 +++++++++---------- .../app/actors/UserParentActor.java | 10 +++---- .../app/controllers/HomeController.java | 14 +++++----- .../app/stocks/Stock.java | 10 +++---- .../app/models/DatabaseExecutionContext.scala | 2 +- play-scala-chatroom-example/README.md | 2 +- .../app/controllers/HomeController.scala | 8 +++--- .../app/controllers/HomeController.scala | 6 ++--- .../test/controllers/HomeControllerSpec.scala | 4 +-- .../app/routers/HelloWorldRouter.scala | 4 +-- .../app/controllers/AsyncController.scala | 2 +- .../app/filters/ExampleFilter.scala | 2 +- .../app/v1/post/PostRepository.scala | 2 +- .../app/services/session/ClusterSystem.scala | 2 +- .../app/services/session/SessionCache.scala | 24 ++++++++--------- .../app/services/session/SessionService.scala | 6 ++--- .../app/controllers/AsyncController.scala | 2 +- .../test/UnitSpec.scala | 2 +- .../controllers/ScalaCometController.scala | 2 +- .../app/controllers/ScalaTicker.scala | 2 +- .../app/controllers/AsyncController.scala | 2 +- play-scala-tls-example/app/Main.scala | 4 +-- .../test/integration/ServerSpec.scala | 4 +-- play-scala-websocket-example/app/Module.scala | 4 +-- .../app/actors/StocksActor.scala | 4 +-- .../app/actors/UserActor.scala | 14 +++++----- .../app/actors/UserParentActor.scala | 10 +++---- .../app/controllers/HomeController.scala | 10 +++---- .../app/stocks/Stock.scala | 6 ++--- 48 files changed, 157 insertions(+), 157 deletions(-) diff --git a/play-java-akka-cluster-example/app/controllers/HomeController.java b/play-java-akka-cluster-example/app/controllers/HomeController.java index 45b2c996d..9b1be603d 100644 --- a/play-java-akka-cluster-example/app/controllers/HomeController.java +++ b/play-java-akka-cluster-example/app/controllers/HomeController.java @@ -1,13 +1,13 @@ package controllers; -import akka.actor.typed.ActorRef; -import akka.actor.ActorSystem; -import akka.actor.typed.Scheduler; -import akka.actor.typed.javadsl.Adapter; -import akka.actor.typed.javadsl.AskPattern; -import akka.cluster.typed.Cluster; -import akka.cluster.typed.ClusterSingleton; -import akka.cluster.typed.SingletonActor; +import org.apache.pekko.actor.typed.ActorRef; +import org.apache.pekko.actor.ActorSystem; +import org.apache.pekko.actor.typed.Scheduler; +import org.apache.pekko.actor.typed.javadsl.Adapter; +import org.apache.pekko.actor.typed.javadsl.AskPattern; +import org.apache.pekko.cluster.typed.Cluster; +import org.apache.pekko.cluster.typed.ClusterSingleton; +import org.apache.pekko.cluster.typed.SingletonActor; import play.mvc.Controller; import play.mvc.Result; import services.CounterActor; diff --git a/play-java-akka-cluster-example/app/modules/AppModule.java b/play-java-akka-cluster-example/app/modules/AppModule.java index d91d928a9..32880a85a 100644 --- a/play-java-akka-cluster-example/app/modules/AppModule.java +++ b/play-java-akka-cluster-example/app/modules/AppModule.java @@ -1,12 +1,12 @@ package modules; -import akka.actor.ActorSystem; -import akka.actor.typed.ActorRef; -import akka.actor.typed.javadsl.Adapter; -import akka.cluster.typed.Cluster; -import akka.cluster.typed.ClusterSingleton; -import akka.cluster.typed.Join; -import akka.cluster.typed.SingletonActor; +import org.apache.pekko.actor.ActorSystem; +import org.apache.pekko.actor.typed.ActorRef; +import org.apache.pekko.actor.typed.javadsl.Adapter; +import org.apache.pekko.cluster.typed.Cluster; +import org.apache.pekko.cluster.typed.ClusterSingleton; +import org.apache.pekko.cluster.typed.Join; +import org.apache.pekko.cluster.typed.SingletonActor; import com.google.inject.AbstractModule; import com.google.inject.TypeLiteral; import play.Environment; diff --git a/play-java-akka-cluster-example/app/services/CounterActor.java b/play-java-akka-cluster-example/app/services/CounterActor.java index 0ca7ef91a..9287a9b40 100644 --- a/play-java-akka-cluster-example/app/services/CounterActor.java +++ b/play-java-akka-cluster-example/app/services/CounterActor.java @@ -1,11 +1,11 @@ package services; -import akka.actor.typed.ActorRef; -import akka.actor.typed.Behavior; -import akka.actor.typed.javadsl.AbstractBehavior; -import akka.actor.typed.javadsl.ActorContext; -import akka.actor.typed.javadsl.Behaviors; -import akka.actor.typed.javadsl.Receive; +import org.apache.pekko.actor.typed.ActorRef; +import org.apache.pekko.actor.typed.Behavior; +import org.apache.pekko.actor.typed.javadsl.AbstractBehavior; +import org.apache.pekko.actor.typed.javadsl.ActorContext; +import org.apache.pekko.actor.typed.javadsl.Behaviors; +import org.apache.pekko.actor.typed.javadsl.Receive; import com.fasterxml.jackson.annotation.JsonCreator; /** diff --git a/play-java-chatroom-example/app/controllers/HomeController.java b/play-java-chatroom-example/app/controllers/HomeController.java index c1e57cfd5..f4271dff2 100644 --- a/play-java-chatroom-example/app/controllers/HomeController.java +++ b/play-java-chatroom-example/app/controllers/HomeController.java @@ -1,13 +1,13 @@ package controllers; -import akka.NotUsed; -import akka.actor.ActorSystem; -import akka.event.Logging; -import akka.event.LoggingAdapter; -import akka.japi.Pair; -import akka.japi.pf.PFBuilder; -import akka.stream.Materializer; -import akka.stream.javadsl.*; +import org.apache.pekko.NotUsed; +import org.apache.pekko.actor.ActorSystem; +import org.apache.pekko.event.Logging; +import org.apache.pekko.event.LoggingAdapter; +import org.apache.pekko.japi.Pair; +import org.apache.pekko.japi.pf.PFBuilder; +import org.apache.pekko.stream.Materializer; +import org.apache.pekko.stream.javadsl.*; import org.webjars.play.WebJarsUtil; import play.libs.F; import play.mvc.*; diff --git a/play-java-dagger2-example/app/filters/LoggingFilter.java b/play-java-dagger2-example/app/filters/LoggingFilter.java index eb500630b..119f15b3e 100644 --- a/play-java-dagger2-example/app/filters/LoggingFilter.java +++ b/play-java-dagger2-example/app/filters/LoggingFilter.java @@ -1,6 +1,6 @@ package filters; -import akka.stream.Materializer; +import org.apache.pekko.stream.Materializer; import org.slf4j.LoggerFactory; import play.mvc.Filter; import play.mvc.Http; diff --git a/play-java-ebean-example/app/repository/DatabaseExecutionContext.java b/play-java-ebean-example/app/repository/DatabaseExecutionContext.java index fb05ad9c2..b07348fa1 100644 --- a/play-java-ebean-example/app/repository/DatabaseExecutionContext.java +++ b/play-java-ebean-example/app/repository/DatabaseExecutionContext.java @@ -1,6 +1,6 @@ package repository; -import akka.actor.ActorSystem; +import org.apache.pekko.actor.ActorSystem; import play.libs.concurrent.CustomExecutionContext; import javax.inject.Inject; diff --git a/play-java-fileupload-example/app/controllers/MyMultipartFormDataBodyParser.java b/play-java-fileupload-example/app/controllers/MyMultipartFormDataBodyParser.java index 351a836ee..7de0db5d0 100644 --- a/play-java-fileupload-example/app/controllers/MyMultipartFormDataBodyParser.java +++ b/play-java-fileupload-example/app/controllers/MyMultipartFormDataBodyParser.java @@ -1,10 +1,10 @@ package controllers; -import akka.stream.IOResult; -import akka.stream.Materializer; -import akka.stream.javadsl.FileIO; -import akka.stream.javadsl.Sink; -import akka.util.ByteString; +import org.apache.pekko.stream.IOResult; +import org.apache.pekko.stream.Materializer; +import org.apache.pekko.stream.javadsl.FileIO; +import org.apache.pekko.stream.javadsl.Sink; +import org.apache.pekko.util.ByteString; import play.core.parsers.Multipart; import play.http.HttpErrorHandler; import play.libs.streams.Accumulator; diff --git a/play-java-fileupload-example/test/controllers/HomeControllerTest.java b/play-java-fileupload-example/test/controllers/HomeControllerTest.java index 45155347e..b3419ce19 100644 --- a/play-java-fileupload-example/test/controllers/HomeControllerTest.java +++ b/play-java-fileupload-example/test/controllers/HomeControllerTest.java @@ -1,10 +1,10 @@ package controllers; -import akka.stream.IOResult; -import akka.stream.Materializer; -import akka.stream.javadsl.FileIO; -import akka.stream.javadsl.Source; -import akka.util.ByteString; +import org.apache.pekko.stream.IOResult; +import org.apache.pekko.stream.Materializer; +import org.apache.pekko.stream.javadsl.FileIO; +import org.apache.pekko.stream.javadsl.Source; +import org.apache.pekko.util.ByteString; import org.junit.Test; import play.Application; import play.libs.Files; diff --git a/play-java-grpc-example/app/routers/HelloWorldRouter.java b/play-java-grpc-example/app/routers/HelloWorldRouter.java index 2abe20c4d..1b61a32cd 100644 --- a/play-java-grpc-example/app/routers/HelloWorldRouter.java +++ b/play-java-grpc-example/app/routers/HelloWorldRouter.java @@ -1,7 +1,7 @@ package routers; -import akka.actor.ActorSystem; -import akka.stream.Materializer; +import org.apache.pekko.actor.ActorSystem; +import org.apache.pekko.stream.Materializer; import example.myapp.helloworld.grpc.HelloReply; import example.myapp.helloworld.grpc.HelloRequest; diff --git a/play-java-grpc-example/test/example/myapp/helloworld/HelloFunctionalTest.java b/play-java-grpc-example/test/example/myapp/helloworld/HelloFunctionalTest.java index ab3b755d0..f67269dda 100644 --- a/play-java-grpc-example/test/example/myapp/helloworld/HelloFunctionalTest.java +++ b/play-java-grpc-example/test/example/myapp/helloworld/HelloFunctionalTest.java @@ -1,6 +1,6 @@ package example.myapp.helloworld; -import akka.grpc.GrpcClientSettings; +import org.apache.pekko.grpc.GrpcClientSettings; import play.api.test.DefaultTestServerFactory; import play.api.test.RunningServer; import play.api.test.TestServerFactory; diff --git a/play-java-jpa-example/app/models/DatabaseExecutionContext.java b/play-java-jpa-example/app/models/DatabaseExecutionContext.java index 012a7fae0..9944f6ef7 100644 --- a/play-java-jpa-example/app/models/DatabaseExecutionContext.java +++ b/play-java-jpa-example/app/models/DatabaseExecutionContext.java @@ -1,6 +1,6 @@ package models; -import akka.actor.ActorSystem; +import org.apache.pekko.actor.ActorSystem; import play.libs.concurrent.CustomExecutionContext; import javax.inject.Inject; diff --git a/play-java-rest-api-example/app/v1/post/PostExecutionContext.java b/play-java-rest-api-example/app/v1/post/PostExecutionContext.java index 17a5365c5..bc8873e66 100644 --- a/play-java-rest-api-example/app/v1/post/PostExecutionContext.java +++ b/play-java-rest-api-example/app/v1/post/PostExecutionContext.java @@ -1,6 +1,6 @@ package v1.post; -import akka.actor.ActorSystem; +import org.apache.pekko.actor.ActorSystem; import play.libs.concurrent.CustomExecutionContext; import javax.inject.Inject; diff --git a/play-java-starter-example/app/controllers/AsyncController.java b/play-java-starter-example/app/controllers/AsyncController.java index 8de29e36f..db5349f82 100644 --- a/play-java-starter-example/app/controllers/AsyncController.java +++ b/play-java-starter-example/app/controllers/AsyncController.java @@ -1,9 +1,9 @@ package controllers; -import akka.actor.ActorSystem; +import org.apache.pekko.actor.ActorSystem; import javax.inject.*; -import akka.actor.Scheduler; +import org.apache.pekko.actor.Scheduler; import play.*; import play.mvc.*; import java.util.concurrent.Executor; diff --git a/play-java-starter-example/test/UnitTest.java b/play-java-starter-example/test/UnitTest.java index 70916de91..b47c59b32 100644 --- a/play-java-starter-example/test/UnitTest.java +++ b/play-java-starter-example/test/UnitTest.java @@ -1,4 +1,4 @@ -import akka.actor.ActorSystem; +import org.apache.pekko.actor.ActorSystem; import controllers.AsyncController; import controllers.CountController; import org.junit.Test; diff --git a/play-java-streaming-example/app/controllers/JavaEventSourceController.java b/play-java-streaming-example/app/controllers/JavaEventSourceController.java index c305204fe..90da79882 100644 --- a/play-java-streaming-example/app/controllers/JavaEventSourceController.java +++ b/play-java-streaming-example/app/controllers/JavaEventSourceController.java @@ -1,6 +1,6 @@ package controllers; -import akka.stream.javadsl.Source; +import org.apache.pekko.stream.javadsl.Source; import play.libs.EventSource; import play.mvc.Controller; import play.mvc.Http; diff --git a/play-java-streaming-example/app/controllers/JavaTicker.java b/play-java-streaming-example/app/controllers/JavaTicker.java index 01d70703d..797fb5651 100644 --- a/play-java-streaming-example/app/controllers/JavaTicker.java +++ b/play-java-streaming-example/app/controllers/JavaTicker.java @@ -1,7 +1,7 @@ package controllers; -import akka.actor.Cancellable; -import akka.stream.javadsl.Source; +import org.apache.pekko.actor.Cancellable; +import org.apache.pekko.stream.javadsl.Source; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ObjectNode; import play.libs.Json; diff --git a/play-java-telemetry-example/app/controllers/AsyncController.java b/play-java-telemetry-example/app/controllers/AsyncController.java index 8de29e36f..db5349f82 100644 --- a/play-java-telemetry-example/app/controllers/AsyncController.java +++ b/play-java-telemetry-example/app/controllers/AsyncController.java @@ -1,9 +1,9 @@ package controllers; -import akka.actor.ActorSystem; +import org.apache.pekko.actor.ActorSystem; import javax.inject.*; -import akka.actor.Scheduler; +import org.apache.pekko.actor.Scheduler; import play.*; import play.mvc.*; import java.util.concurrent.Executor; diff --git a/play-java-websocket-example/app/Module.java b/play-java-websocket-example/app/Module.java index 73affd39a..06b494d29 100644 --- a/play-java-websocket-example/app/Module.java +++ b/play-java-websocket-example/app/Module.java @@ -1,9 +1,9 @@ import actors.*; -import akka.actor.ActorSystem; -import akka.actor.typed.ActorRef; -import akka.actor.typed.Behavior; -import akka.actor.typed.javadsl.Adapter; -import akka.stream.Materializer; +import org.apache.pekko.actor.ActorSystem; +import org.apache.pekko.actor.typed.ActorRef; +import org.apache.pekko.actor.typed.Behavior; +import org.apache.pekko.actor.typed.javadsl.Adapter; +import org.apache.pekko.stream.Materializer; import com.google.inject.AbstractModule; import com.google.inject.TypeLiteral; import com.typesafe.config.Config; diff --git a/play-java-websocket-example/app/actors/StocksActor.java b/play-java-websocket-example/app/actors/StocksActor.java index 91de83aef..4ec066b41 100644 --- a/play-java-websocket-example/app/actors/StocksActor.java +++ b/play-java-websocket-example/app/actors/StocksActor.java @@ -1,8 +1,8 @@ package actors; -import akka.actor.typed.ActorRef; -import akka.actor.typed.Behavior; -import akka.actor.typed.javadsl.Behaviors; +import org.apache.pekko.actor.typed.ActorRef; +import org.apache.pekko.actor.typed.Behavior; +import org.apache.pekko.actor.typed.javadsl.Behaviors; import stocks.Stock; import java.util.HashMap; diff --git a/play-java-websocket-example/app/actors/UserActor.java b/play-java-websocket-example/app/actors/UserActor.java index 1bea3a728..438008ee8 100644 --- a/play-java-websocket-example/app/actors/UserActor.java +++ b/play-java-websocket-example/app/actors/UserActor.java @@ -2,19 +2,19 @@ import actors.StocksActor.Stocks; import actors.StocksActor.GetStocks; -import akka.Done; -import akka.NotUsed; -import akka.actor.typed.ActorRef; -import akka.actor.typed.Behavior; -import akka.actor.typed.PostStop; -import akka.actor.typed.Scheduler; -import akka.actor.typed.javadsl.ActorContext; -import akka.actor.typed.javadsl.Behaviors; -import akka.japi.Pair; -import akka.stream.KillSwitches; -import akka.stream.Materializer; -import akka.stream.UniqueKillSwitch; -import akka.stream.javadsl.*; +import org.apache.pekko.Done; +import org.apache.pekko.NotUsed; +import org.apache.pekko.actor.typed.ActorRef; +import org.apache.pekko.actor.typed.Behavior; +import org.apache.pekko.actor.typed.PostStop; +import org.apache.pekko.actor.typed.Scheduler; +import org.apache.pekko.actor.typed.javadsl.ActorContext; +import org.apache.pekko.actor.typed.javadsl.Behaviors; +import org.apache.pekko.japi.Pair; +import org.apache.pekko.stream.KillSwitches; +import org.apache.pekko.stream.Materializer; +import org.apache.pekko.stream.UniqueKillSwitch; +import org.apache.pekko.stream.javadsl.*; import com.fasterxml.jackson.databind.JsonNode; import play.libs.Json; import stocks.Stock; diff --git a/play-java-websocket-example/app/actors/UserParentActor.java b/play-java-websocket-example/app/actors/UserParentActor.java index 8739eabf6..792311eac 100644 --- a/play-java-websocket-example/app/actors/UserParentActor.java +++ b/play-java-websocket-example/app/actors/UserParentActor.java @@ -1,10 +1,10 @@ package actors; -import akka.NotUsed; -import akka.actor.typed.ActorRef; -import akka.actor.typed.Behavior; -import akka.actor.typed.javadsl.Behaviors; -import akka.stream.javadsl.Flow; +import org.apache.pekko.NotUsed; +import org.apache.pekko.actor.typed.ActorRef; +import org.apache.pekko.actor.typed.Behavior; +import org.apache.pekko.actor.typed.javadsl.Behaviors; +import org.apache.pekko.stream.javadsl.Flow; import com.fasterxml.jackson.databind.JsonNode; import com.typesafe.config.Config; diff --git a/play-java-websocket-example/app/controllers/HomeController.java b/play-java-websocket-example/app/controllers/HomeController.java index 3f07e210b..34a2b2cf8 100644 --- a/play-java-websocket-example/app/controllers/HomeController.java +++ b/play-java-websocket-example/app/controllers/HomeController.java @@ -1,13 +1,13 @@ package controllers; import actors.UserParentActor; -import akka.NotUsed; -import akka.actor.ActorSystem; -import akka.actor.typed.ActorRef; -import akka.actor.typed.Scheduler; -import akka.actor.typed.javadsl.Adapter; -import akka.actor.typed.javadsl.AskPattern; -import akka.stream.javadsl.Flow; +import org.apache.pekko.NotUsed; +import org.apache.pekko.actor.ActorSystem; +import org.apache.pekko.actor.typed.ActorRef; +import org.apache.pekko.actor.typed.Scheduler; +import org.apache.pekko.actor.typed.javadsl.Adapter; +import org.apache.pekko.actor.typed.javadsl.AskPattern; +import org.apache.pekko.stream.javadsl.Flow; import com.fasterxml.jackson.databind.JsonNode; import org.slf4j.Logger; import org.webjars.play.WebJarsUtil; diff --git a/play-java-websocket-example/app/stocks/Stock.java b/play-java-websocket-example/app/stocks/Stock.java index 6dc8b14d6..b081fb52b 100644 --- a/play-java-websocket-example/app/stocks/Stock.java +++ b/play-java-websocket-example/app/stocks/Stock.java @@ -1,10 +1,10 @@ package stocks; -import akka.NotUsed; -import akka.japi.Pair; -import akka.japi.function.Function; -import akka.stream.ThrottleMode; -import akka.stream.javadsl.Source; +import org.apache.pekko.NotUsed; +import org.apache.pekko.japi.Pair; +import org.apache.pekko.japi.function.Function; +import org.apache.pekko.stream.ThrottleMode; +import org.apache.pekko.stream.javadsl.Source; import java.time.Duration; import java.time.temporal.ChronoUnit; diff --git a/play-scala-anorm-example/app/models/DatabaseExecutionContext.scala b/play-scala-anorm-example/app/models/DatabaseExecutionContext.scala index ef2c77035..dec2cc420 100644 --- a/play-scala-anorm-example/app/models/DatabaseExecutionContext.scala +++ b/play-scala-anorm-example/app/models/DatabaseExecutionContext.scala @@ -2,7 +2,7 @@ package models import javax.inject._ -import akka.actor.ActorSystem +import org.apache.pekko.actor.ActorSystem import play.api.libs.concurrent.CustomExecutionContext /** diff --git a/play-scala-chatroom-example/README.md b/play-scala-chatroom-example/README.md index c80a0090f..e530e40c6 100644 --- a/play-scala-chatroom-example/README.md +++ b/play-scala-chatroom-example/README.md @@ -12,7 +12,7 @@ The flow is defined once in the controller, and used everywhere from the `chat` import javax.inject._ import play.api.mvc._ -import akka.stream.scaladsl._ +import org.apache.pekko.stream.scaladsl._ import scala.concurrent._ class HomeController @Inject()(val controllerComponents: ControllerComponents) extends BaseController { diff --git a/play-scala-chatroom-example/app/controllers/HomeController.scala b/play-scala-chatroom-example/app/controllers/HomeController.scala index 169cdcc90..a191df1d0 100644 --- a/play-scala-chatroom-example/app/controllers/HomeController.scala +++ b/play-scala-chatroom-example/app/controllers/HomeController.scala @@ -3,10 +3,10 @@ package controllers import java.net.URI import javax.inject._ -import akka.actor.ActorSystem -import akka.event.{Logging, LoggingAdapter} -import akka.stream.Materializer -import akka.stream.scaladsl.{BroadcastHub, Flow, Keep, MergeHub, Source} +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.event.{Logging, LoggingAdapter} +import org.apache.pekko.stream.Materializer +import org.apache.pekko.stream.scaladsl.{BroadcastHub, Flow, Keep, MergeHub, Source} import play.api.Logger import play.api.mvc._ diff --git a/play-scala-fileupload-example/app/controllers/HomeController.scala b/play-scala-fileupload-example/app/controllers/HomeController.scala index 74708c9d2..876bfb255 100644 --- a/play-scala-fileupload-example/app/controllers/HomeController.scala +++ b/play-scala-fileupload-example/app/controllers/HomeController.scala @@ -4,9 +4,9 @@ import java.io.File import java.nio.file.{Files, Path} import javax.inject._ -import akka.stream.IOResult -import akka.stream.scaladsl._ -import akka.util.ByteString +import org.apache.pekko.stream.IOResult +import org.apache.pekko.stream.scaladsl._ +import org.apache.pekko.util.ByteString import play.api._ import play.api.data.Form import play.api.data.Forms._ diff --git a/play-scala-fileupload-example/test/controllers/HomeControllerSpec.scala b/play-scala-fileupload-example/test/controllers/HomeControllerSpec.scala index cfe688aec..a94138baf 100644 --- a/play-scala-fileupload-example/test/controllers/HomeControllerSpec.scala +++ b/play-scala-fileupload-example/test/controllers/HomeControllerSpec.scala @@ -3,8 +3,8 @@ package controllers import java.io._ import java.nio.file.Files -import akka.stream.scaladsl._ -import akka.util.ByteString +import org.apache.pekko.stream.scaladsl._ +import org.apache.pekko.util.ByteString import org.scalatestplus.play._ import org.scalatestplus.play.guice.GuiceOneServerPerSuite import play.api.libs.ws.WSClient diff --git a/play-scala-grpc-example/app/routers/HelloWorldRouter.scala b/play-scala-grpc-example/app/routers/HelloWorldRouter.scala index 408281df6..1a3983cef 100644 --- a/play-scala-grpc-example/app/routers/HelloWorldRouter.scala +++ b/play-scala-grpc-example/app/routers/HelloWorldRouter.scala @@ -1,7 +1,7 @@ package routers -import akka.actor.ActorSystem -import akka.stream.Materializer +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.Materializer import example.myapp.helloworld.grpc.AbstractGreeterServiceRouter import example.myapp.helloworld.grpc.{ HelloReply, HelloRequest } import javax.inject.Inject diff --git a/play-scala-log4j2-example/app/controllers/AsyncController.scala b/play-scala-log4j2-example/app/controllers/AsyncController.scala index 112eca674..08d9a1b07 100644 --- a/play-scala-log4j2-example/app/controllers/AsyncController.scala +++ b/play-scala-log4j2-example/app/controllers/AsyncController.scala @@ -1,6 +1,6 @@ package controllers -import akka.actor.ActorSystem +import org.apache.pekko.actor.ActorSystem import javax.inject._ import play.api._ import play.api.mvc._ diff --git a/play-scala-log4j2-example/app/filters/ExampleFilter.scala b/play-scala-log4j2-example/app/filters/ExampleFilter.scala index e2f3c1eb3..3543f4718 100644 --- a/play-scala-log4j2-example/app/filters/ExampleFilter.scala +++ b/play-scala-log4j2-example/app/filters/ExampleFilter.scala @@ -1,6 +1,6 @@ package filters -import akka.stream.Materializer +import org.apache.pekko.stream.Materializer import javax.inject._ import play.api.mvc._ import scala.concurrent.{ExecutionContext, Future} diff --git a/play-scala-rest-api-example/app/v1/post/PostRepository.scala b/play-scala-rest-api-example/app/v1/post/PostRepository.scala index 9371c77b4..25a520c65 100644 --- a/play-scala-rest-api-example/app/v1/post/PostRepository.scala +++ b/play-scala-rest-api-example/app/v1/post/PostRepository.scala @@ -2,7 +2,7 @@ package v1.post import javax.inject.{Inject, Singleton} -import akka.actor.ActorSystem +import org.apache.pekko.actor.ActorSystem import play.api.libs.concurrent.CustomExecutionContext import play.api.{Logger, MarkerContext} diff --git a/play-scala-secure-session-example/app/services/session/ClusterSystem.scala b/play-scala-secure-session-example/app/services/session/ClusterSystem.scala index d9b4a3a2a..53b93b812 100644 --- a/play-scala-secure-session-example/app/services/session/ClusterSystem.scala +++ b/play-scala-secure-session-example/app/services/session/ClusterSystem.scala @@ -2,7 +2,7 @@ package services.session import javax.inject.Inject -import akka.actor.ActorSystem +import org.apache.pekko.actor.ActorSystem import com.typesafe.config.ConfigFactory import play.api.Configuration import play.api.inject.ApplicationLifecycle diff --git a/play-scala-secure-session-example/app/services/session/SessionCache.scala b/play-scala-secure-session-example/app/services/session/SessionCache.scala index 2e68b2a0d..4065c7130 100644 --- a/play-scala-secure-session-example/app/services/session/SessionCache.scala +++ b/play-scala-secure-session-example/app/services/session/SessionCache.scala @@ -1,13 +1,13 @@ package services.session -import akka.actor.Cancellable -import akka.actor.typed.{ ActorRef, Behavior, PostStop } -import akka.actor.typed.scaladsl.{ ActorContext, Behaviors } -import akka.cluster.ddata.typed.scaladsl.ReplicatorMessageAdapter -import akka.cluster.ddata.LWWMap +import org.apache.pekko.actor.Cancellable +import org.apache.pekko.actor.typed.{ ActorRef, Behavior, PostStop } +import org.apache.pekko.actor.typed.scaladsl.{ ActorContext, Behaviors } +import org.apache.pekko.cluster.ddata.typed.scaladsl.ReplicatorMessageAdapter +import org.apache.pekko.cluster.ddata.LWWMap import scala.concurrent.duration._ -import akka.cluster.ddata.SelfUniqueAddress +import org.apache.pekko.cluster.ddata.SelfUniqueAddress /** * A replicated key-store map using akka distributed data. The advantage of @@ -29,9 +29,9 @@ class SessionCache( import SessionCache._ import SessionExpiration._ - import akka.cluster.ddata.{ LWWMap, LWWMapKey } - import akka.cluster.ddata.typed.scaladsl.DistributedData - import akka.cluster.ddata.typed.scaladsl.Replicator.{ Command => _, _ } + import org.apache.pekko.cluster.ddata.{ LWWMap, LWWMapKey } + import org.apache.pekko.cluster.ddata.typed.scaladsl.DistributedData + import org.apache.pekko.cluster.ddata.typed.scaladsl.Replicator.{ Command => _, _ } import context.log private val expirationTime: FiniteDuration = { @@ -100,9 +100,9 @@ class SessionCache( } object SessionCache { - import akka.cluster.ddata.LWWMap - import akka.cluster.ddata.typed.scaladsl.DistributedData - import akka.cluster.ddata.typed.scaladsl.Replicator._ + import org.apache.pekko.cluster.ddata.LWWMap + import org.apache.pekko.cluster.ddata.typed.scaladsl.DistributedData + import org.apache.pekko.cluster.ddata.typed.scaladsl.Replicator._ sealed trait Command diff --git a/play-scala-secure-session-example/app/services/session/SessionService.scala b/play-scala-secure-session-example/app/services/session/SessionService.scala index 01d3a007f..36f960104 100644 --- a/play-scala-secure-session-example/app/services/session/SessionService.scala +++ b/play-scala-secure-session-example/app/services/session/SessionService.scala @@ -2,9 +2,9 @@ package services.session import javax.inject.{ Inject, Singleton } -import akka.actor.typed.{ ActorRef, Scheduler } -import akka.actor.typed.scaladsl.AskPattern._ -import akka.util.Timeout +import org.apache.pekko.actor.typed.{ ActorRef, Scheduler } +import org.apache.pekko.actor.typed.scaladsl.AskPattern._ +import org.apache.pekko.util.Timeout import services.session.SessionCache._ import scala.concurrent.duration._ diff --git a/play-scala-starter-example/app/controllers/AsyncController.scala b/play-scala-starter-example/app/controllers/AsyncController.scala index 12a606966..add861e72 100644 --- a/play-scala-starter-example/app/controllers/AsyncController.scala +++ b/play-scala-starter-example/app/controllers/AsyncController.scala @@ -2,7 +2,7 @@ package controllers import javax.inject._ -import akka.actor.ActorSystem +import org.apache.pekko.actor.ActorSystem import play.api.mvc._ import scala.concurrent.duration._ diff --git a/play-scala-starter-example/test/UnitSpec.scala b/play-scala-starter-example/test/UnitSpec.scala index b7663875c..2af178c77 100644 --- a/play-scala-starter-example/test/UnitSpec.scala +++ b/play-scala-starter-example/test/UnitSpec.scala @@ -1,4 +1,4 @@ -import akka.actor.ActorSystem +import org.apache.pekko.actor.ActorSystem import controllers.{AsyncController, CountController} import org.scalatestplus.play._ import play.api.test.Helpers._ diff --git a/play-scala-streaming-example/app/controllers/ScalaCometController.scala b/play-scala-streaming-example/app/controllers/ScalaCometController.scala index 90e2a1c0b..ebe817930 100644 --- a/play-scala-streaming-example/app/controllers/ScalaCometController.scala +++ b/play-scala-streaming-example/app/controllers/ScalaCometController.scala @@ -2,7 +2,7 @@ package controllers import javax.inject.{Inject, Singleton} -import akka.stream.Materializer +import org.apache.pekko.stream.Materializer import play.api.http.ContentTypes import play.api.libs.Comet import play.api.mvc._ diff --git a/play-scala-streaming-example/app/controllers/ScalaTicker.scala b/play-scala-streaming-example/app/controllers/ScalaTicker.scala index f22db1b68..557f4a51d 100644 --- a/play-scala-streaming-example/app/controllers/ScalaTicker.scala +++ b/play-scala-streaming-example/app/controllers/ScalaTicker.scala @@ -3,7 +3,7 @@ package controllers import java.time.ZonedDateTime import java.time.format.DateTimeFormatter -import akka.stream.scaladsl.Source +import org.apache.pekko.stream.scaladsl.Source import play.api.libs.json._ import scala.concurrent.duration._ diff --git a/play-scala-telemetry-example/app/controllers/AsyncController.scala b/play-scala-telemetry-example/app/controllers/AsyncController.scala index 12a606966..add861e72 100644 --- a/play-scala-telemetry-example/app/controllers/AsyncController.scala +++ b/play-scala-telemetry-example/app/controllers/AsyncController.scala @@ -2,7 +2,7 @@ package controllers import javax.inject._ -import akka.actor.ActorSystem +import org.apache.pekko.actor.ActorSystem import play.api.mvc._ import scala.concurrent.duration._ diff --git a/play-scala-tls-example/app/Main.scala b/play-scala-tls-example/app/Main.scala index 847bf4c4e..cb5fa564f 100644 --- a/play-scala-tls-example/app/Main.scala +++ b/play-scala-tls-example/app/Main.scala @@ -1,5 +1,5 @@ -import akka.actor.ActorSystem -import akka.stream.Materializer +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.Materializer import play.api.libs.ws._ import com.typesafe.config.ConfigFactory import play.api.libs.ws.ahc.{ AhcWSClient, AhcWSClientConfigFactory } diff --git a/play-scala-tls-example/test/integration/ServerSpec.scala b/play-scala-tls-example/test/integration/ServerSpec.scala index 1a2ab920d..249984d44 100644 --- a/play-scala-tls-example/test/integration/ServerSpec.scala +++ b/play-scala-tls-example/test/integration/ServerSpec.scala @@ -1,7 +1,7 @@ package integration -import akka.actor.ActorSystem -import akka.stream.Materializer +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.stream.Materializer import com.typesafe.config.ConfigFactory import org.scalatest.BeforeAndAfterAll import org.scalatest.concurrent.PatienceConfiguration diff --git a/play-scala-websocket-example/app/Module.scala b/play-scala-websocket-example/app/Module.scala index 8b56168b8..17151a82f 100644 --- a/play-scala-websocket-example/app/Module.scala +++ b/play-scala-websocket-example/app/Module.scala @@ -1,8 +1,8 @@ import javax.inject.{ Inject, Provider, Singleton } import actors._ -import akka.actor.typed.{ ActorRef, Behavior } -import akka.stream.Materializer +import org.apache.pekko.actor.typed.{ ActorRef, Behavior } +import org.apache.pekko.stream.Materializer import com.google.inject.AbstractModule import play.api.libs.concurrent.AkkaGuiceSupport diff --git a/play-scala-websocket-example/app/actors/StocksActor.scala b/play-scala-websocket-example/app/actors/StocksActor.scala index f1ecd98c6..86dd874d6 100644 --- a/play-scala-websocket-example/app/actors/StocksActor.scala +++ b/play-scala-websocket-example/app/actors/StocksActor.scala @@ -1,7 +1,7 @@ package actors -import akka.actor.typed.{ ActorRef, Behavior } -import akka.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.{ ActorRef, Behavior } +import org.apache.pekko.actor.typed.scaladsl.Behaviors import stocks._ import scala.collection.mutable diff --git a/play-scala-websocket-example/app/actors/UserActor.scala b/play-scala-websocket-example/app/actors/UserActor.scala index 74fd6be12..c3ea2983e 100644 --- a/play-scala-websocket-example/app/actors/UserActor.scala +++ b/play-scala-websocket-example/app/actors/UserActor.scala @@ -3,12 +3,12 @@ package actors import javax.inject._ import actors.StocksActor.{ GetStocks, Stocks } -import akka.actor.typed.scaladsl.{ ActorContext, Behaviors } -import akka.actor.typed.{ ActorRef, ActorSystem, Behavior, PostStop, Scheduler } -import akka.stream._ -import akka.stream.scaladsl._ -import akka.util.Timeout -import akka.{ Done, NotUsed } +import org.apache.pekko.actor.typed.scaladsl.{ ActorContext, Behaviors } +import org.apache.pekko.actor.typed.{ ActorRef, ActorSystem, Behavior, PostStop, Scheduler } +import org.apache.pekko.stream._ +import org.apache.pekko.stream.scaladsl._ +import org.apache.pekko.util.Timeout +import org.apache.pekko.{ Done, NotUsed } import org.slf4j.Logger import play.api.libs.json._ import stocks._ @@ -89,7 +89,7 @@ class UserActor @Inject()(id: String, stocksActor: ActorRef[GetStocks])(implicit * Adds several stocks to the hub, by asking the stocks actor for stocks. */ private def addStocks(symbols: Set[StockSymbol]): Future[Unit] = { - import akka.actor.typed.scaladsl.AskPattern._ + import org.apache.pekko.actor.typed.scaladsl.AskPattern._ // Ask the stocksActor for a stream containing these stocks. val future: Future[Stocks] = stocksActor.ask(replyTo => GetStocks(symbols, replyTo)) diff --git a/play-scala-websocket-example/app/actors/UserParentActor.scala b/play-scala-websocket-example/app/actors/UserParentActor.scala index 498e30629..121ec4453 100644 --- a/play-scala-websocket-example/app/actors/UserParentActor.scala +++ b/play-scala-websocket-example/app/actors/UserParentActor.scala @@ -1,10 +1,10 @@ package actors -import akka.NotUsed -import akka.actor.typed.scaladsl.Behaviors -import akka.actor.typed.{ ActorRef, Behavior, Scheduler } -import akka.stream.scaladsl.Flow -import akka.util.Timeout +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.typed.scaladsl.Behaviors +import org.apache.pekko.actor.typed.{ ActorRef, Behavior, Scheduler } +import org.apache.pekko.stream.scaladsl.Flow +import org.apache.pekko.util.Timeout import com.google.inject.Provides import play.api.Configuration import play.api.libs.concurrent.ActorModule diff --git a/play-scala-websocket-example/app/controllers/HomeController.scala b/play-scala-websocket-example/app/controllers/HomeController.scala index 7df0f3b1c..69bc77e31 100644 --- a/play-scala-websocket-example/app/controllers/HomeController.scala +++ b/play-scala-websocket-example/app/controllers/HomeController.scala @@ -3,11 +3,11 @@ package controllers import javax.inject._ import actors._ -import akka.NotUsed -import akka.actor.typed.{ ActorRef, Scheduler } -import akka.actor.typed.scaladsl.AskPattern._ -import akka.stream.scaladsl._ -import akka.util.Timeout +import org.apache.pekko.NotUsed +import org.apache.pekko.actor.typed.{ ActorRef, Scheduler } +import org.apache.pekko.actor.typed.scaladsl.AskPattern._ +import org.apache.pekko.stream.scaladsl._ +import org.apache.pekko.util.Timeout import play.api.Logger import play.api.libs.json._ import play.api.mvc._ diff --git a/play-scala-websocket-example/app/stocks/Stock.scala b/play-scala-websocket-example/app/stocks/Stock.scala index 67325dadc..805117c3a 100644 --- a/play-scala-websocket-example/app/stocks/Stock.scala +++ b/play-scala-websocket-example/app/stocks/Stock.scala @@ -1,8 +1,8 @@ package stocks -import akka.NotUsed -import akka.stream.ThrottleMode -import akka.stream.scaladsl.Source +import org.apache.pekko.NotUsed +import org.apache.pekko.stream.ThrottleMode +import org.apache.pekko.stream.scaladsl.Source import scala.concurrent.duration._ From 98270d0dc8ce8de9509add5ba02bb7ddc0a91211 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Sat, 7 Oct 2023 01:14:55 +0200 Subject: [PATCH 02/42] Play 3.0.0 M3 --- play-java-akka-cluster-example/project/plugins.sbt | 2 +- play-java-chatroom-example/project/plugins.sbt | 2 +- play-java-compile-di-example/project/plugins.sbt | 2 +- play-java-dagger2-example/project/plugins.sbt | 2 +- play-java-ebean-example/project/plugins.sbt | 2 +- play-java-fileupload-example/project/plugins.sbt | 2 +- play-java-forms-example/project/plugins.sbt | 2 +- play-java-grpc-example/project/plugins.sbt | 2 +- play-java-hello-world-tutorial/project/plugins.sbt | 2 +- play-java-jpa-example/project/plugins.sbt | 2 +- play-java-rest-api-example/project/plugins.sbt | 2 +- play-java-starter-example/project/plugins.sbt | 2 +- play-java-streaming-example/project/plugins.sbt | 2 +- play-java-telemetry-example/project/plugins.sbt | 2 +- play-java-websocket-example/project/plugins.sbt | 2 +- play-scala-anorm-example/project/plugins.sbt | 2 +- play-scala-chatroom-example/project/plugins.sbt | 2 +- play-scala-compile-di-example/project/plugins.sbt | 2 +- play-scala-fileupload-example/project/plugins.sbt | 2 +- play-scala-forms-example/project/plugins.sbt | 2 +- play-scala-grpc-example/project/plugins.sbt | 2 +- play-scala-hello-world-tutorial/project/plugins.sbt | 2 +- play-scala-isolated-slick-example/project/plugins.sbt | 2 +- play-scala-log4j2-example/project/plugins.sbt | 2 +- play-scala-macwire-di-example/project/plugins.sbt | 2 +- play-scala-rest-api-example/project/plugins.sbt | 2 +- play-scala-secure-session-example/project/plugins.sbt | 2 +- play-scala-slick-example/project/plugins.sbt | 2 +- play-scala-starter-example/project/plugins.sbt | 2 +- play-scala-streaming-example/project/plugins.sbt | 2 +- play-scala-telemetry-example/project/plugins.sbt | 2 +- play-scala-tls-example/project/plugins.sbt | 2 +- play-scala-websocket-example/project/plugins.sbt | 2 +- 33 files changed, 33 insertions(+), 33 deletions(-) diff --git a/play-java-akka-cluster-example/project/plugins.sbt b/play-java-akka-cluster-example/project/plugins.sbt index 0ec3b7c43..6eeca331d 100644 --- a/play-java-akka-cluster-example/project/plugins.sbt +++ b/play-java-akka-cluster-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-java-chatroom-example/project/plugins.sbt b/play-java-chatroom-example/project/plugins.sbt index 0ec3b7c43..6eeca331d 100644 --- a/play-java-chatroom-example/project/plugins.sbt +++ b/play-java-chatroom-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-java-compile-di-example/project/plugins.sbt b/play-java-compile-di-example/project/plugins.sbt index 860ad9e27..8f0a39701 100644 --- a/play-java-compile-di-example/project/plugins.sbt +++ b/play-java-compile-di-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-java-dagger2-example/project/plugins.sbt b/play-java-dagger2-example/project/plugins.sbt index 0ec3b7c43..6eeca331d 100644 --- a/play-java-dagger2-example/project/plugins.sbt +++ b/play-java-dagger2-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-java-ebean-example/project/plugins.sbt b/play-java-ebean-example/project/plugins.sbt index 70a293162..a6f0a2a75 100644 --- a/play-java-ebean-example/project/plugins.sbt +++ b/play-java-ebean-example/project/plugins.sbt @@ -1,4 +1,4 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") addSbtPlugin("com.typesafe.play" % "sbt-play-ebean" % "7.0.0-RC2") diff --git a/play-java-fileupload-example/project/plugins.sbt b/play-java-fileupload-example/project/plugins.sbt index 0ec3b7c43..6eeca331d 100644 --- a/play-java-fileupload-example/project/plugins.sbt +++ b/play-java-fileupload-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-java-forms-example/project/plugins.sbt b/play-java-forms-example/project/plugins.sbt index 0ec3b7c43..6eeca331d 100644 --- a/play-java-forms-example/project/plugins.sbt +++ b/play-java-forms-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-java-grpc-example/project/plugins.sbt b/play-java-grpc-example/project/plugins.sbt index 927686090..a7fd17593 100644 --- a/play-java-grpc-example/project/plugins.sbt +++ b/play-java-grpc-example/project/plugins.sbt @@ -3,7 +3,7 @@ val playGrpcV = "0.9.1" buildInfoKeys := Seq[BuildInfoKey]("playGrpcVersion" -> playGrpcV) buildInfoPackage := "play.java.grpc.sample" -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.10.5") diff --git a/play-java-hello-world-tutorial/project/plugins.sbt b/play-java-hello-world-tutorial/project/plugins.sbt index 860ad9e27..8f0a39701 100644 --- a/play-java-hello-world-tutorial/project/plugins.sbt +++ b/play-java-hello-world-tutorial/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-java-jpa-example/project/plugins.sbt b/play-java-jpa-example/project/plugins.sbt index be1f43f11..7b91dfdb2 100644 --- a/play-java-jpa-example/project/plugins.sbt +++ b/play-java-jpa-example/project/plugins.sbt @@ -1,5 +1,5 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") // Web plugins addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.2") diff --git a/play-java-rest-api-example/project/plugins.sbt b/play-java-rest-api-example/project/plugins.sbt index 57fb5265e..7a9229bed 100644 --- a/play-java-rest-api-example/project/plugins.sbt +++ b/play-java-rest-api-example/project/plugins.sbt @@ -1,5 +1,5 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") // Load testing tool: // http://gatling.io/docs/2.2.2/extensions/sbt_plugin.html diff --git a/play-java-starter-example/project/plugins.sbt b/play-java-starter-example/project/plugins.sbt index 0ec3b7c43..6eeca331d 100644 --- a/play-java-starter-example/project/plugins.sbt +++ b/play-java-starter-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-java-streaming-example/project/plugins.sbt b/play-java-streaming-example/project/plugins.sbt index 765c2ac25..140643451 100644 --- a/play-java-streaming-example/project/plugins.sbt +++ b/play-java-streaming-example/project/plugins.sbt @@ -1,2 +1,2 @@ // Use the Play sbt plugin for Play projects -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-java-telemetry-example/project/plugins.sbt b/play-java-telemetry-example/project/plugins.sbt index 96815a69b..d33bd4e79 100644 --- a/play-java-telemetry-example/project/plugins.sbt +++ b/play-java-telemetry-example/project/plugins.sbt @@ -1,5 +1,5 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") addSbtPlugin("com.lightbend.cinnamon" % "sbt-cinnamon" % "2.17.3") diff --git a/play-java-websocket-example/project/plugins.sbt b/play-java-websocket-example/project/plugins.sbt index a8f992ad6..5480d0ad2 100644 --- a/play-java-websocket-example/project/plugins.sbt +++ b/play-java-websocket-example/project/plugins.sbt @@ -1,4 +1,4 @@ -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.1.2") diff --git a/play-scala-anorm-example/project/plugins.sbt b/play-scala-anorm-example/project/plugins.sbt index 0ec3b7c43..6eeca331d 100644 --- a/play-scala-anorm-example/project/plugins.sbt +++ b/play-scala-anorm-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-chatroom-example/project/plugins.sbt b/play-scala-chatroom-example/project/plugins.sbt index 860ad9e27..8f0a39701 100644 --- a/play-scala-chatroom-example/project/plugins.sbt +++ b/play-scala-chatroom-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-compile-di-example/project/plugins.sbt b/play-scala-compile-di-example/project/plugins.sbt index 860ad9e27..8f0a39701 100644 --- a/play-scala-compile-di-example/project/plugins.sbt +++ b/play-scala-compile-di-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-fileupload-example/project/plugins.sbt b/play-scala-fileupload-example/project/plugins.sbt index 4ab5d21ef..918b5e9a2 100644 --- a/play-scala-fileupload-example/project/plugins.sbt +++ b/play-scala-fileupload-example/project/plugins.sbt @@ -1,4 +1,4 @@ resolvers += Resolver.jcenterRepo // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-forms-example/project/plugins.sbt b/play-scala-forms-example/project/plugins.sbt index 860ad9e27..8f0a39701 100644 --- a/play-scala-forms-example/project/plugins.sbt +++ b/play-scala-forms-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-grpc-example/project/plugins.sbt b/play-scala-grpc-example/project/plugins.sbt index 7f01950e5..50a12e02e 100644 --- a/play-scala-grpc-example/project/plugins.sbt +++ b/play-scala-grpc-example/project/plugins.sbt @@ -4,7 +4,7 @@ buildInfoKeys := Seq[BuildInfoKey]("playGrpcVersion" -> playGrpcV) buildInfoPackage := "play.scala.grpc.sample" -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.10.5") diff --git a/play-scala-hello-world-tutorial/project/plugins.sbt b/play-scala-hello-world-tutorial/project/plugins.sbt index 860ad9e27..8f0a39701 100644 --- a/play-scala-hello-world-tutorial/project/plugins.sbt +++ b/play-scala-hello-world-tutorial/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-isolated-slick-example/project/plugins.sbt b/play-scala-isolated-slick-example/project/plugins.sbt index 7cd352f54..09dc948bf 100644 --- a/play-scala-isolated-slick-example/project/plugins.sbt +++ b/play-scala-isolated-slick-example/project/plugins.sbt @@ -9,4 +9,4 @@ addSbtPlugin("io.github.davidmweber" % "flyway-sbt" % "7.4.0") addSbtPlugin("com.github.tototoshi" % "sbt-slick-codegen" % "2.0.0") // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-log4j2-example/project/plugins.sbt b/play-scala-log4j2-example/project/plugins.sbt index 0ec3b7c43..6eeca331d 100644 --- a/play-scala-log4j2-example/project/plugins.sbt +++ b/play-scala-log4j2-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-macwire-di-example/project/plugins.sbt b/play-scala-macwire-di-example/project/plugins.sbt index 860ad9e27..8f0a39701 100644 --- a/play-scala-macwire-di-example/project/plugins.sbt +++ b/play-scala-macwire-di-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-rest-api-example/project/plugins.sbt b/play-scala-rest-api-example/project/plugins.sbt index 0487cd67b..16daf8046 100644 --- a/play-scala-rest-api-example/project/plugins.sbt +++ b/play-scala-rest-api-example/project/plugins.sbt @@ -1,5 +1,5 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") // sbt-paradox, used for documentation addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.10.5") diff --git a/play-scala-secure-session-example/project/plugins.sbt b/play-scala-secure-session-example/project/plugins.sbt index 0ec3b7c43..6eeca331d 100644 --- a/play-scala-secure-session-example/project/plugins.sbt +++ b/play-scala-secure-session-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-slick-example/project/plugins.sbt b/play-scala-slick-example/project/plugins.sbt index 0ec3b7c43..6eeca331d 100644 --- a/play-scala-slick-example/project/plugins.sbt +++ b/play-scala-slick-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-starter-example/project/plugins.sbt b/play-scala-starter-example/project/plugins.sbt index 0ec3b7c43..6eeca331d 100644 --- a/play-scala-starter-example/project/plugins.sbt +++ b/play-scala-starter-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-streaming-example/project/plugins.sbt b/play-scala-streaming-example/project/plugins.sbt index 765c2ac25..140643451 100644 --- a/play-scala-streaming-example/project/plugins.sbt +++ b/play-scala-streaming-example/project/plugins.sbt @@ -1,2 +1,2 @@ // Use the Play sbt plugin for Play projects -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-telemetry-example/project/plugins.sbt b/play-scala-telemetry-example/project/plugins.sbt index 96815a69b..d33bd4e79 100644 --- a/play-scala-telemetry-example/project/plugins.sbt +++ b/play-scala-telemetry-example/project/plugins.sbt @@ -1,5 +1,5 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") addSbtPlugin("com.lightbend.cinnamon" % "sbt-cinnamon" % "2.17.3") diff --git a/play-scala-tls-example/project/plugins.sbt b/play-scala-tls-example/project/plugins.sbt index 0ec3b7c43..6eeca331d 100644 --- a/play-scala-tls-example/project/plugins.sbt +++ b/play-scala-tls-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-websocket-example/project/plugins.sbt b/play-scala-websocket-example/project/plugins.sbt index 04a6b0c13..d3acc342f 100644 --- a/play-scala-websocket-example/project/plugins.sbt +++ b/play-scala-websocket-example/project/plugins.sbt @@ -1,5 +1,5 @@ // Use the Play sbt plugin for Play projects -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.0-RC2") +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.1.2") From fe2dec7070a586cc10360a98184042f568520120 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Mon, 9 Oct 2023 00:00:14 +0200 Subject: [PATCH 03/42] akka -> pekko --- play-java-grpc-example/build.sbt | 6 +++--- .../docs/src/main/paradox/code-details.md | 2 +- play-scala-chatroom-example/build.sbt | 2 +- play-scala-grpc-example/build.sbt | 6 +++--- .../docs/src/main/paradox/code-details.md | 2 +- play-scala-secure-session-example/build.sbt | 2 +- play-scala-tls-example/build.sbt | 2 +- play-scala-websocket-example/build.sbt | 2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/play-java-grpc-example/build.sbt b/play-java-grpc-example/build.sbt index 9506e43da..a18313f5b 100644 --- a/play-java-grpc-example/build.sbt +++ b/play-java-grpc-example/build.sbt @@ -1,5 +1,5 @@ -import play.core.PlayVersion.akkaVersion -import play.core.PlayVersion.akkaHttpVersion +import play.core.PlayVersion.pekkoVersion +import play.core.PlayVersion.pekkoHttpVersion import play.grpc.gen.javadsl.{ PlayJavaClientCodeGenerator, PlayJavaServerCodeGenerator } import com.typesafe.sbt.packager.docker.{ Cmd, CmdLike, DockerAlias, ExecCmd } import play.java.grpc.sample.BuildInfo @@ -12,7 +12,7 @@ version := "1.0-SNAPSHOT" lazy val `play-java-grpc-example` = (project in file(".")) .enablePlugins(PlayJava) .enablePlugins(AkkaGrpcPlugin) // enables source generation for gRPC - .enablePlugins(PlayAkkaHttp2Support) // enables serving HTTP/2 and gRPC + .enablePlugins(PlayPekkoHttp2Support) // enables serving HTTP/2 and gRPC // #grpc_play_plugins .settings( akkaGrpcGeneratedLanguages := Seq(AkkaGrpc.Java), diff --git a/play-java-grpc-example/docs/src/main/paradox/code-details.md b/play-java-grpc-example/docs/src/main/paradox/code-details.md index fd87b7911..f061139c0 100644 --- a/play-java-grpc-example/docs/src/main/paradox/code-details.md +++ b/play-java-grpc-example/docs/src/main/paradox/code-details.md @@ -15,7 +15,7 @@ and enable it on your project (in `build.sbt`): The `AkkaGrpcPlugin` locates the gRPC `.proto` files and generates source code from it. Remember to enable the plugin in all the projects of your build that want to use it. -Note how the `PlayAkkaHttp2Support` is also enabled. gRPC requires HTTP/2 transport and Play supports it only as an opt-in plugin. +Note how the `PlayPekkoHttp2Support` is also enabled. gRPC requires HTTP/2 transport and Play supports it only as an opt-in plugin. ### 2.a Serving (Akka) gRPC Services diff --git a/play-scala-chatroom-example/build.sbt b/play-scala-chatroom-example/build.sbt index 7466ce90a..5b7cc0db5 100644 --- a/play-scala-chatroom-example/build.sbt +++ b/play-scala-chatroom-example/build.sbt @@ -1,4 +1,4 @@ -import play.core.PlayVersion.akkaVersion +import play.core.PlayVersion.pekkoVersion lazy val root = (project in file(".")) .enablePlugins(PlayScala) diff --git a/play-scala-grpc-example/build.sbt b/play-scala-grpc-example/build.sbt index 266102d5a..6b5524873 100644 --- a/play-scala-grpc-example/build.sbt +++ b/play-scala-grpc-example/build.sbt @@ -1,5 +1,5 @@ -import play.core.PlayVersion.akkaVersion -import play.core.PlayVersion.akkaHttpVersion +import play.core.PlayVersion.pekkoVersion +import play.core.PlayVersion.pekkoHttpVersion import play.grpc.gen.scaladsl.{ PlayScalaClientCodeGenerator, PlayScalaServerCodeGenerator } import com.typesafe.sbt.packager.docker.{ Cmd, CmdLike, DockerAlias, ExecCmd } import play.scala.grpc.sample.BuildInfo @@ -13,7 +13,7 @@ version := "1.0-SNAPSHOT" lazy val `play-scala-grpc-example` = (project in file(".")) .enablePlugins(PlayScala) .enablePlugins(AkkaGrpcPlugin) // enables source generation for gRPC - .enablePlugins(PlayAkkaHttp2Support) // enables serving HTTP/2 and gRPC + .enablePlugins(PlayPekkoHttp2Support) // enables serving HTTP/2 and gRPC // #grpc_play_plugins .settings( akkaGrpcGeneratedLanguages := Seq(AkkaGrpc.Scala), diff --git a/play-scala-grpc-example/docs/src/main/paradox/code-details.md b/play-scala-grpc-example/docs/src/main/paradox/code-details.md index 8c9f826e7..20182cdd2 100644 --- a/play-scala-grpc-example/docs/src/main/paradox/code-details.md +++ b/play-scala-grpc-example/docs/src/main/paradox/code-details.md @@ -15,7 +15,7 @@ and enable it on your project (in `build.sbt`): The `AkkaGrpcPlugin` locates the gRPC `.proto` files and generates source code from it. Remember to enable the plugin in all the projects of your build that want to use it. -Note how the `PlayAkkaHttp2Support` is also enabled. gRPC requires HTTP/2 transport and Play supports it only as an opt-in plugin. +Note how the `PlayPekkoHttp2Support` is also enabled. gRPC requires HTTP/2 transport and Play supports it only as an opt-in plugin. ### 2.a Serving (Akka) gRPC Services diff --git a/play-scala-secure-session-example/build.sbt b/play-scala-secure-session-example/build.sbt index a0c1e4a2b..34b3f8d78 100644 --- a/play-scala-secure-session-example/build.sbt +++ b/play-scala-secure-session-example/build.sbt @@ -1,4 +1,4 @@ -import play.core.PlayVersion.akkaVersion +import play.core.PlayVersion.pekkoVersion lazy val root = (project in file(".")) .enablePlugins(PlayScala) diff --git a/play-scala-tls-example/build.sbt b/play-scala-tls-example/build.sbt index 0a5a08730..39f0e5c8e 100644 --- a/play-scala-tls-example/build.sbt +++ b/play-scala-tls-example/build.sbt @@ -16,7 +16,7 @@ lazy val two = (project in file("modules/two")) .settings(commonSettings) lazy val root = (project in file(".")) - .enablePlugins(PlayScala, PlayAkkaHttp2Support) + .enablePlugins(PlayScala, PlayPekkoHttp2Support) .settings(commonSettings) .settings( name := """play-scala-tls-example""", diff --git a/play-scala-websocket-example/build.sbt b/play-scala-websocket-example/build.sbt index 8c66851f1..4c92d53a6 100644 --- a/play-scala-websocket-example/build.sbt +++ b/play-scala-websocket-example/build.sbt @@ -1,4 +1,4 @@ -import play.core.PlayVersion.akkaVersion +import play.core.PlayVersion.pekkoVersion lazy val root = (project in file(".")) .enablePlugins(PlayScala) From 73581c8b441bfb51569ee22fc11a11e98214b7a9 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Wed, 18 Oct 2023 12:24:30 +0200 Subject: [PATCH 04/42] More Akka to Pekko migration --- .scala-steward.conf | 2 +- play-java-akka-cluster-example/README.md | 44 +++++++++---------- .../app/controllers/HomeController.java | 4 +- .../app/modules/AppModule.java | 6 +-- .../app/services/CborSerializable.java | 4 +- .../app/services/CounterActor.java | 6 +-- play-java-akka-cluster-example/build.sbt | 12 ++--- .../conf/application.conf | 2 +- .../conf/cluster.conf | 4 +- .../conf/local-shared.conf | 8 ++-- .../conf/local1.conf | 2 +- .../conf/local2.conf | 2 +- .../conf/local3.conf | 2 +- .../conf/logback.xml | 6 +-- .../conf/serialization.conf | 4 +- play-java-chatroom-example/README.md | 2 +- .../conf/application.conf | 8 ++-- .../app/dagger/MyComponentsFromContext.java | 2 +- play-java-fileupload-example/README.md | 2 +- play-java-grpc-example/README.md | 2 +- play-java-grpc-example/build.sbt | 6 +-- play-java-grpc-example/conf/application.conf | 8 ++-- .../docs/src/main/paradox/code-details.md | 10 ++--- .../docs/src/main/paradox/index.md | 6 +-- .../docs/src/main/paradox/locally.md | 2 +- .../myapp/helloworld/HelloFunctionalTest.java | 4 +- play-java-hello-world-tutorial/README.md | 2 +- .../app/views/index.scala.html | 2 +- play-java-rest-api-example/conf/logback.xml | 4 +- .../app/controllers/AsyncController.java | 2 +- .../conf/application.conf | 14 +++--- play-java-streaming-example/README.md | 2 +- .../app/controllers/AsyncController.java | 2 +- play-java-websocket-example/README.md | 10 ++--- play-java-websocket-example/app/Module.java | 4 +- .../app/actors/UserActor.java | 2 +- .../conf/application.conf | 8 ++-- play-java-websocket-example/conf/logback.xml | 6 +-- play-scala-chatroom-example/README.md | 2 +- play-scala-chatroom-example/build.sbt | 6 +-- .../conf/application.conf | 8 ++-- play-scala-chatroom-example/conf/logback.xml | 2 +- play-scala-fileupload-example/README.md | 2 +- play-scala-grpc-example/README.md | 2 +- play-scala-grpc-example/build.sbt | 6 +-- play-scala-grpc-example/conf/application.conf | 8 ++-- .../docs/src/main/paradox/code-details.md | 10 ++--- .../docs/src/main/paradox/index.md | 6 +-- .../docs/src/main/paradox/locally.md | 2 +- play-scala-hello-world-tutorial/README.md | 2 +- .../app/views/index.scala.html | 2 +- play-scala-log4j2-example/README.md | 10 ++--- .../conf/application.conf | 14 +++--- .../docs/src/main/paradox/index.md | 2 +- play-scala-secure-session-example/README.md | 4 +- .../app/Module.scala | 4 +- .../app/services/session/ClusterSystem.scala | 6 +-- .../app/services/session/SessionCache.scala | 8 ++-- .../app/services/session/SessionService.scala | 4 +- play-scala-secure-session-example/build.sbt | 4 +- .../conf/application.conf | 16 +++---- .../conf/logback.xml | 2 +- .../conf/application.conf | 14 +++--- play-scala-streaming-example/README.md | 2 +- .../GuiceOneHttpsServerPerTest.scala | 4 +- play-scala-websocket-example/README.md | 10 ++--- play-scala-websocket-example/app/Module.scala | 4 +- .../app/actors/UserActor.scala | 2 +- .../conf/application.conf | 8 ++-- play-scala-websocket-example/conf/logback.xml | 4 +- test.sh | 2 +- 71 files changed, 200 insertions(+), 200 deletions(-) diff --git a/.scala-steward.conf b/.scala-steward.conf index 56db56c5f..61756aaaa 100644 --- a/.scala-steward.conf +++ b/.scala-steward.conf @@ -7,7 +7,7 @@ pullRequests.grouping = [ ] buildRoots = [ - "play-java-akka-cluster-example", + "play-java-pekko-cluster-example", "play-java-chatroom-example", "play-java-compile-di-example", "play-java-dagger2-example", diff --git a/play-java-akka-cluster-example/README.md b/play-java-akka-cluster-example/README.md index 90c8a178b..2f75b7d4a 100644 --- a/play-java-akka-cluster-example/README.md +++ b/play-java-akka-cluster-example/README.md @@ -1,6 +1,6 @@ -# Play Java Akka Cluster Example +# Play Java Pekko Cluster Example -This example demonstrates how to setup the Play-provided `ActorSystem` to build a [cluster](https://doc.akka.io/docs/akka/2.6/typed/cluster.html). +This example demonstrates how to setup the Play-provided `ActorSystem` to build a [cluster](https://pekko.apache.org/docs/pekko/current/typed/cluster.html). The example is a very simple Play application with a counter in an [actor](app/services/CounterActor.java). @@ -9,13 +9,13 @@ When creating a counter in a system with multiple nodes running we have two opti 1. Keep the count on a database and block on each concurrent access 2. Keep the count in memory with eventual copies on the database and have that memory copy be a persistent singleton across our cluster. -This application demonstrates how to use an [Akka Cluster Singleton](https://doc.akka.io/docs/akka/2.6/typed/cluster-singleton.html#example) in +This application demonstrates how to use an [Pekko Cluster Singleton](https://pekko.apache.org/docs/pekko/current/typed/cluster-singleton.html#example) in Play to implement the counter. To turn a non-clustered Play application to a clustered one you need to do the following: -1. include the dependency to `"com.typesafe.akka" %% "akka-cluster-typed" % PlayVersion.akkaVersion` (see [build.sbt](build.sbt)). -2. use one of the available methods to form a cluster [provided by Akka Cluster](https://doc.akka.io/docs/akka/2.6/typed/cluster.html#joining). +1. include the dependency to `"org.apache.pekko" %% "pekko-cluster-typed" % PlayVersion.pekkoVersion` (see [build.sbt](build.sbt)). +2. use one of the available methods to form a cluster [provided by Pekko Cluster](https://pekko.apache.org/docs/pekko/current/typed/cluster.html#joining). ### Considerations for a clustered Play application in Dev Mode @@ -27,10 +27,10 @@ But when you try to run a clustered Play application in Dev Mode there is a prob See the source code in [`modules/AppModule.java`](modules/AppModule.java) for the logic controlling how the `ActorSystem` of anode participates on the cluster formation. This example application demonstrates: -1. the [Akka Cluster API](https://doc.akka.io/docs/akka/2.6/typed/cluster.html#joining-programmatically-to-seed-nodes) for self-joining in Dev Mode, and -2. the setup of [`seed-node` in configuration](https://doc.akka.io/docs/akka/2.6/typed/cluster.html#joining-configured-seed-nodes) for Prod Mode +1. the [Pekko Cluster API](https://pekko.apache.org/docs/pekko/current/typed/cluster.html#joining-programmatically-to-seed-nodes) for self-joining in Dev Mode, and +2. the setup of [`seed-node` in configuration](https://pekko.apache.org/docs/pekko/current/typed/cluster.html#joining-configured-seed-nodes) for Prod Mode -but it doesn't demonstrate the [`Akka Cluster Bootstrap`](https://doc.akka.io/docs/akka/2.6/typed/cluster.html#joining-automatically-to-seed-nodes-with-cluster-bootstrap) +but it doesn't demonstrate the [`Pekko Cluster Bootstrap`](https://pekko.apache.org/docs/pekko/current/typed/cluster.html#joining-automatically-to-seed-nodes-with-cluster-bootstrap) ## Running this sample in Dev Mode @@ -45,37 +45,37 @@ and open the URL http://localhost:9000/. You can run this sample in `Production Mode` on your local machine. This section will guide you on starting 3 different nodes in your local machine and forming a cluster between them. The following steps will package the application and prepare folder with necessary artifacts for the execution: -1. open a terminal and change directory to the `play-java-akka-cluster-example` folder. +1. open a terminal and change directory to the `play-java-pekko-cluster-example` folder. 2. package the application using `sbt dist` from the -3. locate the file `play-java-akka-cluster-example/target/universal/play-java-akka-cluster-example-1.0-SNAPSHOT.zip`, copy it to a folder of your +3. locate the file `play-java-pekko-cluster-example/target/universal/play-java-pekko-cluster-example-1.0-SNAPSHOT.zip`, copy it to a folder of your choice and `unzip` it. > NOTE: This sample application ships with extra config files that make it very easy to run multiple nodes on a single machine. If you want to -> deploy a Play application with Akka Cluster you should refer to the Akka and Play documentation for extra considerations regarding port biding ->, secret management, [cluster bootstrapping[(https://doc.akka.io/docs/akka/2.6/typed/cluster.html#joining-automatically-to-seed-nodes-with-cluster-bootstrap), etc... +> deploy a Play application with Pekko Cluster you should refer to the Pekko and Play documentation for extra considerations regarding port biding +>, secret management, [cluster bootstrapping[(https://pekko.apache.org/docs/pekko/current/typed/cluster.html#joining-automatically-to-seed-nodes-with-cluster-bootstrap), etc... Open three separate terminals on the folder where you unzipped the file and run the following commands (one on each terminal): -`bin/play-java-akka-cluster-example -Dconfig.file=local1.conf` +`bin/play-java-pekko-cluster-example -Dconfig.file=local1.conf` -`bin/play-java-akka-cluster-example -Dconfig.file=local2.conf` +`bin/play-java-pekko-cluster-example -Dconfig.file=local2.conf` -`bin/play-java-akka-cluster-example -Dconfig.file=local3.conf` +`bin/play-java-pekko-cluster-example -Dconfig.file=local3.conf` In the terminals you should see activity like: ``` -2020-09-01 11:40:45 INFO akka.cluster.Cluster Cluster(akka://application) Cluster Node [akka://application@127.0.0.1:25521] - Node [akka://application@127.0.0.1:25521] is JOINING itself (with roles [dc-default]) and forming new cluster -2020-09-01 11:40:45 INFO akka.cluster.Cluster Cluster(akka://application) Cluster Node [akka://application@127.0.0.1:25521] - is the new leader among reachable nodes (more leaders may exist) -2020-09-01 11:40:45 INFO akka.cluster.Cluster Cluster(akka://application) Cluster Node [akka://application@127.0.0.1:25521] - Leader is moving node [akka://application@127.0.0.1:25521] to [Up] +2020-09-01 11:40:45 INFO org.apache.pekko.cluster.Cluster Cluster(pekko://application) Cluster Node [pekko://application@127.0.0.1:25521] - Node [pekko://application@127.0.0.1:25521] is JOINING itself (with roles [dc-default]) and forming new cluster +2020-09-01 11:40:45 INFO org.apache.pekko.cluster.Cluster Cluster(pekko://application) Cluster Node [pekko://application@127.0.0.1:25521] - is the new leader among reachable nodes (more leaders may exist) +2020-09-01 11:40:45 INFO org.apache.pekko.cluster.Cluster Cluster(pekko://application) Cluster Node [pekko://application@127.0.0.1:25521] - Leader is moving node [pekko://application@127.0.0.1:25521] to [Up] ``` -The logs above indicate node 1 (identified as `akka://application@127.0.0.1:25521`) and node 2 (identified as `akka://application@127.0.0.1:25522 -`) have seen each other and established a connection, then `akka://application@127.0.0.1:25521` became the leader and that leader decided to mark - `akka://application@127.0.0.1:25521`'s status as `Up`. Finally, the singleton `counter-actor` that we use on this sample app is available. You - should also see, in the logs, how the node 3 (identified as `akka://application@127.0.0.1:25523`) also joins the cluster. +The logs above indicate node 1 (identified as `pekko://application@127.0.0.1:25521`) and node 2 (identified as `pekko://application@127.0.0.1:25522 +`) have seen each other and established a connection, then `pekko://application@127.0.0.1:25521` became the leader and that leader decided to mark + `pekko://application@127.0.0.1:25521`'s status as `Up`. Finally, the singleton `counter-actor` that we use on this sample app is available. You + should also see, in the logs, how the node 3 (identified as `pekko://application@127.0.0.1:25523`) also joins the cluster. Finally, open three browser tabs to the URLs http://localhost:9001/, http://localhost:9002/, and http://localhost:9003/ (each points to a different Play instance) and interact with the UI. Note how all three increment a single counter in the singleton. diff --git a/play-java-akka-cluster-example/app/controllers/HomeController.java b/play-java-akka-cluster-example/app/controllers/HomeController.java index 9b1be603d..5b2306c8e 100644 --- a/play-java-akka-cluster-example/app/controllers/HomeController.java +++ b/play-java-akka-cluster-example/app/controllers/HomeController.java @@ -39,7 +39,7 @@ public HomeController(ActorRef counterActor, Scheduler sch public CompletionStage index() { - // https://www.playframework.com/documentation/latest/AkkaTyped#Using-the-AskPattern-&-Typed-Scheduler + // https://www.playframework.com/documentation/latest/PekkoTyped#Using-the-AskPattern-&-Typed-Scheduler return AskPattern.ask( counterActor, GetValue::new, @@ -49,7 +49,7 @@ public CompletionStage index() { } public CompletionStage increment() { - // https://www.playframework.com/documentation/latest/AkkaTyped#Using-the-AskPattern-&-Typed-Scheduler + // https://www.playframework.com/documentation/latest/PekkoTyped#Using-the-AskPattern-&-Typed-Scheduler return AskPattern.ask( counterActor, Increment::new, diff --git a/play-java-akka-cluster-example/app/modules/AppModule.java b/play-java-akka-cluster-example/app/modules/AppModule.java index 32880a85a..71af4fc1e 100644 --- a/play-java-akka-cluster-example/app/modules/AppModule.java +++ b/play-java-akka-cluster-example/app/modules/AppModule.java @@ -30,7 +30,7 @@ protected void configure() { } public static class HelloActorProvider implements Provider> { - private final akka.actor.typed.ActorSystem actorSystem; + private final org.apache.pekko.actor.typed.ActorSystem actorSystem; private Environment environment; @Inject @@ -51,10 +51,10 @@ public ActorRef get() { // In Prod mode, there's no need to do anything since // the default behavior will be to read the seed node list // from the configuration. - // If you prefer use Akka Cluster Management, then set it up here. + // If you prefer use Pekko Cluster Management, then set it up here. } - // Initialize the ClusterSingleton Akka extension + // Initialize the ClusterSingleton Pekko extension ClusterSingleton clusterSingleton = ClusterSingleton.get(actorSystem); SingletonActor singletonActor = SingletonActor.of(CounterActor.create(), "counter-actor"); diff --git a/play-java-akka-cluster-example/app/services/CborSerializable.java b/play-java-akka-cluster-example/app/services/CborSerializable.java index 2a5b19ded..0fb84bd4b 100644 --- a/play-java-akka-cluster-example/app/services/CborSerializable.java +++ b/play-java-akka-cluster-example/app/services/CborSerializable.java @@ -2,9 +2,9 @@ /** * Marker trait for serialization with Jackson CBOR. - * Enabled in serialization.conf `akka.actor.serialization-bindings` (via application.conf). + * Enabled in serialization.conf `pekko.actor.serialization-bindings` (via application.conf). * - * See also https://doc.akka.io/docs/akka/2.6/serialization-jackson.html#introduction + * See also https://pekko.apache.org/docs/pekko/current/serialization-jackson.html#introduction */ public interface CborSerializable { } diff --git a/play-java-akka-cluster-example/app/services/CounterActor.java b/play-java-akka-cluster-example/app/services/CounterActor.java index 9287a9b40..87648492e 100644 --- a/play-java-akka-cluster-example/app/services/CounterActor.java +++ b/play-java-akka-cluster-example/app/services/CounterActor.java @@ -9,7 +9,7 @@ import com.fasterxml.jackson.annotation.JsonCreator; /** - * Counter actor based on https://doc.akka.io/docs/akka/2.6/typed/cluster-singleton.html#example + * Counter actor based on https://pekko.apache.org/docs/pekko/current/typed/cluster-singleton.html#example * Modifications: * - added `replyTo` field to `Increment` message so we can respond with the current counter value. * - removed unused message from the protocol (and corresponding handler). @@ -17,9 +17,9 @@ * NOTE: This example application uses a transient counter. Every time the Cluster Singleton were this counter * reside moves from a node to another (when the cluster members change singletons may be relocated) the in-memory * counter will be wiped. To make this counter durable use - * [Akka Persistence](https://doc.akka.io/docs/akka/2.6/typed/persistence.html#example-and-core-api). + * [Pekko Persistence](https://pekko.apache.org/docs/pekko/current/typed/persistence.html#example-and-core-api). * - * TODO: `CounterActor` should extend `EventSourcedBehavior` from Akka Persistence to make the count durable. + * TODO: `CounterActor` should extend `EventSourcedBehavior` from Pekko Persistence to make the count durable. */ public class CounterActor extends AbstractBehavior { diff --git a/play-java-akka-cluster-example/build.sbt b/play-java-akka-cluster-example/build.sbt index e8243ddc5..0f2dc454d 100644 --- a/play-java-akka-cluster-example/build.sbt +++ b/play-java-akka-cluster-example/build.sbt @@ -1,6 +1,6 @@ import play.core.PlayVersion -name := """play-java-akka-cluster-example""" +name := """play-java-pekko-cluster-example""" organization := "com.example" version := "1.0-SNAPSHOT" @@ -13,11 +13,11 @@ scalaVersion := crossScalaVersions.value.head libraryDependencies += guice -val akkaVersion = PlayVersion.akkaVersion +val pekkoVersion = PlayVersion.pekkoVersion -// this dependency is required to form the Akka Cluster -libraryDependencies += ("com.typesafe.akka" %% "akka-cluster-typed" % akkaVersion).cross(CrossVersion.for3Use2_13) +// this dependency is required to form the Pekko Cluster +libraryDependencies += ("org.apache.pekko" %% "pekko-cluster-typed" % pekkoVersion).cross(CrossVersion.for3Use2_13) -// Sending messages from a node to another in the Akka Cluster requires serializing. This -// example application uses the default Akka Jackson serializer with the CBOR format. +// Sending messages from a node to another in the Pekko Cluster requires serializing. This +// example application uses the default Pekko Jackson serializer with the CBOR format. // See also `conf/serialization.conf` and `services.CborSerializable` for more info. diff --git a/play-java-akka-cluster-example/conf/application.conf b/play-java-akka-cluster-example/conf/application.conf index 01ecabd75..c1936bff6 100644 --- a/play-java-akka-cluster-example/conf/application.conf +++ b/play-java-akka-cluster-example/conf/application.conf @@ -4,4 +4,4 @@ include "serialization" play.modules.enabled += modules.AppModule -akka.loglevel = INFO \ No newline at end of file +pekko.loglevel = INFO \ No newline at end of file diff --git a/play-java-akka-cluster-example/conf/cluster.conf b/play-java-akka-cluster-example/conf/cluster.conf index 44c2aa148..40eb3f75e 100644 --- a/play-java-akka-cluster-example/conf/cluster.conf +++ b/play-java-akka-cluster-example/conf/cluster.conf @@ -1,8 +1,8 @@ -akka { +pekko { actor.provider = cluster cluster { - downing-provider-class = "akka.cluster.sbr.SplitBrainResolverProvider" + downing-provider-class = "org.apache.pekko.cluster.sbr.SplitBrainResolverProvider" } } diff --git a/play-java-akka-cluster-example/conf/local-shared.conf b/play-java-akka-cluster-example/conf/local-shared.conf index ad8a15270..dec13a674 100644 --- a/play-java-akka-cluster-example/conf/local-shared.conf +++ b/play-java-akka-cluster-example/conf/local-shared.conf @@ -1,11 +1,11 @@ -akka.remote.artery.canonical.hostname = "127.0.0.1" +pekko.remote.artery.canonical.hostname = "127.0.0.1" play { http.secret.key=some-random-secret server.pidfile.path = "/dev/null" } -akka.cluster.seed-nodes = [ - "akka://application@127.0.0.1:25521", - "akka://application@127.0.0.1:25522" +pekko.cluster.seed-nodes = [ + "pekko://application@127.0.0.1:25521", + "pekko://application@127.0.0.1:25522" ] \ No newline at end of file diff --git a/play-java-akka-cluster-example/conf/local1.conf b/play-java-akka-cluster-example/conf/local1.conf index 6e1acb898..f214403c0 100644 --- a/play-java-akka-cluster-example/conf/local1.conf +++ b/play-java-akka-cluster-example/conf/local1.conf @@ -1,5 +1,5 @@ include "application" include "local-shared" -akka.remote.artery.canonical.port = 25521 +pekko.remote.artery.canonical.port = 25521 http.port = 9001 diff --git a/play-java-akka-cluster-example/conf/local2.conf b/play-java-akka-cluster-example/conf/local2.conf index b6f3f04de..ad2023b09 100644 --- a/play-java-akka-cluster-example/conf/local2.conf +++ b/play-java-akka-cluster-example/conf/local2.conf @@ -1,5 +1,5 @@ include "application" include "local-shared" -akka.remote.artery.canonical.port = 25522 +pekko.remote.artery.canonical.port = 25522 http.port = 9002 diff --git a/play-java-akka-cluster-example/conf/local3.conf b/play-java-akka-cluster-example/conf/local3.conf index 44ed43241..6704fe948 100644 --- a/play-java-akka-cluster-example/conf/local3.conf +++ b/play-java-akka-cluster-example/conf/local3.conf @@ -1,5 +1,5 @@ include "application" include "local-shared" -akka.remote.artery.canonical.port = 25523 +pekko.remote.artery.canonical.port = 25523 http.port = 9003 diff --git a/play-java-akka-cluster-example/conf/logback.xml b/play-java-akka-cluster-example/conf/logback.xml index c32b46a28..070cb92e8 100644 --- a/play-java-akka-cluster-example/conf/logback.xml +++ b/play-java-akka-cluster-example/conf/logback.xml @@ -14,14 +14,14 @@ ${application.home:-.}/logs/application.log UTF-8 - %d{yyyy-MM-dd HH:mm:ss} %highlight(%-5level) %cyan(%logger{36}) %magenta(%X{akkaSource}) %msg%n + %d{yyyy-MM-dd HH:mm:ss} %highlight(%-5level) %cyan(%logger{36}) %magenta(%X{pekkoSource}) %msg%n UTF-8 - %d{yyyy-MM-dd HH:mm:ss} %highlight(%-5level) %cyan(%logger{36}) %magenta(%X{akkaSource}) %msg%n + %d{yyyy-MM-dd HH:mm:ss} %highlight(%-5level) %cyan(%logger{36}) %magenta(%X{pekkoSource}) %msg%n @@ -36,7 +36,7 @@ - + diff --git a/play-java-akka-cluster-example/conf/serialization.conf b/play-java-akka-cluster-example/conf/serialization.conf index ae1cc263b..56623871a 100644 --- a/play-java-akka-cluster-example/conf/serialization.conf +++ b/play-java-akka-cluster-example/conf/serialization.conf @@ -1,4 +1,4 @@ -# See also https://doc.akka.io/docs/akka/2.6/serialization-jackson.html#introduction -akka.actor.serialization-bindings { +# See also https://pekko.apache.org/docs/pekko/current/serialization-jackson.html#introduction +pekko.actor.serialization-bindings { "services.CborSerializable" = jackson-cbor } diff --git a/play-java-chatroom-example/README.md b/play-java-chatroom-example/README.md index d0abc85ae..92811c475 100644 --- a/play-java-chatroom-example/README.md +++ b/play-java-chatroom-example/README.md @@ -2,7 +2,7 @@ This is a simple chatroom using Play and Websockets with the Java API. -This project makes use of [dynamic streams](http://doc.akka.io/docs/akka/2.6/java/stream/stream-dynamic.html) from Akka Streams, notably `BroadcastHub` and `MergeHub`. By [combining MergeHub and BroadcastHub](https://doc.akka.io/docs/akka/2.6/stream/stream-dynamic.html?language=java#dynamic-fan-in-and-fan-out-with-mergehub-broadcasthub-and-partitionhub), you can get publish/subscribe functionality. +This project makes use of [dynamic streams](https://pekko.apache.org/docs/pekko/current/java/stream/stream-dynamic.html) from Pekko Streams, notably `BroadcastHub` and `MergeHub`. By [combining MergeHub and BroadcastHub](https://pekko.apache.org/docs/pekko/current/stream/stream-dynamic.html?language=java#dynamic-fan-in-and-fan-out-with-mergehub-broadcasthub-and-partitionhub), you can get publish/subscribe functionality. ## The good bit diff --git a/play-java-chatroom-example/conf/application.conf b/play-java-chatroom-example/conf/application.conf index 63c14676f..fbc49c8c2 100644 --- a/play-java-chatroom-example/conf/application.conf +++ b/play-java-chatroom-example/conf/application.conf @@ -1,8 +1,8 @@ -// Enable richer akka logging -akka { - loggers = ["akka.event.slf4j.Slf4jLogger"] +// Enable richer pekko logging +pekko { + loggers = ["org.apache.pekko.event.slf4j.Slf4jLogger"] loglevel = "DEBUG" - logging-filter = "akka.event.slf4j.Slf4jLoggingFilter" + logging-filter = "org.apache.pekko.event.slf4j.Slf4jLoggingFilter" } // https://www.playframework.com/documentation/latest/SecurityHeaders diff --git a/play-java-dagger2-example/app/dagger/MyComponentsFromContext.java b/play-java-dagger2-example/app/dagger/MyComponentsFromContext.java index e4b095cb8..288f343cf 100644 --- a/play-java-dagger2-example/app/dagger/MyComponentsFromContext.java +++ b/play-java-dagger2-example/app/dagger/MyComponentsFromContext.java @@ -5,7 +5,7 @@ import play.ApplicationLoader; import play.BuiltInComponentsFromContext; import play.api.routing.Router; -import play.components.AkkaComponents; +import play.components.PekkoComponents; import play.components.BodyParserComponents; import play.controllers.AssetsComponents; import play.core.j.DefaultJavaHandlerComponents; diff --git a/play-java-fileupload-example/README.md b/play-java-fileupload-example/README.md index a421fc397..580157347 100644 --- a/play-java-fileupload-example/README.md +++ b/play-java-fileupload-example/README.md @@ -1,6 +1,6 @@ # Play File Upload using a custom BodyParser -This is a sample project that shows how to upload a file through Akka Streams using a custom BodyParser using Akka Streams using the Java API. +This is a sample project that shows how to upload a file through Pekko Streams using a custom BodyParser using Pekko Streams using the Java API. ## Default MultipartFormData Body Parser diff --git a/play-java-grpc-example/README.md b/play-java-grpc-example/README.md index fda4f61e0..a854707f5 100644 --- a/play-java-grpc-example/README.md +++ b/play-java-grpc-example/README.md @@ -2,7 +2,7 @@ This example is described in the [Play Java gRPC Example site](https://developer.lightbend.com/guides/play-java-grpc-example/). -This is an example application that shows how to use Akka gRPC to both expose and use gRPC services inside an Play application. +This is an example application that shows how to use Pekko gRPC to both expose and use gRPC services inside an Play application. For detailed documentation refer to https://www.playframework.com/documentation/latest/Home and https://developer.lightbend.com/docs/akka-grpc/current/ . diff --git a/play-java-grpc-example/build.sbt b/play-java-grpc-example/build.sbt index a18313f5b..1123c741b 100644 --- a/play-java-grpc-example/build.sbt +++ b/play-java-grpc-example/build.sbt @@ -60,9 +60,9 @@ val CompileDeps = Seq( guice, javaWs, "com.lightbend.play" %% "play-grpc-runtime" % BuildInfo.playGrpcVersion, - "com.typesafe.akka" %% "akka-discovery" % akkaVersion, - "com.typesafe.akka" %% "akka-http" % akkaHttpVersion, - "com.typesafe.akka" %% "akka-http-spray-json" % akkaHttpVersion, + "org.apache.pekko" %% "pekko-discovery" % pekkoVersion, + "org.apache.pekko" %% "pekko-http" % pekkoHttpVersion, + "org.apache.pekko" %% "pekko-http-spray-json" % pekkoHttpVersion, // Test Database "com.h2database" % "h2" % "2.2.224" ) diff --git a/play-java-grpc-example/conf/application.conf b/play-java-grpc-example/conf/application.conf index eb9c46677..440e8ba6f 100644 --- a/play-java-grpc-example/conf/application.conf +++ b/play-java-grpc-example/conf/application.conf @@ -22,15 +22,15 @@ play.http.secret.key = "default-value-used-locally-with-at-minimal-length" # conf/application.conf ## Modules - https://www.playframework.com/documentation/latest/Modules play.modules { - # To enable Akka gRPC clients to be @Injected - # This Module is generated by the Akka gRPC sbt plugin. See your `target/scala-2.12/src_managed` folder. + # To enable Pekko gRPC clients to be @Injected + # This Module is generated by the Pekko gRPC sbt plugin. See your `target/scala-2.12/src_managed` folder. enabled += example.myapp.helloworld.grpc.AkkaGrpcClientModule disabled += "play.grpc.ClassicActorsystemProviderModule" } # #grpc_enable_client_module # And we can configure the default target where the gRPC services are expected to run: -# (Alternatively Akka service discovery can be used to discover them) +# (Alternatively Pekko service discovery can be used to discover them) # # --------------- # | | @@ -47,7 +47,7 @@ play.modules { # are used, the client will directly point there. The `ssl-config` section of the settings is required because when # running this example application we use a self-signed certificate. Therefore we need to tell the client to trust # the invalid certificate. -akka.grpc.client { +pekko.grpc.client { "helloworld.GreeterService" { # default `host` to the address where the server's HTTPS endpoint was bound but use the `DEPLOYMENT_SERVICE_NAME` diff --git a/play-java-grpc-example/docs/src/main/paradox/code-details.md b/play-java-grpc-example/docs/src/main/paradox/code-details.md index f061139c0..540ac52e4 100644 --- a/play-java-grpc-example/docs/src/main/paradox/code-details.md +++ b/play-java-grpc-example/docs/src/main/paradox/code-details.md @@ -4,7 +4,7 @@ Adding gRPC support to a vanilla Play application requires a few steps: ### 1. `sbt-akka-grpc` -Add the Akka gRPC plugin on `project/plugins.sbt` +Add the Pekko gRPC plugin on `project/plugins.sbt` @@snip [plugins.sbt](../../../../project/plugins.sbt) { #grpc_sbt_plugin } @@ -28,15 +28,15 @@ have paths correspond to their "methods", yet this is handled by its internal in not concern themselves about the exact names – clients too are generated from the appropriate `app/protobuf/helloworld.proto` file after all. -You will need to enable the Akka-gRPC generators for server-side code: +You will need to enable the Pekko-gRPC generators for server-side code: @@snip [build.sbt](../../../../build.sbt) { #grpc_server_generators } You can read more about [Service gRPC from a Play App](https://developer.lightbend.com/docs/play-grpc/current/play/serving-grpc.html) in the docs. -### 2.b Injecting Akka-gRPC Clients +### 2.b Injecting Pekko-gRPC Clients -Similarily to the server side, the sources are generated by the Akka gRPC plugin by having it configured to emit the client as well: +Similarily to the server side, the sources are generated by the Pekko gRPC plugin by having it configured to emit the client as well: @@snip [build.sbt](../../../../build.sbt) { #grpc_client_generators } @@ -51,4 +51,4 @@ Which in turn allows us to inject clients to any of the services defined in our Since you may want to configure what service discovery or hardcoded location to use for each client, you may do so as well in `conf/application.conf`, though we will not dive into this here. Refer to the documentation on -[using Akka Discovery for endpoint discovery](https://developer.lightbend.com/docs/akka-grpc/current/client/configuration.html#using-akka-discovery-for-endpoint-discovery) for more details. +[using Pekko Discovery for endpoint discovery](https://developer.lightbend.com/docs/akka-grpc/current/client/configuration.html#using-akka-discovery-for-endpoint-discovery) for more details. diff --git a/play-java-grpc-example/docs/src/main/paradox/index.md b/play-java-grpc-example/docs/src/main/paradox/index.md index e151116e2..f70631bf4 100644 --- a/play-java-grpc-example/docs/src/main/paradox/index.md +++ b/play-java-grpc-example/docs/src/main/paradox/index.md @@ -1,13 +1,13 @@ # Play Java gRPC Example -This example application shows how to use Akka gRPC to both expose and use gRPC services inside an Play application. +This example application shows how to use Pekko gRPC to both expose and use gRPC services inside an Play application. The [Play Framework](https://www.playframework.com/) combines productivity and performance making it easy to build scalable web applications with Java and Scala. Play is developer friendly with a "just hit refresh" workflow and built-in testing support. With Play, applications scale predictably due to a stateless and non-blocking architecture. [Akka gRPC](https://developer.lightbend.com/docs/akka-grpc/current/overview.html) is a toolkit for building streaming -gRPC servers and clients on top of Akka Streams. +gRPC servers and clients on top of Pekko Streams. For detailed documentation refer to https://www.playframework.com/documentation/latest/Home and https://developer.lightbend.com/docs/akka-grpc/current/. @@ -19,7 +19,7 @@ kickstart your Play gRPC project on [Lightbend's Tech Hub](https://developer.lig ## What this example does This example runs a Play application which serves both HTTP/1.1 and gRPC (over HTTP/2) enpoints. This application also -uses an Akka-gRPC client to send a request to itself. When you sent a `GET` request `/` the request is handled by a +uses an Pekko-gRPC client to send a request to itself. When you sent a `GET` request `/` the request is handled by a vanilla Play `Controller` that sends a request over gRPC to the gRPC endpoint: diff --git a/play-java-grpc-example/docs/src/main/paradox/locally.md b/play-java-grpc-example/docs/src/main/paradox/locally.md index 697049b3b..bff9c9078 100644 --- a/play-java-grpc-example/docs/src/main/paradox/locally.md +++ b/play-java-grpc-example/docs/src/main/paradox/locally.md @@ -8,7 +8,7 @@ setups are supported to run Play and only the following can be used at the momen 1. you may use `sbt run` to run Play in DEV mode within `sbt`. In both execution modes above, `sbt` will also generate the server and client sources based on the `app/protobuf/*.proto` -files. The code generation happens thanks to the Akka gRPC plugin being enabled. See +files. The code generation happens thanks to the Pekko gRPC plugin being enabled. See @ref[understanding the code](code-details.md) for more details. Finally, for your convenience, a self-signed certificate for `CN='localhost'` is provided in this diff --git a/play-java-grpc-example/test/example/myapp/helloworld/HelloFunctionalTest.java b/play-java-grpc-example/test/example/myapp/helloworld/HelloFunctionalTest.java index f67269dda..fbc1f30da 100644 --- a/play-java-grpc-example/test/example/myapp/helloworld/HelloFunctionalTest.java +++ b/play-java-grpc-example/test/example/myapp/helloworld/HelloFunctionalTest.java @@ -4,7 +4,7 @@ import play.api.test.DefaultTestServerFactory; import play.api.test.RunningServer; import play.api.test.TestServerFactory; -import play.grpc.testkit.JavaAkkaGrpcClientHelpers; +import play.grpc.testkit.JavaPekkoGrpcClientHelpers; import play.test.WithApplication; import routers.HelloWorldRouter; @@ -60,7 +60,7 @@ private WSResponse wsGet(final String path) throws Exception { private GreeterServiceClient newGreeterServiceClient() { final GrpcClientSettings grpcClientSettings = - JavaAkkaGrpcClientHelpers + JavaPekkoGrpcClientHelpers .grpcClientSettings(runningServer) .withOverrideAuthority("localhost"); diff --git a/play-java-hello-world-tutorial/README.md b/play-java-hello-world-tutorial/README.md index b55b6c337..4f79a500a 100644 --- a/play-java-hello-world-tutorial/README.md +++ b/play-java-hello-world-tutorial/README.md @@ -24,7 +24,7 @@ If you do not have the required versions, follow these links to obtain them: ## Build and run the project -This example Play project was created from a seed template. It includes all Play components and an Akka HTTP server. The project is also configured with filters for Cross-Site Request Forgery (CSRF) protection and security headers. +This example Play project was created from a seed template. It includes all Play components and an Pekko HTTP server. The project is also configured with filters for Cross-Site Request Forgery (CSRF) protection and security headers. To build and run the project: diff --git a/play-java-hello-world-tutorial/app/views/index.scala.html b/play-java-hello-world-tutorial/app/views/index.scala.html index 0eeb464bc..4d7d8fdad 100644 --- a/play-java-hello-world-tutorial/app/views/index.scala.html +++ b/play-java-hello-world-tutorial/app/views/index.scala.html @@ -36,7 +36,7 @@

Introduction to Play

even access data from a REST service.

-

Play APIs are available in both Java and Scala. The Framework uses Akka +

Play APIs are available in both Java and Scala. The Framework uses Pekko and Akka HTTP under the hood. This endows Play applications with a stateless, non-blocking, event-driven architecture that provides horizontal and vertical scalability and uses resources more efficiently. Play projects contain Scala diff --git a/play-java-rest-api-example/conf/logback.xml b/play-java-rest-api-example/conf/logback.xml index 0fc285bb8..a0ee17d5e 100644 --- a/play-java-rest-api-example/conf/logback.xml +++ b/play-java-rest-api-example/conf/logback.xml @@ -34,8 +34,8 @@ - - + + diff --git a/play-java-starter-example/app/controllers/AsyncController.java b/play-java-starter-example/app/controllers/AsyncController.java index db5349f82..86b1fe794 100644 --- a/play-java-starter-example/app/controllers/AsyncController.java +++ b/play-java-starter-example/app/controllers/AsyncController.java @@ -31,7 +31,7 @@ public class AsyncController extends Controller { * {@link Scheduler} to run code after a delay. * @param exec We need a Java {@link Executor} to apply the result * of the {@link CompletableFuture} and a Scala - * {@link ExecutionContext} so we can use the Akka {@link Scheduler}. + * {@link ExecutionContext} so we can use the Pekko {@link Scheduler}. * An {@link ExecutionContextExecutor} implements both interfaces. */ @Inject diff --git a/play-java-starter-example/conf/application.conf b/play-java-starter-example/conf/application.conf index bc8e7100f..97a5077fc 100644 --- a/play-java-starter-example/conf/application.conf +++ b/play-java-starter-example/conf/application.conf @@ -15,20 +15,20 @@ # HOCON will fall back to substituting environment variable: #mykey = ${JAVA_HOME} -## Akka -# https://www.playframework.com/documentation/latest/ScalaAkka#Configuration -# https://www.playframework.com/documentation/latest/JavaAkka#Configuration +## Pekko +# https://www.playframework.com/documentation/latest/ScalaPekko#Configuration +# https://www.playframework.com/documentation/latest/JavaPekko#Configuration # ~~~~~ -# Play uses Akka internally and exposes Akka Streams and actors in Websockets and +# Play uses Pekko internally and exposes Pekko Streams and actors in Websockets and # other streaming HTTP responses. -akka { - # "akka.log-config-on-start" is extraordinarly useful because it log the complete +pekko { + # "pekko.log-config-on-start" is extraordinarly useful because it log the complete # configuration at INFO level, including defaults and overrides, so it s worth # putting at the very top. # # Put the following in your conf/logback.xml file: # - # + # # # And then uncomment this line to debug the configuration. # diff --git a/play-java-streaming-example/README.md b/play-java-streaming-example/README.md index d88233c58..3e792b0d4 100644 --- a/play-java-streaming-example/README.md +++ b/play-java-streaming-example/README.md @@ -1,6 +1,6 @@ # play-java-streaming-example -This is an example Play template that demonstrates Streaming with Server Sent Events or Comet, using Akka Streams. +This is an example Play template that demonstrates Streaming with Server Sent Events or Comet, using Pekko Streams. Please see the documentation at: diff --git a/play-java-telemetry-example/app/controllers/AsyncController.java b/play-java-telemetry-example/app/controllers/AsyncController.java index db5349f82..86b1fe794 100644 --- a/play-java-telemetry-example/app/controllers/AsyncController.java +++ b/play-java-telemetry-example/app/controllers/AsyncController.java @@ -31,7 +31,7 @@ public class AsyncController extends Controller { * {@link Scheduler} to run code after a delay. * @param exec We need a Java {@link Executor} to apply the result * of the {@link CompletableFuture} and a Scala - * {@link ExecutionContext} so we can use the Akka {@link Scheduler}. + * {@link ExecutionContext} so we can use the Pekko {@link Scheduler}. * An {@link ExecutionContextExecutor} implements both interfaces. */ @Inject diff --git a/play-java-websocket-example/README.md b/play-java-websocket-example/README.md index 76195a4d4..fccb6d4f8 100644 --- a/play-java-websocket-example/README.md +++ b/play-java-websocket-example/README.md @@ -2,9 +2,9 @@ This is an example Play application that shows how to use Play's Websocket API in Java, by showing a series of stock tickers updated using WebSocket. -The Websocket API is built on Akka Streams, and so is async, non-blocking, and backpressure aware. Using Akka Streams also means that interacting with Akka Actors is simple. +The Websocket API is built on Pekko Streams, and so is async, non-blocking, and backpressure aware. Using Pekko Streams also means that interacting with Pekko Actors is simple. -There are also tests showing how Junit and Akka Testkit are used to test actors and flows. +There are also tests showing how Junit and Pekko Testkit are used to test actors and flows. ## Reactive Push @@ -76,8 +76,8 @@ The client-side of Reactive Requests and Reactive Composition is no different th ## Further Learning -For more information, please see the documentation for Websockets and Akka Streams: +For more information, please see the documentation for Websockets and Pekko Streams: * -* -* +* +* diff --git a/play-java-websocket-example/app/Module.java b/play-java-websocket-example/app/Module.java index 06b494d29..f11a690d2 100644 --- a/play-java-websocket-example/app/Module.java +++ b/play-java-websocket-example/app/Module.java @@ -7,14 +7,14 @@ import com.google.inject.AbstractModule; import com.google.inject.TypeLiteral; import com.typesafe.config.Config; -import play.libs.akka.AkkaGuiceSupport; +import play.libs.pekko.PekkoGuiceSupport; import javax.inject.Inject; import javax.inject.Provider; import javax.inject.Singleton; @SuppressWarnings("unused") -public class Module extends AbstractModule implements AkkaGuiceSupport { +public class Module extends AbstractModule implements PekkoGuiceSupport { @Override protected void configure() { bind(new TypeLiteral>() {}) diff --git a/play-java-websocket-example/app/actors/UserActor.java b/play-java-websocket-example/app/actors/UserActor.java index 438008ee8..4be7563c0 100644 --- a/play-java-websocket-example/app/actors/UserActor.java +++ b/play-java-websocket-example/app/actors/UserActor.java @@ -28,7 +28,7 @@ import java.util.Set; import java.util.concurrent.CompletionStage; -import static akka.actor.typed.javadsl.AskPattern.ask; +import static org.apache.pekko.actor.typed.javadsl.AskPattern.ask; import static java.util.Objects.requireNonNull; /** diff --git a/play-java-websocket-example/conf/application.conf b/play-java-websocket-example/conf/application.conf index c10df00d0..3a00eba08 100644 --- a/play-java-websocket-example/conf/application.conf +++ b/play-java-websocket-example/conf/application.conf @@ -1,11 +1,11 @@ # This is the main configuration file for the application. # ~~~~~ -# Uncomment this for the most verbose Akka debugging: -akka { - loggers = ["akka.event.slf4j.Slf4jLogger"] +# Uncomment this for the most verbose Pekko debugging: +pekko { + loggers = ["org.apache.pekko.event.slf4j.Slf4jLogger"] loglevel = "INFO" - logging-filter = "akka.event.slf4j.Slf4jLoggingFilter" + logging-filter = "org.apache.pekko.event.slf4j.Slf4jLoggingFilter" #actor { # debug { # receive = on diff --git a/play-java-websocket-example/conf/logback.xml b/play-java-websocket-example/conf/logback.xml index 729be54a2..6da040fba 100644 --- a/play-java-websocket-example/conf/logback.xml +++ b/play-java-websocket-example/conf/logback.xml @@ -18,14 +18,14 @@ - %highlight(%-5level) %logger{15} - [%X{akkaSource}] %message%n%xException{10} + %highlight(%-5level) %logger{15} - [%X{pekkoSource}] %message%n%xException{10} - - + + diff --git a/play-scala-chatroom-example/README.md b/play-scala-chatroom-example/README.md index e530e40c6..e67a1c965 100644 --- a/play-scala-chatroom-example/README.md +++ b/play-scala-chatroom-example/README.md @@ -2,7 +2,7 @@ This is a simple chatroom using Play and Websockets with the Scala API. -This project makes use of [dynamic streams](http://doc.akka.io/docs/akka/2.6/scala/stream/stream-dynamic.html) from Akka Streams, notably `BroadcastHub` and `MergeHub`. By [combining MergeHub and BroadcastHub](https://doc.akka.io/docs/akka/2.6/stream/stream-dynamic.html?language=scala#dynamic-fan-in-and-fan-out-with-mergehub-broadcasthub-and-partitionhub), you can get publish/subscribe functionality. +This project makes use of [dynamic streams](https://pekko.apache.org/docs/pekko/current/scala/stream/stream-dynamic.html) from Pekko Streams, notably `BroadcastHub` and `MergeHub`. By [combining MergeHub and BroadcastHub](https://pekko.apache.org/docs/pekko/current/stream/stream-dynamic.html?language=scala#dynamic-fan-in-and-fan-out-with-mergehub-broadcasthub-and-partitionhub), you can get publish/subscribe functionality. ## The good bit diff --git a/play-scala-chatroom-example/build.sbt b/play-scala-chatroom-example/build.sbt index 5b7cc0db5..6d5a28682 100644 --- a/play-scala-chatroom-example/build.sbt +++ b/play-scala-chatroom-example/build.sbt @@ -15,9 +15,9 @@ lazy val root = (project in file(".")) "net.logstash.logback" % "logstash-logback-encoder" % "7.3", "org.jsoup" % "jsoup" % "1.16.1", "ch.qos.logback" % "logback-classic" % "1.4.11", - "com.typesafe.akka" %% "akka-slf4j" % akkaVersion, - "com.typesafe.akka" %% "akka-testkit" % akkaVersion % Test, - "com.typesafe.akka" %% "akka-stream-testkit" % akkaVersion % Test, + "org.apache.pekko" %% "pekko-slf4j" % pekkoVersion, + "org.apache.pekko" %% "pekko-testkit" % pekkoVersion % Test, + "org.apache.pekko" %% "pekko-stream-testkit" % pekkoVersion % Test, "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test ), (Test / javaOptions) += "-Dtestserver.port=19001", diff --git a/play-scala-chatroom-example/conf/application.conf b/play-scala-chatroom-example/conf/application.conf index fb87533ff..d97bd05bb 100644 --- a/play-scala-chatroom-example/conf/application.conf +++ b/play-scala-chatroom-example/conf/application.conf @@ -1,8 +1,8 @@ -// Enable richer akka logging -akka { - loggers = ["akka.event.slf4j.Slf4jLogger"] +// Enable richer pekko logging +pekko { + loggers = ["org.apache.pekko.event.slf4j.Slf4jLogger"] loglevel = "DEBUG" - logging-filter = "akka.event.slf4j.Slf4jLoggingFilter" + logging-filter = "org.apache.pekko.event.slf4j.Slf4jLoggingFilter" } // https://www.playframework.com/documentation/latest/SecurityHeaders diff --git a/play-scala-chatroom-example/conf/logback.xml b/play-scala-chatroom-example/conf/logback.xml index af7ed29eb..4a37ed47a 100644 --- a/play-scala-chatroom-example/conf/logback.xml +++ b/play-scala-chatroom-example/conf/logback.xml @@ -48,7 +48,7 @@ - + diff --git a/play-scala-fileupload-example/README.md b/play-scala-fileupload-example/README.md index cb3e12936..3200e51d1 100644 --- a/play-scala-fileupload-example/README.md +++ b/play-scala-fileupload-example/README.md @@ -1,6 +1,6 @@ # Play File Upload using a custom BodyParser -This is a sample project that shows how to upload a file through Akka Streams using a custom BodyParser using Akka Streams using the Scala API. +This is a sample project that shows how to upload a file through Pekko Streams using a custom BodyParser using Pekko Streams using the Scala API. Play's Scala API for `parse.multipartFormData` uses a `BodyParser[MultipartFormData[TemporaryFile]]`. The `TemporaryFile` wrapper class creates a file under a "temporary" name and then deletes it only when the system is under GC pressure. diff --git a/play-scala-grpc-example/README.md b/play-scala-grpc-example/README.md index ad98c4095..ab5307f35 100644 --- a/play-scala-grpc-example/README.md +++ b/play-scala-grpc-example/README.md @@ -2,7 +2,7 @@ This example is described in the [Play Scala gRPC Example site](https://developer.lightbend.com/guides/play-scala-grpc-example/). -This is an example application that shows how to use Akka gRPC to both expose and use gRPC services inside an Play application. +This is an example application that shows how to use Pekko gRPC to both expose and use gRPC services inside an Play application. For detailed documentation refer to https://www.playframework.com/documentation/latest/Home and https://developer.lightbend.com/docs/akka-grpc/current/ . diff --git a/play-scala-grpc-example/build.sbt b/play-scala-grpc-example/build.sbt index 6b5524873..a5ca88e08 100644 --- a/play-scala-grpc-example/build.sbt +++ b/play-scala-grpc-example/build.sbt @@ -54,9 +54,9 @@ lazy val `play-scala-grpc-example` = (project in file(".")) val CompileDeps = Seq( guice, "com.lightbend.play" %% "play-grpc-runtime" % BuildInfo.playGrpcVersion, - "com.typesafe.akka" %% "akka-discovery" % akkaVersion, - "com.typesafe.akka" %% "akka-http" % akkaHttpVersion, - "com.typesafe.akka" %% "akka-http-spray-json" % akkaHttpVersion, + "org.apache.pekko" %% "pekko-discovery" % pekkoVersion, + "org.apache.pekko" %% "pekko-http" % pekkoHttpVersion, + "org.apache.pekko" %% "pekko-http-spray-json" % pekkoHttpVersion, // Test Database "com.h2database" % "h2" % "2.2.224" ) diff --git a/play-scala-grpc-example/conf/application.conf b/play-scala-grpc-example/conf/application.conf index eb9c46677..440e8ba6f 100644 --- a/play-scala-grpc-example/conf/application.conf +++ b/play-scala-grpc-example/conf/application.conf @@ -22,15 +22,15 @@ play.http.secret.key = "default-value-used-locally-with-at-minimal-length" # conf/application.conf ## Modules - https://www.playframework.com/documentation/latest/Modules play.modules { - # To enable Akka gRPC clients to be @Injected - # This Module is generated by the Akka gRPC sbt plugin. See your `target/scala-2.12/src_managed` folder. + # To enable Pekko gRPC clients to be @Injected + # This Module is generated by the Pekko gRPC sbt plugin. See your `target/scala-2.12/src_managed` folder. enabled += example.myapp.helloworld.grpc.AkkaGrpcClientModule disabled += "play.grpc.ClassicActorsystemProviderModule" } # #grpc_enable_client_module # And we can configure the default target where the gRPC services are expected to run: -# (Alternatively Akka service discovery can be used to discover them) +# (Alternatively Pekko service discovery can be used to discover them) # # --------------- # | | @@ -47,7 +47,7 @@ play.modules { # are used, the client will directly point there. The `ssl-config` section of the settings is required because when # running this example application we use a self-signed certificate. Therefore we need to tell the client to trust # the invalid certificate. -akka.grpc.client { +pekko.grpc.client { "helloworld.GreeterService" { # default `host` to the address where the server's HTTPS endpoint was bound but use the `DEPLOYMENT_SERVICE_NAME` diff --git a/play-scala-grpc-example/docs/src/main/paradox/code-details.md b/play-scala-grpc-example/docs/src/main/paradox/code-details.md index 20182cdd2..f0286608c 100644 --- a/play-scala-grpc-example/docs/src/main/paradox/code-details.md +++ b/play-scala-grpc-example/docs/src/main/paradox/code-details.md @@ -4,7 +4,7 @@ Adding gRPC support to a vanilla Play application requires a few steps: ### 1. `sbt-akka-grpc` -Add the Akka gRPC plugin on `project/plugins.sbt` +Add the Pekko gRPC plugin on `project/plugins.sbt` @@snip [plugins.sbt](../../../../project/plugins.sbt) { #grpc_sbt_plugin } @@ -28,15 +28,15 @@ have paths correspond to their "methods", yet this is handled by its internal in not concern themselves about the exact names – clients too are generated from the appropriate `app/protobuf/helloworld.proto` file after all. -You will need to enable the Akka-gRPC generators for server-side code: +You will need to enable the Pekko-gRPC generators for server-side code: @@snip [build.sbt](../../../../build.sbt) { #grpc_server_generators } You can read more about [Service gRPC from a Play App](https://developer.lightbend.com/docs/play-grpc/current/play/serving-grpc.html) in the docs. -### 2.b Injecting Akka-gRPC Clients +### 2.b Injecting Pekko-gRPC Clients -Similarily to the server side, the sources are generated by the Akka gRPC plugin by having it configured to emit the client as well: +Similarily to the server side, the sources are generated by the Pekko gRPC plugin by having it configured to emit the client as well: @@snip [build.sbt](../../../../build.sbt) { #grpc_client_generators } @@ -51,4 +51,4 @@ Which in turn allows us to inject clients to any of the services defined in our Since you may want to configure what service discovery or hardcoded location to use for each client, you may do so as well in `conf/application.conf`, though we will not dive into this here. Refer to the documentation on -[using Akka Discovery for endpoint discovery](https://developer.lightbend.com/docs/akka-grpc/current/client/configuration.html#using-akka-discovery-for-endpoint-discovery) for more details. +[using Pekko Discovery for endpoint discovery](https://developer.lightbend.com/docs/akka-grpc/current/client/configuration.html#using-akka-discovery-for-endpoint-discovery) for more details. diff --git a/play-scala-grpc-example/docs/src/main/paradox/index.md b/play-scala-grpc-example/docs/src/main/paradox/index.md index 4b5172c76..29f15e9c5 100644 --- a/play-scala-grpc-example/docs/src/main/paradox/index.md +++ b/play-scala-grpc-example/docs/src/main/paradox/index.md @@ -1,13 +1,13 @@ # Play Scala gRPC Example -This example application shows how to use Akka gRPC to both expose and use gRPC services inside an Play application. +This example application shows how to use Pekko gRPC to both expose and use gRPC services inside an Play application. The [Play Framework](https://www.playframework.com/) combines productivity and performance making it easy to build scalable web applications with Java and Scala. Play is developer friendly with a "just hit refresh" workflow and built-in testing support. With Play, applications scale predictably due to a stateless and non-blocking architecture. [Akka gRPC](https://developer.lightbend.com/docs/akka-grpc/current/overview.html) is a toolkit for building streaming -gRPC servers and clients on top of Akka Streams. +gRPC servers and clients on top of Pekko Streams. For detailed documentation refer to https://www.playframework.com/documentation/latest/Home and https://developer.lightbend.com/docs/akka-grpc/current/. @@ -19,7 +19,7 @@ kickstart your Play gRPC project on [Lightbend's Tech Hub](https://developer.lig ## What this example does This example runs a Play application which serves both HTTP/1.1 and gRPC (over HTTP/2) enpoints. This application also -uses an Akka-gRPC client to send a request to itself. When you sent a `GET` request `/` the request is handled by a +uses an Pekko-gRPC client to send a request to itself. When you sent a `GET` request `/` the request is handled by a vanilla Play `Controller` that sends a request over gRPC to the gRPC endpoint: diff --git a/play-scala-grpc-example/docs/src/main/paradox/locally.md b/play-scala-grpc-example/docs/src/main/paradox/locally.md index 158adfa14..e859f94c7 100644 --- a/play-scala-grpc-example/docs/src/main/paradox/locally.md +++ b/play-scala-grpc-example/docs/src/main/paradox/locally.md @@ -8,7 +8,7 @@ setups are supported to run Play and only the following can be used at the momen 1. you may use `sbt run` to run Play in DEV mode within `sbt`. In both execution modes above, `sbt` will also generate the server and client sources based on the `app/protobuf/*.proto` -files. The code generation happens thanks to the Akka gRPC plugin being enabled. See +files. The code generation happens thanks to the Pekko gRPC plugin being enabled. See @ref[understanding the code](code-details.md) for more details. Finally, for your convenience, a self-signed certificate for `CN='localhost'` is provided in this diff --git a/play-scala-hello-world-tutorial/README.md b/play-scala-hello-world-tutorial/README.md index 5746b3ed6..e92108a31 100644 --- a/play-scala-hello-world-tutorial/README.md +++ b/play-scala-hello-world-tutorial/README.md @@ -24,7 +24,7 @@ If you do not have the required versions, follow these links to obtain them: ## Build and run the project -This example Play project was created from a seed template. It includes all Play components and an Akka HTTP server. The project is also configured with filters for Cross-Site Request Forgery (CSRF) protection and security headers. +This example Play project was created from a seed template. It includes all Play components and an Pekko HTTP server. The project is also configured with filters for Cross-Site Request Forgery (CSRF) protection and security headers. To build and run the project: diff --git a/play-scala-hello-world-tutorial/app/views/index.scala.html b/play-scala-hello-world-tutorial/app/views/index.scala.html index 445260a73..af330dba0 100644 --- a/play-scala-hello-world-tutorial/app/views/index.scala.html +++ b/play-scala-hello-world-tutorial/app/views/index.scala.html @@ -35,7 +35,7 @@

Introduction to Play

even access data from a REST service.

-

Play APIs are available in both Scala and Java. The Framework uses Akka +

Play APIs are available in both Scala and Java. The Framework uses Pekko and Akka HTTP under the hood. This endows Play applications with a stateless, non-blocking, event-driven architecture that provides horizontal and vertical scalability and uses resources more efficiently.

diff --git a/play-scala-log4j2-example/README.md b/play-scala-log4j2-example/README.md index 40f90ff25..5ad2fba41 100644 --- a/play-scala-log4j2-example/README.md +++ b/play-scala-log4j2-example/README.md @@ -39,16 +39,16 @@ After you define the log4j system property, running the application should look No play.logger.configurator found: logging must be configured entirely by the application. --- (Running the application, auto-reloading is enabled) --- -[INFO ] 2017-12-20 09:41:12.268 [pool-7-thread-2] AkkaHttpServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000 +[INFO ] 2017-12-20 09:41:12.268 [pool-7-thread-2] PekkoHttpServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000 (Server started, use Enter to stop and go back to the console...) [info] Compiling 1 Scala source to /Users/player/play-scala-log4j2-example/target/scala-2.12/classes ... [info] Done compiling. -[INFO ] 2017-12-20 09:41:41.296 [play-dev-mode-akka.actor.default-dispatcher-4] application - ApplicationTimer demo: Starting application at 2017-12-20T11:41:41.295Z. -[INFO ] 2017-12-20 09:41:41.477 [application-akka.actor.default-dispatcher-2] Slf4jLogger - Slf4jLogger started -[WARN ] 2017-12-20 09:41:41.655 [play-dev-mode-akka.actor.default-dispatcher-4] application - Using the following cache for assets -[INFO ] 2017-12-20 09:41:41.670 [play-dev-mode-akka.actor.default-dispatcher-4] Play - Application started (Dev) +[INFO ] 2017-12-20 09:41:41.296 [play-dev-mode-pekko.actor.default-dispatcher-4] application - ApplicationTimer demo: Starting application at 2017-12-20T11:41:41.295Z. +[INFO ] 2017-12-20 09:41:41.477 [application-pekko.actor.default-dispatcher-2] Slf4jLogger - Slf4jLogger started +[WARN ] 2017-12-20 09:41:41.655 [play-dev-mode-pekko.actor.default-dispatcher-4] application - Using the following cache for assets +[INFO ] 2017-12-20 09:41:41.670 [play-dev-mode-pekko.actor.default-dispatcher-4] Play - Application started (Dev) ```` Note that you will see diff --git a/play-scala-log4j2-example/conf/application.conf b/play-scala-log4j2-example/conf/application.conf index 126bbf5e1..ab6cd5a6b 100644 --- a/play-scala-log4j2-example/conf/application.conf +++ b/play-scala-log4j2-example/conf/application.conf @@ -15,20 +15,20 @@ # HOCON will fall back to substituting environment variable: #mykey = ${JAVA_HOME} -## Akka -# https://www.playframework.com/documentation/latest/ScalaAkka#Configuration -# https://www.playframework.com/documentation/latest/JavaAkka#Configuration +## Pekko +# https://www.playframework.com/documentation/latest/ScalaPekko#Configuration +# https://www.playframework.com/documentation/latest/JavaPekko#Configuration # ~~~~~ -# Play uses Akka internally and exposes Akka Streams and actors in Websockets and +# Play uses Pekko internally and exposes Pekko Streams and actors in Websockets and # other streaming HTTP responses. -akka { - # "akka.log-config-on-start" is extraordinarly useful because it log the complete +pekko { + # "pekko.log-config-on-start" is extraordinarly useful because it log the complete # configuration at INFO level, including defaults and overrides, so it s worth # putting at the very top. # # Put the following in your conf/logback.xml file: # - # + # # # And then uncomment this line to debug the configuration. # diff --git a/play-scala-rest-api-example/docs/src/main/paradox/index.md b/play-scala-rest-api-example/docs/src/main/paradox/index.md index 314d6c2cb..7fef58499 100644 --- a/play-scala-rest-api-example/docs/src/main/paradox/index.md +++ b/play-scala-rest-api-example/docs/src/main/paradox/index.md @@ -46,7 +46,7 @@ The fun answer is that [Play is **fast**](https://www.lightbend.com/blog/why-is- In fact, Play is so fast that you have to turn off machines so that the rest of your architecture can keep up. The Hootsuite team was able to **reduce the number of servers by 80%** by [switching to Play](https://www.lightbend.com/resources/case-studies-and-stories/how-hootsuite-modernized-its-url-shortener). if you deploy Play with the same infrastructure that you were using for other web frameworks, you are effectively staging a denial of service attack against your own database. -Play is fast because Play is **built on reactive bedrock**. Play starts from a reactive core, and builds on reactive principles all the way from the ground. Play breaks network packets into a stream of small chunks of bytes. It keeps a small pool of work stealing threads, mapped to the number of cores in the machine, and keeps those threads fed with those chunks. Play exposes those byte chunks to the application for body parsing, Server Sent Events and WebSockets through [Akka Streams](http://doc.akka.io/docs/akka/2.6/scala/stream/stream-introduction.html) -- the Reactive Streams implementation designed by the people who invented [Reactive Streams](http://www.reactive-streams.org/) and wrote the [Reactive Manifesto](http://www.reactivemanifesto.org/). +Play is fast because Play is **built on reactive bedrock**. Play starts from a reactive core, and builds on reactive principles all the way from the ground. Play breaks network packets into a stream of small chunks of bytes. It keeps a small pool of work stealing threads, mapped to the number of cores in the machine, and keeps those threads fed with those chunks. Play exposes those byte chunks to the application for body parsing, Server Sent Events and WebSockets through [Akka Streams](https://pekko.apache.org/docs/pekko/current/scala/stream/stream-introduction.html) -- the Reactive Streams implementation designed by the people who invented [Reactive Streams](http://www.reactive-streams.org/) and wrote the [Reactive Manifesto](http://www.reactivemanifesto.org/). Linkedin uses Play throughout its infrastructure. It wins on all [four quadrants of scalability](http://www.slideshare.net/brikis98/the-play-framework-at-linkedin/128-Outline1_Getting_started_with_Play2) ([video](https://youtu.be/8z3h4Uv9YbE)). Play's average "request per second" comes in around [tens of k on a basic quad core w/o any intentional tuning](https://twitter.com/kevinbowling1/status/764188720140398592) -- and it only gets better. diff --git a/play-scala-secure-session-example/README.md b/play-scala-secure-session-example/README.md index b5013ac92..a223715e7 100644 --- a/play-scala-secure-session-example/README.md +++ b/play-scala-secure-session-example/README.md @@ -68,11 +68,11 @@ This example uses `services.session.SessionService` to provide a `Future` based ### Distributed Data Session Store -The example internally uses [Akka Distributed Data](http://doc.akka.io/docs/akka/2.6/scala/distributed-data.html) to share the map throughout all the Play instances through [Akka Clustering](http://doc.akka.io/docs/akka/2.6/scala/cluster-usage.html). Per the Akka docs, this is a good solution for up to 100,000 concurrent sessions. +The example internally uses [Akka Distributed Data](https://pekko.apache.org/docs/pekko/current/scala/distributed-data.html) to share the map throughout all the Play instances through [Akka Clustering](https://pekko.apache.org/docs/pekko/current/scala/cluster-usage.html). Per the Pekko docs, this is a good solution for up to 100,000 concurrent sessions. The basic structure of the cache is taken from [Akka's ReplicatedCache example](https://github.com/akka/akka-samples/blob/HEAD/akka-sample-distributed-data-scala/src/main/scala/sample/distributeddata/ReplicatedCache.scala), but here an expiration time is added to ensure that an idle session will be reaped after reaching TTL, even if there is no explicit logout. This does result in an individual actor per session, but the ActorCell only becomes active when there is a change in session state, so this is very low overhead. -Since this is an example, rather than having to run several Play instances, a ClusterSystem that runs two Akka cluster nodes in the background is used, and are configured as the seed nodes for the cluster, so you can see the cluster messages in the logs. In production, each Play instance should be part of the cluster and they will take care of themselves. +Since this is an example, rather than having to run several Play instances, a ClusterSystem that runs two Pekko Cluster nodes in the background is used, and are configured as the seed nodes for the cluster, so you can see the cluster messages in the logs. In production, each Play instance should be part of the cluster and they will take care of themselves. > Note that the map is not persisted in this example, so **if all the Play instances go down at once, then everyone is logged out.** > diff --git a/play-scala-secure-session-example/app/Module.scala b/play-scala-secure-session-example/app/Module.scala index ffcebe9ea..8ec2822af 100644 --- a/play-scala-secure-session-example/app/Module.scala +++ b/play-scala-secure-session-example/app/Module.scala @@ -1,8 +1,8 @@ import com.google.inject.AbstractModule -import play.api.libs.concurrent.AkkaGuiceSupport +import play.api.libs.concurrent.PekkoGuiceSupport import services.session.{ ClusterSystem, SessionCache } -class Module extends AbstractModule with AkkaGuiceSupport { +class Module extends AbstractModule with PekkoGuiceSupport { override def configure(): Unit = { bind(classOf[ClusterSystem]).asEagerSingleton() bindTypedActor(SessionCache(), "replicatedCache") diff --git a/play-scala-secure-session-example/app/services/session/ClusterSystem.scala b/play-scala-secure-session-example/app/services/session/ClusterSystem.scala index 53b93b812..38f22127a 100644 --- a/play-scala-secure-session-example/app/services/session/ClusterSystem.scala +++ b/play-scala-secure-session-example/app/services/session/ClusterSystem.scala @@ -10,7 +10,7 @@ import play.api.inject.ApplicationLifecycle import scala.concurrent.Future /** - * Start up Akka cluster nodes on different ports in the same JVM for + * Start up Pekko Cluster nodes on different ports in the same JVM for * the distributing caching. * * Normally you'd run several play instances, and the port would be the @@ -23,12 +23,12 @@ class ClusterSystem @Inject() (configuration: Configuration, applicationLifecycl ports.map { port => // Override the configuration of the port val config = ConfigFactory.parseString( - s"""akka.remote.artery.canonical.port = $port""" + s"""pekko.remote.artery.canonical.port = $port""" ).withFallback(configuration.underlying) // use the same name as Play's application actor system, because these are // supposed to be "remote" play instances all sharing a distribute cache - ActorSystem(config.getString("play.akka.actor-system"), config) + ActorSystem(config.getString("play.pekko.actor-system"), config) } } diff --git a/play-scala-secure-session-example/app/services/session/SessionCache.scala b/play-scala-secure-session-example/app/services/session/SessionCache.scala index 4065c7130..346da3765 100644 --- a/play-scala-secure-session-example/app/services/session/SessionCache.scala +++ b/play-scala-secure-session-example/app/services/session/SessionCache.scala @@ -10,21 +10,21 @@ import scala.concurrent.duration._ import org.apache.pekko.cluster.ddata.SelfUniqueAddress /** - * A replicated key-store map using akka distributed data. The advantage of + * A replicated key-store map using pekko distributed data. The advantage of * replication over distributed cache is that all the sessions are local on * every machine, so there's no remote lookup necessary. * * Note that this doesn't serialize using protobuf and also isn't being sent over SSL, - * so it's still not as secure as it could be. Please see http://doc.akka.io/docs/akka/2.6/scala/remoting-artery.html#remote-security + * so it's still not as secure as it could be. Please see https://pekko.apache.org/docs/pekko/current/scala/remoting-artery.html#remote-security * for more details. * - * http://doc.akka.io/docs/akka/2.6/scala/distributed-data.html + * https://pekko.apache.org/docs/pekko/current/scala/distributed-data.html */ class SessionCache( context: ActorContext[SessionCache.Command], replicator: ReplicatorMessageAdapter[SessionCache.Command, LWWMap[String, Array[Byte]]], ) { - // This is from one of the examples covered in the akka distributed data section: + // This is from one of the examples covered in the pekko distributed data section: // https://github.com/akka/akka-samples/blob/2.5/akka-sample-distributed-data-scala/src/main/scala/sample/distributeddata/ReplicatedCache.scala import SessionCache._ diff --git a/play-scala-secure-session-example/app/services/session/SessionService.scala b/play-scala-secure-session-example/app/services/session/SessionService.scala index 36f960104..4d9582cf6 100644 --- a/play-scala-secure-session-example/app/services/session/SessionService.scala +++ b/play-scala-secure-session-example/app/services/session/SessionService.scala @@ -11,11 +11,11 @@ import scala.concurrent.duration._ import scala.concurrent.{ ExecutionContext, Future } /** - * A session service that ties session id to secret key using akka CRDTs + * A session service that ties session id to secret key using pekko CRDTs */ @Singleton class SessionService @Inject() (cacheActor: ActorRef[Command])(implicit ec: ExecutionContext, scheduler: Scheduler) { - implicit private val timeout: Timeout = akka.util.Timeout(300.milliseconds) + implicit private val timeout: Timeout = org.apache.pekko.util.Timeout(300.milliseconds) def create(secretKey: Array[Byte]): Future[String] = { val sessionId = newSessionId() diff --git a/play-scala-secure-session-example/build.sbt b/play-scala-secure-session-example/build.sbt index 34b3f8d78..e6bcb79c4 100644 --- a/play-scala-secure-session-example/build.sbt +++ b/play-scala-secure-session-example/build.sbt @@ -11,8 +11,8 @@ lazy val root = (project in file(".")) ws, guice, "org.abstractj.kalium" % "kalium" % "0.8.0", - ("com.typesafe.akka" %% "akka-distributed-data" % akkaVersion).cross(CrossVersion.for3Use2_13), - ("com.typesafe.akka" %% "akka-cluster-typed" % akkaVersion).cross(CrossVersion.for3Use2_13), + ("org.apache.pekko" %% "pekko-distributed-data" % pekkoVersion).cross(CrossVersion.for3Use2_13), + ("org.apache.pekko" %% "pekko-cluster-typed" % pekkoVersion).cross(CrossVersion.for3Use2_13), "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test ), scalacOptions ++= Seq( diff --git a/play-scala-secure-session-example/conf/application.conf b/play-scala-secure-session-example/conf/application.conf index 88d8a30de..6e6edaaea 100644 --- a/play-scala-secure-session-example/conf/application.conf +++ b/play-scala-secure-session-example/conf/application.conf @@ -2,18 +2,18 @@ # The SessionCache expiration time if not touched session.expirationTime = 5 minutes -# Show off distributed cache using akka distributed data -# http://doc.akka.io/docs/akka/2.6/scala/distributed-data.html -akka { - loggers = ["akka.event.slf4j.Slf4jLogger"] +# Show off distributed cache using pekko distributed data +# https://pekko.apache.org/docs/pekko/current/scala/distributed-data.html +pekko { + loggers = ["org.apache.pekko.event.slf4j.Slf4jLogger"] loglevel = "DEBUG" - logging-filter = "akka.event.slf4j.Slf4jLoggingFilter" + logging-filter = "org.apache.pekko.event.slf4j.Slf4jLoggingFilter" actor { provider = "cluster" # Do enable protobuf serialization - # http://doc.akka.io/docs/akka/2.6/scala/remoting.html#Disabling_the_Java_Serializer + # https://pekko.apache.org/docs/pekko/current/scala/remoting.html#Disabling_the_Java_Serializer enable-additional-serialization-bindings = on # Don't allow insecure java deserialization @@ -44,8 +44,8 @@ akka { min-nr-of-members = 2 seed-nodes = [ - "akka://"${play.akka.actor-system}"@127.0.0.1:2551", - "akka://"${play.akka.actor-system}"@127.0.0.1:2552" + "pekko://"${play.pekko.actor-system}"@127.0.0.1:2551", + "pekko://"${play.pekko.actor-system}"@127.0.0.1:2552" ] } } diff --git a/play-scala-secure-session-example/conf/logback.xml b/play-scala-secure-session-example/conf/logback.xml index 920b5a8bb..26fd1655c 100644 --- a/play-scala-secure-session-example/conf/logback.xml +++ b/play-scala-secure-session-example/conf/logback.xml @@ -32,7 +32,7 @@ - + diff --git a/play-scala-starter-example/conf/application.conf b/play-scala-starter-example/conf/application.conf index 79ee0be8b..63ac219bd 100644 --- a/play-scala-starter-example/conf/application.conf +++ b/play-scala-starter-example/conf/application.conf @@ -15,20 +15,20 @@ # HOCON will fall back to substituting environment variable: #mykey = ${JAVA_HOME} -## Akka -# https://www.playframework.com/documentation/latest/ScalaAkka#Configuration -# https://www.playframework.com/documentation/latest/JavaAkka#Configuration +## Pekko +# https://www.playframework.com/documentation/latest/ScalaPekko#Configuration +# https://www.playframework.com/documentation/latest/JavaPekko#Configuration # ~~~~~ -# Play uses Akka internally and exposes Akka Streams and actors in Websockets and +# Play uses Pekko internally and exposes Pekko Streams and actors in Websockets and # other streaming HTTP responses. -akka { - # "akka.log-config-on-start" is extraordinarly useful because it log the complete +pekko { + # "pekko.log-config-on-start" is extraordinarly useful because it log the complete # configuration at INFO level, including defaults and overrides, so it s worth # putting at the very top. # # Put the following in your conf/logback.xml file: # - # + # # # And then uncomment this line to debug the configuration. # diff --git a/play-scala-streaming-example/README.md b/play-scala-streaming-example/README.md index 661a9c8c6..18ad53c0a 100644 --- a/play-scala-streaming-example/README.md +++ b/play-scala-streaming-example/README.md @@ -1,6 +1,6 @@ # play-streaming-scala -This is an example Play template that demonstrates Streaming with Server Sent Events or Comet, using Akka Streams. +This is an example Play template that demonstrates Streaming with Server Sent Events or Comet, using Pekko Streams. Please see the documentation at: diff --git a/play-scala-tls-example/test/integration/GuiceOneHttpsServerPerTest.scala b/play-scala-tls-example/test/integration/GuiceOneHttpsServerPerTest.scala index a5d47b665..073831cb2 100644 --- a/play-scala-tls-example/test/integration/GuiceOneHttpsServerPerTest.scala +++ b/play-scala-tls-example/test/integration/GuiceOneHttpsServerPerTest.scala @@ -5,7 +5,7 @@ import play.api.test.{Helpers, TestServer} import play.api.{Application, Mode} import org.scalatest._ import org.scalatestplus.play.guice.GuiceFakeApplicationFactory -import play.core.server.{AkkaHttpServer, ServerConfig, ServerProvider} +import play.core.server.{PekkoHttpServer, ServerConfig, ServerProvider} /** * Runs a server test using the SSL port as the default @@ -56,6 +56,6 @@ trait GuiceOneHttpsServerPerTest extends TestSuiteMixin with ServerProvider with } def createServer(context: ServerProvider.Context) = - new AkkaHttpServer(AkkaHttpServer.Context.fromServerProviderContext(context)) + new PekkoHttpServer(PekkoHttpServer.Context.fromServerProviderContext(context)) } diff --git a/play-scala-websocket-example/README.md b/play-scala-websocket-example/README.md index a7e1a384d..69bc20cd7 100644 --- a/play-scala-websocket-example/README.md +++ b/play-scala-websocket-example/README.md @@ -2,9 +2,9 @@ This is an example Play application that shows how to use Play's Websocket API in Scala, by showing a series of stock tickers updated using WebSocket. -The Websocket API is built on Akka Streams, and so is async, non-blocking, and backpressure aware. Using Akka Streams also means that interacting with Akka Actors is simple. +The Websocket API is built on Pekko Streams, and so is async, non-blocking, and backpressure aware. Using Pekko Streams also means that interacting with Pekko Actors is simple. -## Reactive Push using Akka Streams +## Reactive Push using Pekko Streams This application uses a WebSocket to push data to the browser in real-time. To create a WebSocket connection in Play, first a route must be defined in the routes file. Here is the route which will be used to setup the WebSocket connection: @@ -70,8 +70,8 @@ The client-side of Reactive Requests and Reactive Composition is no different th ## Further Learning -The Reactive Stocks example combines Reactive Push, Reactive Requests, Reactive Composition, and a Reactive UI to create a Resilient, Interactive, Scalable, and Event-Driven application. For more information, please see the documentation for Websockets and Akka Streams: +The Reactive Stocks example combines Reactive Push, Reactive Requests, Reactive Composition, and a Reactive UI to create a Resilient, Interactive, Scalable, and Event-Driven application. For more information, please see the documentation for Websockets and Pekko Streams: * -* -* +* +* diff --git a/play-scala-websocket-example/app/Module.scala b/play-scala-websocket-example/app/Module.scala index 17151a82f..a4fdc1b12 100644 --- a/play-scala-websocket-example/app/Module.scala +++ b/play-scala-websocket-example/app/Module.scala @@ -4,11 +4,11 @@ import actors._ import org.apache.pekko.actor.typed.{ ActorRef, Behavior } import org.apache.pekko.stream.Materializer import com.google.inject.AbstractModule -import play.api.libs.concurrent.AkkaGuiceSupport +import play.api.libs.concurrent.PekkoGuiceSupport import scala.concurrent.ExecutionContext -class Module extends AbstractModule with AkkaGuiceSupport { +class Module extends AbstractModule with PekkoGuiceSupport { override def configure(): Unit = { bindTypedActor(StocksActor(), "stocksActor") bindTypedActor(UserParentActor, "userParentActor") diff --git a/play-scala-websocket-example/app/actors/UserActor.scala b/play-scala-websocket-example/app/actors/UserActor.scala index c3ea2983e..3fb36eb37 100644 --- a/play-scala-websocket-example/app/actors/UserActor.scala +++ b/play-scala-websocket-example/app/actors/UserActor.scala @@ -20,7 +20,7 @@ import scala.util.Try /** * Creates a user actor that sets up the websocket stream. Although it's not required, * having an actor manage the stream helps with lifecycle and monitoring, and also helps - * with dependency injection through the AkkaGuiceSupport trait. + * with dependency injection through the PekkoGuiceSupport trait. * * @param stocksActor the actor responsible for stocks and their streams */ diff --git a/play-scala-websocket-example/conf/application.conf b/play-scala-websocket-example/conf/application.conf index 5ecdc8bf8..c248b1aad 100644 --- a/play-scala-websocket-example/conf/application.conf +++ b/play-scala-websocket-example/conf/application.conf @@ -1,8 +1,8 @@ -# Uncomment this for the most verbose Akka debugging: -akka { - loggers = ["akka.event.slf4j.Slf4jLogger"] +# Uncomment this for the most verbose Pekko debugging: +pekko { + loggers = ["org.apache.pekko.event.slf4j.Slf4jLogger"] loglevel = "DEBUG" - logging-filter = "akka.event.slf4j.Slf4jLoggingFilter" + logging-filter = "org.apache.pekko.event.slf4j.Slf4jLoggingFilter" actor { debug { diff --git a/play-scala-websocket-example/conf/logback.xml b/play-scala-websocket-example/conf/logback.xml index a8ebae933..7a935f72d 100644 --- a/play-scala-websocket-example/conf/logback.xml +++ b/play-scala-websocket-example/conf/logback.xml @@ -18,14 +18,14 @@ - %highlight(%-5level) %logger{15} - [%X{akkaSource}] %message%n%xException{10} + %highlight(%-5level) %logger{15} - [%X{pekkoSource}] %message%n%xException{10} - + diff --git a/test.sh b/test.sh index 1845c2466..3daba90c6 100755 --- a/test.sh +++ b/test.sh @@ -18,7 +18,7 @@ pushd play-java-rest-api-example && scripts/test-sbt && popd pushd play-java-starter-example && scripts/test-sbt && popd pushd play-java-streaming-example && scripts/test-sbt && popd pushd play-java-websocket-example && scripts/test-sbt && popd -pushd play-java-akka-cluster-example && scripts/test-sbt && popd +pushd play-java-pekko-cluster-example && scripts/test-sbt && popd pushd play-scala-anorm-example && scripts/test-sbt && popd pushd play-scala-chatroom-example && scripts/test-sbt && popd pushd play-scala-compile-di-example && scripts/test-sbt && popd From 831eab82b4fb133dd9ba2a0ccf84a5fdf8e0a246 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Wed, 18 Oct 2023 12:28:04 +0200 Subject: [PATCH 05/42] Rename play-java-akka-cluster-example -> play-java-pekko-cluster-example --- .../.gitignore | 0 .../README.md | 0 .../app/controllers/HomeController.java | 0 .../app/modules/AppModule.java | 0 .../app/services/CborSerializable.java | 0 .../app/services/CounterActor.java | 0 .../app/views/index.scala.html | 0 .../app/views/main.scala.html | 0 .../build.sbt | 0 .../conf/application.conf | 0 .../conf/cluster.conf | 0 .../conf/local-shared.conf | 0 .../conf/local1.conf | 0 .../conf/local2.conf | 0 .../conf/local3.conf | 0 .../conf/logback.xml | 0 .../conf/routes | 0 .../conf/serialization.conf | 0 .../project/build.properties | 0 .../project/plugins.sbt | 0 .../public/images/favicon.png | Bin .../public/javascripts/main.js | 0 .../public/stylesheets/main.css | 0 .../scripts/test-sbt | 0 .../test/controllers/HomeControllerTest.java | 0 25 files changed, 0 insertions(+), 0 deletions(-) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/.gitignore (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/README.md (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/app/controllers/HomeController.java (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/app/modules/AppModule.java (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/app/services/CborSerializable.java (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/app/services/CounterActor.java (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/app/views/index.scala.html (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/app/views/main.scala.html (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/build.sbt (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/conf/application.conf (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/conf/cluster.conf (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/conf/local-shared.conf (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/conf/local1.conf (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/conf/local2.conf (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/conf/local3.conf (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/conf/logback.xml (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/conf/routes (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/conf/serialization.conf (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/project/build.properties (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/project/plugins.sbt (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/public/images/favicon.png (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/public/javascripts/main.js (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/public/stylesheets/main.css (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/scripts/test-sbt (100%) rename {play-java-akka-cluster-example => play-java-pekko-cluster-example}/test/controllers/HomeControllerTest.java (100%) diff --git a/play-java-akka-cluster-example/.gitignore b/play-java-pekko-cluster-example/.gitignore similarity index 100% rename from play-java-akka-cluster-example/.gitignore rename to play-java-pekko-cluster-example/.gitignore diff --git a/play-java-akka-cluster-example/README.md b/play-java-pekko-cluster-example/README.md similarity index 100% rename from play-java-akka-cluster-example/README.md rename to play-java-pekko-cluster-example/README.md diff --git a/play-java-akka-cluster-example/app/controllers/HomeController.java b/play-java-pekko-cluster-example/app/controllers/HomeController.java similarity index 100% rename from play-java-akka-cluster-example/app/controllers/HomeController.java rename to play-java-pekko-cluster-example/app/controllers/HomeController.java diff --git a/play-java-akka-cluster-example/app/modules/AppModule.java b/play-java-pekko-cluster-example/app/modules/AppModule.java similarity index 100% rename from play-java-akka-cluster-example/app/modules/AppModule.java rename to play-java-pekko-cluster-example/app/modules/AppModule.java diff --git a/play-java-akka-cluster-example/app/services/CborSerializable.java b/play-java-pekko-cluster-example/app/services/CborSerializable.java similarity index 100% rename from play-java-akka-cluster-example/app/services/CborSerializable.java rename to play-java-pekko-cluster-example/app/services/CborSerializable.java diff --git a/play-java-akka-cluster-example/app/services/CounterActor.java b/play-java-pekko-cluster-example/app/services/CounterActor.java similarity index 100% rename from play-java-akka-cluster-example/app/services/CounterActor.java rename to play-java-pekko-cluster-example/app/services/CounterActor.java diff --git a/play-java-akka-cluster-example/app/views/index.scala.html b/play-java-pekko-cluster-example/app/views/index.scala.html similarity index 100% rename from play-java-akka-cluster-example/app/views/index.scala.html rename to play-java-pekko-cluster-example/app/views/index.scala.html diff --git a/play-java-akka-cluster-example/app/views/main.scala.html b/play-java-pekko-cluster-example/app/views/main.scala.html similarity index 100% rename from play-java-akka-cluster-example/app/views/main.scala.html rename to play-java-pekko-cluster-example/app/views/main.scala.html diff --git a/play-java-akka-cluster-example/build.sbt b/play-java-pekko-cluster-example/build.sbt similarity index 100% rename from play-java-akka-cluster-example/build.sbt rename to play-java-pekko-cluster-example/build.sbt diff --git a/play-java-akka-cluster-example/conf/application.conf b/play-java-pekko-cluster-example/conf/application.conf similarity index 100% rename from play-java-akka-cluster-example/conf/application.conf rename to play-java-pekko-cluster-example/conf/application.conf diff --git a/play-java-akka-cluster-example/conf/cluster.conf b/play-java-pekko-cluster-example/conf/cluster.conf similarity index 100% rename from play-java-akka-cluster-example/conf/cluster.conf rename to play-java-pekko-cluster-example/conf/cluster.conf diff --git a/play-java-akka-cluster-example/conf/local-shared.conf b/play-java-pekko-cluster-example/conf/local-shared.conf similarity index 100% rename from play-java-akka-cluster-example/conf/local-shared.conf rename to play-java-pekko-cluster-example/conf/local-shared.conf diff --git a/play-java-akka-cluster-example/conf/local1.conf b/play-java-pekko-cluster-example/conf/local1.conf similarity index 100% rename from play-java-akka-cluster-example/conf/local1.conf rename to play-java-pekko-cluster-example/conf/local1.conf diff --git a/play-java-akka-cluster-example/conf/local2.conf b/play-java-pekko-cluster-example/conf/local2.conf similarity index 100% rename from play-java-akka-cluster-example/conf/local2.conf rename to play-java-pekko-cluster-example/conf/local2.conf diff --git a/play-java-akka-cluster-example/conf/local3.conf b/play-java-pekko-cluster-example/conf/local3.conf similarity index 100% rename from play-java-akka-cluster-example/conf/local3.conf rename to play-java-pekko-cluster-example/conf/local3.conf diff --git a/play-java-akka-cluster-example/conf/logback.xml b/play-java-pekko-cluster-example/conf/logback.xml similarity index 100% rename from play-java-akka-cluster-example/conf/logback.xml rename to play-java-pekko-cluster-example/conf/logback.xml diff --git a/play-java-akka-cluster-example/conf/routes b/play-java-pekko-cluster-example/conf/routes similarity index 100% rename from play-java-akka-cluster-example/conf/routes rename to play-java-pekko-cluster-example/conf/routes diff --git a/play-java-akka-cluster-example/conf/serialization.conf b/play-java-pekko-cluster-example/conf/serialization.conf similarity index 100% rename from play-java-akka-cluster-example/conf/serialization.conf rename to play-java-pekko-cluster-example/conf/serialization.conf diff --git a/play-java-akka-cluster-example/project/build.properties b/play-java-pekko-cluster-example/project/build.properties similarity index 100% rename from play-java-akka-cluster-example/project/build.properties rename to play-java-pekko-cluster-example/project/build.properties diff --git a/play-java-akka-cluster-example/project/plugins.sbt b/play-java-pekko-cluster-example/project/plugins.sbt similarity index 100% rename from play-java-akka-cluster-example/project/plugins.sbt rename to play-java-pekko-cluster-example/project/plugins.sbt diff --git a/play-java-akka-cluster-example/public/images/favicon.png b/play-java-pekko-cluster-example/public/images/favicon.png similarity index 100% rename from play-java-akka-cluster-example/public/images/favicon.png rename to play-java-pekko-cluster-example/public/images/favicon.png diff --git a/play-java-akka-cluster-example/public/javascripts/main.js b/play-java-pekko-cluster-example/public/javascripts/main.js similarity index 100% rename from play-java-akka-cluster-example/public/javascripts/main.js rename to play-java-pekko-cluster-example/public/javascripts/main.js diff --git a/play-java-akka-cluster-example/public/stylesheets/main.css b/play-java-pekko-cluster-example/public/stylesheets/main.css similarity index 100% rename from play-java-akka-cluster-example/public/stylesheets/main.css rename to play-java-pekko-cluster-example/public/stylesheets/main.css diff --git a/play-java-akka-cluster-example/scripts/test-sbt b/play-java-pekko-cluster-example/scripts/test-sbt similarity index 100% rename from play-java-akka-cluster-example/scripts/test-sbt rename to play-java-pekko-cluster-example/scripts/test-sbt diff --git a/play-java-akka-cluster-example/test/controllers/HomeControllerTest.java b/play-java-pekko-cluster-example/test/controllers/HomeControllerTest.java similarity index 100% rename from play-java-akka-cluster-example/test/controllers/HomeControllerTest.java rename to play-java-pekko-cluster-example/test/controllers/HomeControllerTest.java From 487e851eabb86eab530ff284bae572d4919ba65e Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Wed, 18 Oct 2023 12:28:23 +0200 Subject: [PATCH 06/42] webjars-play 3.0.0-M3 --- play-java-chatroom-example/build.sbt | 2 +- play-java-websocket-example/build.sbt | 2 +- play-scala-chatroom-example/build.sbt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/play-java-chatroom-example/build.sbt b/play-java-chatroom-example/build.sbt index f8c2e985f..d447a3bda 100644 --- a/play-java-chatroom-example/build.sbt +++ b/play-java-chatroom-example/build.sbt @@ -6,7 +6,7 @@ lazy val root = (project in file(".")) crossScalaVersions := Seq("2.13.12", "3.3.1"), scalaVersion := crossScalaVersions.value.head, libraryDependencies ++= Seq( - "org.webjars" %% "webjars-play" % "2.9.0-RC2", + "org.webjars" %% "webjars-play" % "3.0.0-M3", "org.webjars" % "flot" % "0.8.3", "org.webjars" % "bootstrap" % "3.4.1", guice, diff --git a/play-java-websocket-example/build.sbt b/play-java-websocket-example/build.sbt index 01e7c449a..40801dbed 100644 --- a/play-java-websocket-example/build.sbt +++ b/play-java-websocket-example/build.sbt @@ -10,7 +10,7 @@ lazy val root = (project in file(".")) libraryDependencies ++= Seq( guice, ws, - "org.webjars" %% "webjars-play" % "2.9.0-RC2", + "org.webjars" %% "webjars-play" % "3.0.0-M3", "org.webjars" % "bootstrap" % "2.3.2", "org.webjars" % "flot" % "0.8.3", diff --git a/play-scala-chatroom-example/build.sbt b/play-scala-chatroom-example/build.sbt index 6d5a28682..e77e49a1c 100644 --- a/play-scala-chatroom-example/build.sbt +++ b/play-scala-chatroom-example/build.sbt @@ -9,7 +9,7 @@ lazy val root = (project in file(".")) scalaVersion := crossScalaVersions.value.head, libraryDependencies ++= Seq( guice, - "org.webjars" %% "webjars-play" % "2.9.0-RC2", + "org.webjars" %% "webjars-play" % "3.0.0-M3", "org.webjars" % "flot" % "0.8.3-1", "org.webjars" % "bootstrap" % "3.3.7-1", "net.logstash.logback" % "logstash-logback-encoder" % "7.3", From 38b6b3caf9b4c703cb614323696dbb9f554c52be Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Thu, 19 Oct 2023 00:01:23 +0200 Subject: [PATCH 07/42] com.typesafe.play -> org.playframework --- play-java-chatroom-example/project/plugins.sbt | 2 +- play-java-compile-di-example/project/plugins.sbt | 2 +- play-java-dagger2-example/project/plugins.sbt | 2 +- play-java-ebean-example/project/plugins.sbt | 2 +- play-java-fileupload-example/project/plugins.sbt | 2 +- play-java-forms-example/project/plugins.sbt | 2 +- play-java-grpc-example/project/plugins.sbt | 2 +- play-java-hello-world-tutorial/project/plugins.sbt | 2 +- play-java-jpa-example/project/plugins.sbt | 2 +- play-java-pekko-cluster-example/project/plugins.sbt | 2 +- play-java-rest-api-example/project/plugins.sbt | 2 +- play-java-starter-example/project/plugins.sbt | 2 +- play-java-streaming-example/project/plugins.sbt | 2 +- play-java-telemetry-example/project/plugins.sbt | 2 +- play-java-websocket-example/project/plugins.sbt | 2 +- play-scala-anorm-example/project/plugins.sbt | 2 +- play-scala-chatroom-example/project/plugins.sbt | 2 +- play-scala-compile-di-example/project/plugins.sbt | 2 +- play-scala-fileupload-example/project/plugins.sbt | 2 +- play-scala-forms-example/project/plugins.sbt | 2 +- play-scala-grpc-example/build.sbt | 4 ++-- play-scala-grpc-example/project/plugins.sbt | 2 +- play-scala-hello-world-tutorial/project/plugins.sbt | 2 +- play-scala-isolated-slick-example/project/plugins.sbt | 2 +- play-scala-log4j2-example/project/plugins.sbt | 2 +- play-scala-macwire-di-example/project/plugins.sbt | 2 +- play-scala-rest-api-example/project/plugins.sbt | 2 +- play-scala-secure-session-example/project/plugins.sbt | 2 +- play-scala-slick-example/project/plugins.sbt | 2 +- play-scala-starter-example/project/plugins.sbt | 2 +- play-scala-streaming-example/project/plugins.sbt | 2 +- play-scala-telemetry-example/project/plugins.sbt | 2 +- play-scala-tls-example/project/plugins.sbt | 2 +- play-scala-websocket-example/project/plugins.sbt | 2 +- 34 files changed, 35 insertions(+), 35 deletions(-) diff --git a/play-java-chatroom-example/project/plugins.sbt b/play-java-chatroom-example/project/plugins.sbt index 6eeca331d..4cc94d648 100644 --- a/play-java-chatroom-example/project/plugins.sbt +++ b/play-java-chatroom-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-java-compile-di-example/project/plugins.sbt b/play-java-compile-di-example/project/plugins.sbt index 8f0a39701..d14616d9e 100644 --- a/play-java-compile-di-example/project/plugins.sbt +++ b/play-java-compile-di-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-java-dagger2-example/project/plugins.sbt b/play-java-dagger2-example/project/plugins.sbt index 6eeca331d..4cc94d648 100644 --- a/play-java-dagger2-example/project/plugins.sbt +++ b/play-java-dagger2-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-java-ebean-example/project/plugins.sbt b/play-java-ebean-example/project/plugins.sbt index a6f0a2a75..6197b9bdf 100644 --- a/play-java-ebean-example/project/plugins.sbt +++ b/play-java-ebean-example/project/plugins.sbt @@ -1,4 +1,4 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") addSbtPlugin("com.typesafe.play" % "sbt-play-ebean" % "7.0.0-RC2") diff --git a/play-java-fileupload-example/project/plugins.sbt b/play-java-fileupload-example/project/plugins.sbt index 6eeca331d..4cc94d648 100644 --- a/play-java-fileupload-example/project/plugins.sbt +++ b/play-java-fileupload-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-java-forms-example/project/plugins.sbt b/play-java-forms-example/project/plugins.sbt index 6eeca331d..4cc94d648 100644 --- a/play-java-forms-example/project/plugins.sbt +++ b/play-java-forms-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-java-grpc-example/project/plugins.sbt b/play-java-grpc-example/project/plugins.sbt index a7fd17593..1d0ae3164 100644 --- a/play-java-grpc-example/project/plugins.sbt +++ b/play-java-grpc-example/project/plugins.sbt @@ -3,7 +3,7 @@ val playGrpcV = "0.9.1" buildInfoKeys := Seq[BuildInfoKey]("playGrpcVersion" -> playGrpcV) buildInfoPackage := "play.java.grpc.sample" -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.10.5") diff --git a/play-java-hello-world-tutorial/project/plugins.sbt b/play-java-hello-world-tutorial/project/plugins.sbt index 8f0a39701..d14616d9e 100644 --- a/play-java-hello-world-tutorial/project/plugins.sbt +++ b/play-java-hello-world-tutorial/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-java-jpa-example/project/plugins.sbt b/play-java-jpa-example/project/plugins.sbt index 7b91dfdb2..5cc3df553 100644 --- a/play-java-jpa-example/project/plugins.sbt +++ b/play-java-jpa-example/project/plugins.sbt @@ -1,5 +1,5 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") // Web plugins addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.2") diff --git a/play-java-pekko-cluster-example/project/plugins.sbt b/play-java-pekko-cluster-example/project/plugins.sbt index 6eeca331d..4cc94d648 100644 --- a/play-java-pekko-cluster-example/project/plugins.sbt +++ b/play-java-pekko-cluster-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-java-rest-api-example/project/plugins.sbt b/play-java-rest-api-example/project/plugins.sbt index 7a9229bed..4a89b9306 100644 --- a/play-java-rest-api-example/project/plugins.sbt +++ b/play-java-rest-api-example/project/plugins.sbt @@ -1,5 +1,5 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") // Load testing tool: // http://gatling.io/docs/2.2.2/extensions/sbt_plugin.html diff --git a/play-java-starter-example/project/plugins.sbt b/play-java-starter-example/project/plugins.sbt index 6eeca331d..4cc94d648 100644 --- a/play-java-starter-example/project/plugins.sbt +++ b/play-java-starter-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-java-streaming-example/project/plugins.sbt b/play-java-streaming-example/project/plugins.sbt index 140643451..604904d3a 100644 --- a/play-java-streaming-example/project/plugins.sbt +++ b/play-java-streaming-example/project/plugins.sbt @@ -1,2 +1,2 @@ // Use the Play sbt plugin for Play projects -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-java-telemetry-example/project/plugins.sbt b/play-java-telemetry-example/project/plugins.sbt index d33bd4e79..9e18cd634 100644 --- a/play-java-telemetry-example/project/plugins.sbt +++ b/play-java-telemetry-example/project/plugins.sbt @@ -1,5 +1,5 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") addSbtPlugin("com.lightbend.cinnamon" % "sbt-cinnamon" % "2.17.3") diff --git a/play-java-websocket-example/project/plugins.sbt b/play-java-websocket-example/project/plugins.sbt index 5480d0ad2..aed733fb2 100644 --- a/play-java-websocket-example/project/plugins.sbt +++ b/play-java-websocket-example/project/plugins.sbt @@ -1,4 +1,4 @@ -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.1.2") diff --git a/play-scala-anorm-example/project/plugins.sbt b/play-scala-anorm-example/project/plugins.sbt index 6eeca331d..4cc94d648 100644 --- a/play-scala-anorm-example/project/plugins.sbt +++ b/play-scala-anorm-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-chatroom-example/project/plugins.sbt b/play-scala-chatroom-example/project/plugins.sbt index 8f0a39701..d14616d9e 100644 --- a/play-scala-chatroom-example/project/plugins.sbt +++ b/play-scala-chatroom-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-compile-di-example/project/plugins.sbt b/play-scala-compile-di-example/project/plugins.sbt index 8f0a39701..d14616d9e 100644 --- a/play-scala-compile-di-example/project/plugins.sbt +++ b/play-scala-compile-di-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-fileupload-example/project/plugins.sbt b/play-scala-fileupload-example/project/plugins.sbt index 918b5e9a2..f5c9d714b 100644 --- a/play-scala-fileupload-example/project/plugins.sbt +++ b/play-scala-fileupload-example/project/plugins.sbt @@ -1,4 +1,4 @@ resolvers += Resolver.jcenterRepo // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-forms-example/project/plugins.sbt b/play-scala-forms-example/project/plugins.sbt index 8f0a39701..d14616d9e 100644 --- a/play-scala-forms-example/project/plugins.sbt +++ b/play-scala-forms-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-grpc-example/build.sbt b/play-scala-grpc-example/build.sbt index a5ca88e08..c3ce58c9c 100644 --- a/play-scala-grpc-example/build.sbt +++ b/play-scala-grpc-example/build.sbt @@ -65,8 +65,8 @@ val playVersion = play.core.PlayVersion.current val TestDeps = Seq( "com.lightbend.play" %% "play-grpc-scalatest" % BuildInfo.playGrpcVersion % Test, "com.lightbend.play" %% "play-grpc-specs2" % BuildInfo.playGrpcVersion % Test, - "com.typesafe.play" %% "play-test" % playVersion % Test, - "com.typesafe.play" %% "play-specs2" % playVersion % Test, + "org.playframework" %% "play-test" % playVersion % Test, + "org.playframework" %% "play-specs2" % playVersion % Test, "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test, ) diff --git a/play-scala-grpc-example/project/plugins.sbt b/play-scala-grpc-example/project/plugins.sbt index 50a12e02e..7e7b8ab9f 100644 --- a/play-scala-grpc-example/project/plugins.sbt +++ b/play-scala-grpc-example/project/plugins.sbt @@ -4,7 +4,7 @@ buildInfoKeys := Seq[BuildInfoKey]("playGrpcVersion" -> playGrpcV) buildInfoPackage := "play.scala.grpc.sample" -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.10.5") diff --git a/play-scala-hello-world-tutorial/project/plugins.sbt b/play-scala-hello-world-tutorial/project/plugins.sbt index 8f0a39701..d14616d9e 100644 --- a/play-scala-hello-world-tutorial/project/plugins.sbt +++ b/play-scala-hello-world-tutorial/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-isolated-slick-example/project/plugins.sbt b/play-scala-isolated-slick-example/project/plugins.sbt index 09dc948bf..6b77023f3 100644 --- a/play-scala-isolated-slick-example/project/plugins.sbt +++ b/play-scala-isolated-slick-example/project/plugins.sbt @@ -9,4 +9,4 @@ addSbtPlugin("io.github.davidmweber" % "flyway-sbt" % "7.4.0") addSbtPlugin("com.github.tototoshi" % "sbt-slick-codegen" % "2.0.0") // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-log4j2-example/project/plugins.sbt b/play-scala-log4j2-example/project/plugins.sbt index 6eeca331d..4cc94d648 100644 --- a/play-scala-log4j2-example/project/plugins.sbt +++ b/play-scala-log4j2-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-macwire-di-example/project/plugins.sbt b/play-scala-macwire-di-example/project/plugins.sbt index 8f0a39701..d14616d9e 100644 --- a/play-scala-macwire-di-example/project/plugins.sbt +++ b/play-scala-macwire-di-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-rest-api-example/project/plugins.sbt b/play-scala-rest-api-example/project/plugins.sbt index 16daf8046..7ae667749 100644 --- a/play-scala-rest-api-example/project/plugins.sbt +++ b/play-scala-rest-api-example/project/plugins.sbt @@ -1,5 +1,5 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") // sbt-paradox, used for documentation addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.10.5") diff --git a/play-scala-secure-session-example/project/plugins.sbt b/play-scala-secure-session-example/project/plugins.sbt index 6eeca331d..4cc94d648 100644 --- a/play-scala-secure-session-example/project/plugins.sbt +++ b/play-scala-secure-session-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-slick-example/project/plugins.sbt b/play-scala-slick-example/project/plugins.sbt index 6eeca331d..4cc94d648 100644 --- a/play-scala-slick-example/project/plugins.sbt +++ b/play-scala-slick-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-starter-example/project/plugins.sbt b/play-scala-starter-example/project/plugins.sbt index 6eeca331d..4cc94d648 100644 --- a/play-scala-starter-example/project/plugins.sbt +++ b/play-scala-starter-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-streaming-example/project/plugins.sbt b/play-scala-streaming-example/project/plugins.sbt index 140643451..604904d3a 100644 --- a/play-scala-streaming-example/project/plugins.sbt +++ b/play-scala-streaming-example/project/plugins.sbt @@ -1,2 +1,2 @@ // Use the Play sbt plugin for Play projects -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-telemetry-example/project/plugins.sbt b/play-scala-telemetry-example/project/plugins.sbt index d33bd4e79..9e18cd634 100644 --- a/play-scala-telemetry-example/project/plugins.sbt +++ b/play-scala-telemetry-example/project/plugins.sbt @@ -1,5 +1,5 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") addSbtPlugin("com.lightbend.cinnamon" % "sbt-cinnamon" % "2.17.3") diff --git a/play-scala-tls-example/project/plugins.sbt b/play-scala-tls-example/project/plugins.sbt index 6eeca331d..4cc94d648 100644 --- a/play-scala-tls-example/project/plugins.sbt +++ b/play-scala-tls-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") diff --git a/play-scala-websocket-example/project/plugins.sbt b/play-scala-websocket-example/project/plugins.sbt index d3acc342f..bce4f019e 100644 --- a/play-scala-websocket-example/project/plugins.sbt +++ b/play-scala-websocket-example/project/plugins.sbt @@ -1,5 +1,5 @@ // Use the Play sbt plugin for Play projects -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.1.2") From ec56ed627f902730baacee39b0e07837ccea0fff Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Thu, 19 Oct 2023 00:17:21 +0200 Subject: [PATCH 08/42] play-ebean under org.playframework --- play-java-ebean-example/project/plugins.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/play-java-ebean-example/project/plugins.sbt b/play-java-ebean-example/project/plugins.sbt index 6197b9bdf..459f9c971 100644 --- a/play-java-ebean-example/project/plugins.sbt +++ b/play-java-ebean-example/project/plugins.sbt @@ -1,4 +1,4 @@ // The Play plugin addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") -addSbtPlugin("com.typesafe.play" % "sbt-play-ebean" % "7.0.0-RC2") +addSbtPlugin("org.playframework" % "sbt-play-ebean" % "8.0.0-M1") From 943260e3c44064484d5214d7bb549a3765720822 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Thu, 19 Oct 2023 00:47:41 +0200 Subject: [PATCH 09/42] play-slick under org.playframework now --- play-scala-slick-example/build.sbt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/play-scala-slick-example/build.sbt b/play-scala-slick-example/build.sbt index 9f76361a3..a21458202 100644 --- a/play-scala-slick-example/build.sbt +++ b/play-scala-slick-example/build.sbt @@ -22,8 +22,8 @@ def sampleProject(name: String) = ), libraryDependencies ++= Seq( guice, - "com.typesafe.play" %% "play-slick" % "5.1.0", - "com.typesafe.play" %% "play-slick-evolutions" % "5.1.0", + "org.playframework" %% "play-slick" % "6.0.0-M1", + "org.playframework" %% "play-slick-evolutions" % "6.0.0-M1", "com.h2database" % "h2" % "2.2.224", specs2 % Test, ), From b293a9b606af1ff2936ea5ff574414b57d5d6029 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Thu, 19 Oct 2023 00:46:34 +0200 Subject: [PATCH 10/42] No more for3Use2_13 --- play-java-pekko-cluster-example/build.sbt | 2 +- play-scala-secure-session-example/build.sbt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/play-java-pekko-cluster-example/build.sbt b/play-java-pekko-cluster-example/build.sbt index 0f2dc454d..0045bdabe 100644 --- a/play-java-pekko-cluster-example/build.sbt +++ b/play-java-pekko-cluster-example/build.sbt @@ -16,7 +16,7 @@ libraryDependencies += guice val pekkoVersion = PlayVersion.pekkoVersion // this dependency is required to form the Pekko Cluster -libraryDependencies += ("org.apache.pekko" %% "pekko-cluster-typed" % pekkoVersion).cross(CrossVersion.for3Use2_13) +libraryDependencies += "org.apache.pekko" %% "pekko-cluster-typed" % pekkoVersion // Sending messages from a node to another in the Pekko Cluster requires serializing. This // example application uses the default Pekko Jackson serializer with the CBOR format. diff --git a/play-scala-secure-session-example/build.sbt b/play-scala-secure-session-example/build.sbt index e6bcb79c4..a0e55a967 100644 --- a/play-scala-secure-session-example/build.sbt +++ b/play-scala-secure-session-example/build.sbt @@ -11,8 +11,8 @@ lazy val root = (project in file(".")) ws, guice, "org.abstractj.kalium" % "kalium" % "0.8.0", - ("org.apache.pekko" %% "pekko-distributed-data" % pekkoVersion).cross(CrossVersion.for3Use2_13), - ("org.apache.pekko" %% "pekko-cluster-typed" % pekkoVersion).cross(CrossVersion.for3Use2_13), + "org.apache.pekko" %% "pekko-distributed-data" % pekkoVersion, + "org.apache.pekko" %% "pekko-cluster-typed" % pekkoVersion, "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test ), scalacOptions ++= Seq( From 42656afdc38c9963482d8b55e0e678f1511ed7bd Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Thu, 19 Oct 2023 07:38:43 +0200 Subject: [PATCH 11/42] "scalatestplus-play" % "7.0.0-M1" --- play-scala-anorm-example/build.sbt | 2 +- play-scala-chatroom-example/build.sbt | 2 +- play-scala-compile-di-example/build.sbt | 2 +- play-scala-fileupload-example/build.sbt | 2 +- play-scala-forms-example/build.sbt | 2 +- play-scala-hello-world-tutorial/build.sbt | 2 +- play-scala-isolated-slick-example/build.sbt | 2 +- play-scala-log4j2-example/build.sbt | 2 +- play-scala-macwire-di-example/build.sbt | 2 +- play-scala-rest-api-example/build.sbt | 2 +- play-scala-secure-session-example/build.sbt | 2 +- play-scala-starter-example/build.sbt | 2 +- play-scala-streaming-example/build.sbt | 2 +- play-scala-telemetry-example/build.sbt | 2 +- play-scala-tls-example/build.sbt | 2 +- play-scala-websocket-example/build.sbt | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/play-scala-anorm-example/build.sbt b/play-scala-anorm-example/build.sbt index 9a8e0c2d9..cef03659b 100644 --- a/play-scala-anorm-example/build.sbt +++ b/play-scala-anorm-example/build.sbt @@ -11,7 +11,7 @@ lazy val root = (project in file(".")) evolutions, "com.h2database" % "h2" % "2.2.224", "org.playframework.anorm" %% "anorm" % "2.7.0", - "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test, + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test, ), scalacOptions ++= List("-feature", "-Werror"), javacOptions ++= List("-Xlint:unchecked", "-Xlint:deprecation", "-Werror"), diff --git a/play-scala-chatroom-example/build.sbt b/play-scala-chatroom-example/build.sbt index e77e49a1c..27384c10e 100644 --- a/play-scala-chatroom-example/build.sbt +++ b/play-scala-chatroom-example/build.sbt @@ -18,7 +18,7 @@ lazy val root = (project in file(".")) "org.apache.pekko" %% "pekko-slf4j" % pekkoVersion, "org.apache.pekko" %% "pekko-testkit" % pekkoVersion % Test, "org.apache.pekko" %% "pekko-stream-testkit" % pekkoVersion % Test, - "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test ), (Test / javaOptions) += "-Dtestserver.port=19001", scalacOptions ++= Seq( diff --git a/play-scala-compile-di-example/build.sbt b/play-scala-compile-di-example/build.sbt index 8b4412e87..e301378bd 100644 --- a/play-scala-compile-di-example/build.sbt +++ b/play-scala-compile-di-example/build.sbt @@ -5,7 +5,7 @@ lazy val root = (project in file(".")) version := "1.0-SNAPSHOT", crossScalaVersions := Seq("2.13.12", "3.3.1"), scalaVersion := crossScalaVersions.value.head, - libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2", + libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1", scalacOptions ++= List( //"-encoding", "utf8", // These three get set by Play automatically //"-deprecation", diff --git a/play-scala-fileupload-example/build.sbt b/play-scala-fileupload-example/build.sbt index 2fc56ad17..01795f63a 100644 --- a/play-scala-fileupload-example/build.sbt +++ b/play-scala-fileupload-example/build.sbt @@ -8,7 +8,7 @@ lazy val root = (project in file(".")) libraryDependencies ++= Seq( ws, guice, - "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-forms-example/build.sbt b/play-scala-forms-example/build.sbt index 082cc6f0c..3260af385 100644 --- a/play-scala-forms-example/build.sbt +++ b/play-scala-forms-example/build.sbt @@ -7,7 +7,7 @@ lazy val root = (project in file(".")) scalaVersion := crossScalaVersions.value.head, libraryDependencies ++= Seq( guice, - "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-hello-world-tutorial/build.sbt b/play-scala-hello-world-tutorial/build.sbt index 743d332ac..64a9347de 100644 --- a/play-scala-hello-world-tutorial/build.sbt +++ b/play-scala-hello-world-tutorial/build.sbt @@ -8,7 +8,7 @@ lazy val root = (project in file(".")) scalaVersion := crossScalaVersions.value.head, libraryDependencies ++= Seq( guice, - "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-isolated-slick-example/build.sbt b/play-scala-isolated-slick-example/build.sbt index 888b22c3c..b1992d737 100644 --- a/play-scala-isolated-slick-example/build.sbt +++ b/play-scala-isolated-slick-example/build.sbt @@ -85,7 +85,7 @@ lazy val root = (project in file(".")) "com.h2database" % "h2" % "2.2.224", ws % Test, "org.flywaydb" % "flyway-core" % FlywayVersion % Test, - "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test ), (Test / fork) := true ) diff --git a/play-scala-log4j2-example/build.sbt b/play-scala-log4j2-example/build.sbt index e2b11eb97..6225ff1ff 100644 --- a/play-scala-log4j2-example/build.sbt +++ b/play-scala-log4j2-example/build.sbt @@ -13,7 +13,7 @@ lazy val root = (project in file(".")) "org.apache.logging.log4j" % "log4j-slf4j-impl" % log4jVersion, "org.apache.logging.log4j" % "log4j-api" % log4jVersion, "org.apache.logging.log4j" % "log4j-core" % log4jVersion, - "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-macwire-di-example/build.sbt b/play-scala-macwire-di-example/build.sbt index 2d4a68def..cac2fcf23 100644 --- a/play-scala-macwire-di-example/build.sbt +++ b/play-scala-macwire-di-example/build.sbt @@ -7,7 +7,7 @@ lazy val root = (project in file(".")) scalaVersion := crossScalaVersions.value.head, libraryDependencies ++= Seq( "com.softwaremill.macwire" %% "macros" % "2.5.9" % "provided", - "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-rest-api-example/build.sbt b/play-scala-rest-api-example/build.sbt index ecd276c97..752f6d49b 100644 --- a/play-scala-rest-api-example/build.sbt +++ b/play-scala-rest-api-example/build.sbt @@ -16,7 +16,7 @@ lazy val root = (project in file(".")) "net.logstash.logback" % "logstash-logback-encoder" % "7.3", "io.lemonlabs" %% "scala-uri" % "4.0.3", "net.codingwell" %% "scala-guice" % "6.0.0", - "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-secure-session-example/build.sbt b/play-scala-secure-session-example/build.sbt index a0e55a967..f4d98c074 100644 --- a/play-scala-secure-session-example/build.sbt +++ b/play-scala-secure-session-example/build.sbt @@ -13,7 +13,7 @@ lazy val root = (project in file(".")) "org.abstractj.kalium" % "kalium" % "0.8.0", "org.apache.pekko" %% "pekko-distributed-data" % pekkoVersion, "org.apache.pekko" %% "pekko-cluster-typed" % pekkoVersion, - "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-starter-example/build.sbt b/play-scala-starter-example/build.sbt index fc404edf5..6a84e41ee 100644 --- a/play-scala-starter-example/build.sbt +++ b/play-scala-starter-example/build.sbt @@ -8,7 +8,7 @@ lazy val root = (project in file(".")) libraryDependencies ++= Seq( guice, "com.h2database" % "h2" % "2.2.224", - "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test, + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test, ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-streaming-example/build.sbt b/play-scala-streaming-example/build.sbt index 49ca626e8..9d50d5c8e 100644 --- a/play-scala-streaming-example/build.sbt +++ b/play-scala-streaming-example/build.sbt @@ -8,7 +8,7 @@ lazy val root = (project in file(".")) libraryDependencies ++= Seq( guice, ws % Test, - "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-telemetry-example/build.sbt b/play-scala-telemetry-example/build.sbt index e6fa21607..57ae4ac2c 100644 --- a/play-scala-telemetry-example/build.sbt +++ b/play-scala-telemetry-example/build.sbt @@ -8,7 +8,7 @@ lazy val root = (project in file(".")) libraryDependencies ++= Seq( guice, "com.h2database" % "h2" % "2.2.224", - "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-tls-example/build.sbt b/play-scala-tls-example/build.sbt index 39f0e5c8e..e6313e1c3 100644 --- a/play-scala-tls-example/build.sbt +++ b/play-scala-tls-example/build.sbt @@ -34,7 +34,7 @@ lazy val root = (project in file(".")) libraryDependencies ++= Seq( ws, guice, - "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test, + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test, ) ) .aggregate(one, two) diff --git a/play-scala-websocket-example/build.sbt b/play-scala-websocket-example/build.sbt index 4c92d53a6..95416220a 100644 --- a/play-scala-websocket-example/build.sbt +++ b/play-scala-websocket-example/build.sbt @@ -12,7 +12,7 @@ lazy val root = (project in file(".")) ws, "org.webjars" % "flot" % "0.8.3-1", "org.webjars" % "bootstrap" % "3.3.7-1", - "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test, + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test, "org.awaitility" % "awaitility" % "4.2.0" % Test, ), (Test / javaOptions) += "-Dtestserver.port=19001", From f5b0c7937ca3b10b5e5c69b2213d1b463a8b9139 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Thu, 19 Oct 2023 09:53:50 +0200 Subject: [PATCH 12/42] More akka -> pekko --- play-java-fileupload-example/README.md | 2 +- play-java-hello-world-tutorial/app/views/index.scala.html | 2 +- play-java-websocket-example/README.md | 2 +- play-scala-hello-world-tutorial/app/views/index.scala.html | 2 +- play-scala-rest-api-example/docs/src/main/paradox/index.md | 2 +- play-scala-secure-session-example/README.md | 4 ++-- .../app/services/session/SessionCache.scala | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/play-java-fileupload-example/README.md b/play-java-fileupload-example/README.md index 580157347..f9aa5bd7d 100644 --- a/play-java-fileupload-example/README.md +++ b/play-java-fileupload-example/README.md @@ -83,7 +83,7 @@ class MyMultipartFormDataBodyParser extends DelegatingMultipartFormDataBodyParse } ``` -The core Accumulator is generated from an `akka.streams.FileIO` sink which writes out bytes to the filesystem, and exposes a CompletionStage when the write operation has been completed. +The core Accumulator is generated from an `org.apache.pekko.streams.FileIO` sink which writes out bytes to the filesystem, and exposes a CompletionStage when the write operation has been completed. Because this code delegates to the Scala API implementation, the underlying `DelegatingMultipartFormDataBodyParser` exposes an abstract method: diff --git a/play-java-hello-world-tutorial/app/views/index.scala.html b/play-java-hello-world-tutorial/app/views/index.scala.html index 4d7d8fdad..ed2436696 100644 --- a/play-java-hello-world-tutorial/app/views/index.scala.html +++ b/play-java-hello-world-tutorial/app/views/index.scala.html @@ -37,7 +37,7 @@

Introduction to Play

Play APIs are available in both Java and Scala. The Framework uses Pekko - and Akka HTTP under the + and Pekko HTTP under the hood. This endows Play applications with a stateless, non-blocking, event-driven architecture that provides horizontal and vertical scalability and uses resources more efficiently. Play projects contain Scala components, but because Play has a Java API, Java developers do not need to learn Scala to use Play diff --git a/play-java-websocket-example/README.md b/play-java-websocket-example/README.md index fccb6d4f8..fa3c5e3d0 100644 --- a/play-java-websocket-example/README.md +++ b/play-java-websocket-example/README.md @@ -20,7 +20,7 @@ Once the `UserActor` is created, the default stocks (defined in `application.con Each stock symbol has its own `StockActor` defined in StockActor.java. This actor holds the last 50 prices for the stock. Using a `FetchHistory` message the whole history can be retrieved. A `FetchLatest` message will generate a new price. Every `StockActor` sends itself a `FetchLatest` message every 75 milliseconds. Once a new price is generated it is added to the history and then a message is sent to each `UserActor` that is watching the stock. The `UserActor` then serializes the data as JSON and pushes it to the client using the WebSocket. -Underneath the covers, resources (threads) are only allocated to the Actors and WebSockets when they are needed. This is why Reactive Push is scalable with Play and Akka. +Underneath the covers, resources (threads) are only allocated to the Actors and WebSockets when they are needed. This is why Reactive Push is scalable with Play and Pekko. ## Reactive UI - Real-time Chart diff --git a/play-scala-hello-world-tutorial/app/views/index.scala.html b/play-scala-hello-world-tutorial/app/views/index.scala.html index af330dba0..ee7a70009 100644 --- a/play-scala-hello-world-tutorial/app/views/index.scala.html +++ b/play-scala-hello-world-tutorial/app/views/index.scala.html @@ -36,7 +36,7 @@

Introduction to Play

Play APIs are available in both Scala and Java. The Framework uses Pekko - and Akka HTTP under the + and Pekko HTTP under the hood. This endows Play applications with a stateless, non-blocking, event-driven architecture that provides horizontal and vertical scalability and uses resources more efficiently.

diff --git a/play-scala-rest-api-example/docs/src/main/paradox/index.md b/play-scala-rest-api-example/docs/src/main/paradox/index.md index 7fef58499..a612b9106 100644 --- a/play-scala-rest-api-example/docs/src/main/paradox/index.md +++ b/play-scala-rest-api-example/docs/src/main/paradox/index.md @@ -46,7 +46,7 @@ The fun answer is that [Play is **fast**](https://www.lightbend.com/blog/why-is- In fact, Play is so fast that you have to turn off machines so that the rest of your architecture can keep up. The Hootsuite team was able to **reduce the number of servers by 80%** by [switching to Play](https://www.lightbend.com/resources/case-studies-and-stories/how-hootsuite-modernized-its-url-shortener). if you deploy Play with the same infrastructure that you were using for other web frameworks, you are effectively staging a denial of service attack against your own database. -Play is fast because Play is **built on reactive bedrock**. Play starts from a reactive core, and builds on reactive principles all the way from the ground. Play breaks network packets into a stream of small chunks of bytes. It keeps a small pool of work stealing threads, mapped to the number of cores in the machine, and keeps those threads fed with those chunks. Play exposes those byte chunks to the application for body parsing, Server Sent Events and WebSockets through [Akka Streams](https://pekko.apache.org/docs/pekko/current/scala/stream/stream-introduction.html) -- the Reactive Streams implementation designed by the people who invented [Reactive Streams](http://www.reactive-streams.org/) and wrote the [Reactive Manifesto](http://www.reactivemanifesto.org/). +Play is fast because Play is **built on reactive bedrock**. Play starts from a reactive core, and builds on reactive principles all the way from the ground. Play breaks network packets into a stream of small chunks of bytes. It keeps a small pool of work stealing threads, mapped to the number of cores in the machine, and keeps those threads fed with those chunks. Play exposes those byte chunks to the application for body parsing, Server Sent Events and WebSockets through [Pekko Streams](https://pekko.apache.org/docs/pekko/current/scala/stream/stream-introduction.html) -- the Reactive Streams implementation designed by the people who invented [Reactive Streams](http://www.reactive-streams.org/) and wrote the [Reactive Manifesto](http://www.reactivemanifesto.org/). Linkedin uses Play throughout its infrastructure. It wins on all [four quadrants of scalability](http://www.slideshare.net/brikis98/the-play-framework-at-linkedin/128-Outline1_Getting_started_with_Play2) ([video](https://youtu.be/8z3h4Uv9YbE)). Play's average "request per second" comes in around [tens of k on a basic quad core w/o any intentional tuning](https://twitter.com/kevinbowling1/status/764188720140398592) -- and it only gets better. diff --git a/play-scala-secure-session-example/README.md b/play-scala-secure-session-example/README.md index a223715e7..9ee41b780 100644 --- a/play-scala-secure-session-example/README.md +++ b/play-scala-secure-session-example/README.md @@ -68,9 +68,9 @@ This example uses `services.session.SessionService` to provide a `Future` based ### Distributed Data Session Store -The example internally uses [Akka Distributed Data](https://pekko.apache.org/docs/pekko/current/scala/distributed-data.html) to share the map throughout all the Play instances through [Akka Clustering](https://pekko.apache.org/docs/pekko/current/scala/cluster-usage.html). Per the Pekko docs, this is a good solution for up to 100,000 concurrent sessions. +The example internally uses [Pekko Distributed Data](https://pekko.apache.org/docs/pekko/current/scala/distributed-data.html) to share the map throughout all the Play instances through [Pekko Clustering](https://pekko.apache.org/docs/pekko/current/scala/cluster-usage.html). Per the Pekko docs, this is a good solution for up to 100,000 concurrent sessions. -The basic structure of the cache is taken from [Akka's ReplicatedCache example](https://github.com/akka/akka-samples/blob/HEAD/akka-sample-distributed-data-scala/src/main/scala/sample/distributeddata/ReplicatedCache.scala), but here an expiration time is added to ensure that an idle session will be reaped after reaching TTL, even if there is no explicit logout. This does result in an individual actor per session, but the ActorCell only becomes active when there is a change in session state, so this is very low overhead. +The basic structure of the cache is taken from [Pekko's ReplicatedCache example](https://github.com/apache/incubator-pekko-samples/blob/HEAD/pekko-sample-distributed-data-scala/src/main/scala/sample/distributeddata/ReplicatedCache.scala), but here an expiration time is added to ensure that an idle session will be reaped after reaching TTL, even if there is no explicit logout. This does result in an individual actor per session, but the ActorCell only becomes active when there is a change in session state, so this is very low overhead. Since this is an example, rather than having to run several Play instances, a ClusterSystem that runs two Pekko Cluster nodes in the background is used, and are configured as the seed nodes for the cluster, so you can see the cluster messages in the logs. In production, each Play instance should be part of the cluster and they will take care of themselves. diff --git a/play-scala-secure-session-example/app/services/session/SessionCache.scala b/play-scala-secure-session-example/app/services/session/SessionCache.scala index 346da3765..a6345ea87 100644 --- a/play-scala-secure-session-example/app/services/session/SessionCache.scala +++ b/play-scala-secure-session-example/app/services/session/SessionCache.scala @@ -25,7 +25,7 @@ class SessionCache( replicator: ReplicatorMessageAdapter[SessionCache.Command, LWWMap[String, Array[Byte]]], ) { // This is from one of the examples covered in the pekko distributed data section: - // https://github.com/akka/akka-samples/blob/2.5/akka-sample-distributed-data-scala/src/main/scala/sample/distributeddata/ReplicatedCache.scala + // https://github.com/apache/incubator-pekko-samples/blob/HEAD/pekko-sample-distributed-data-scala/src/main/scala/sample/distributeddata/ReplicatedCache.scala import SessionCache._ import SessionExpiration._ From 108c50c0f310876ed9f92f12fba305a00729a051 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Thu, 19 Oct 2023 00:28:49 +0200 Subject: [PATCH 13/42] Temporary disable grpc samples --- test.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test.sh b/test.sh index 3daba90c6..17a0d28ad 100755 --- a/test.sh +++ b/test.sh @@ -9,9 +9,9 @@ pushd play-java-dagger2-example && scripts/test-sbt && popd pushd play-java-ebean-example && scripts/test-sbt && popd pushd play-java-fileupload-example && scripts/test-sbt && popd pushd play-java-forms-example && scripts/test-sbt && popd -if [ "$MATRIX_SCALA" != "3.x" ]; then - pushd play-java-grpc-example && scripts/test-sbt && popd -fi +#if [ "$MATRIX_SCALA" != "3.x" ]; then +# pushd play-java-grpc-example && scripts/test-sbt && popd +#fi pushd play-java-hello-world-tutorial && scripts/test-sbt && popd pushd play-java-jpa-example && scripts/test-sbt && popd pushd play-java-rest-api-example && scripts/test-sbt && popd @@ -24,9 +24,9 @@ pushd play-scala-chatroom-example && scripts/test-sbt && popd pushd play-scala-compile-di-example && scripts/test-sbt && popd pushd play-scala-fileupload-example && scripts/test-sbt && popd pushd play-scala-forms-example && scripts/test-sbt && popd -if [ "$MATRIX_SCALA" != "3.x" ]; then - pushd play-scala-grpc-example && scripts/test-sbt && popd -fi +#if [ "$MATRIX_SCALA" != "3.x" ]; then +# pushd play-scala-grpc-example && scripts/test-sbt && popd +#fi pushd play-scala-hello-world-tutorial && scripts/test-sbt && popd if [ "$MATRIX_SCALA" != "3.x" ]; then pushd play-scala-isolated-slick-example && scripts/test-sbt && popd From 88e51fda935359ee721fd3cf3a628369e0497396 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Thu, 19 Oct 2023 01:11:02 +0200 Subject: [PATCH 14/42] Temporary disable anorm example --- test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test.sh b/test.sh index 17a0d28ad..a6191f857 100755 --- a/test.sh +++ b/test.sh @@ -19,7 +19,7 @@ pushd play-java-starter-example && scripts/test-sbt && popd pushd play-java-streaming-example && scripts/test-sbt && popd pushd play-java-websocket-example && scripts/test-sbt && popd pushd play-java-pekko-cluster-example && scripts/test-sbt && popd -pushd play-scala-anorm-example && scripts/test-sbt && popd +#pushd play-scala-anorm-example && scripts/test-sbt && popd pushd play-scala-chatroom-example && scripts/test-sbt && popd pushd play-scala-compile-di-example && scripts/test-sbt && popd pushd play-scala-fileupload-example && scripts/test-sbt && popd From b4f38be49e401c6ddc1d5fd81cbac0265445e47e Mon Sep 17 00:00:00 2001 From: Scala Steward Date: Fri, 20 Oct 2023 20:46:37 +0000 Subject: [PATCH 15/42] mockito-core 5.6.0 (was 5.5.0) --- play-java-ebean-example/build.sbt | 2 +- play-java-jpa-example/build.sbt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/play-java-ebean-example/build.sbt b/play-java-ebean-example/build.sbt index b611ce406..3772d5e33 100644 --- a/play-java-ebean-example/build.sbt +++ b/play-java-ebean-example/build.sbt @@ -11,7 +11,7 @@ lazy val root = (project in file(".")) "com.h2database" % "h2" % "2.2.224", "org.awaitility" % "awaitility" % "3.1.6" % Test, "org.assertj" % "assertj-core" % "3.12.2" % Test, - "org.mockito" % "mockito-core" % "5.5.0" % Test, + "org.mockito" % "mockito-core" % "5.6.0" % Test, ), (Test / testOptions) += Tests.Argument(TestFrameworks.JUnit, "-a", "-v"), javacOptions ++= Seq("-Xlint:unchecked", "-Xlint:deprecation", "-Werror") diff --git a/play-java-jpa-example/build.sbt b/play-java-jpa-example/build.sbt index 13bd96c97..be78d85da 100644 --- a/play-java-jpa-example/build.sbt +++ b/play-java-jpa-example/build.sbt @@ -13,7 +13,7 @@ lazy val root = (project in file(".")) javaWs % "test", "org.awaitility" % "awaitility" % "4.2.0" % "test", "org.assertj" % "assertj-core" % "3.24.2" % "test", - "org.mockito" % "mockito-core" % "5.5.0" % "test", + "org.mockito" % "mockito-core" % "5.6.0" % "test", ), Test / testOptions += Tests.Argument(TestFrameworks.JUnit, "-a", "-v"), scalacOptions ++= List("-feature", "-Werror"), From 75aafda42230dd40006ece5d8190a0857c2b309e Mon Sep 17 00:00:00 2001 From: Scala Steward Date: Fri, 20 Oct 2023 20:46:04 +0000 Subject: [PATCH 16/42] hibernate-core 6.3.1.Final (was 6.3.0.Final) --- play-java-jpa-example/build.sbt | 2 +- play-java-rest-api-example/build.sbt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/play-java-jpa-example/build.sbt b/play-java-jpa-example/build.sbt index be78d85da..6f3ba53ee 100644 --- a/play-java-jpa-example/build.sbt +++ b/play-java-jpa-example/build.sbt @@ -9,7 +9,7 @@ lazy val root = (project in file(".")) guice, javaJpa, "com.h2database" % "h2" % "2.2.224", - "org.hibernate" % "hibernate-core" % "6.3.0.Final", + "org.hibernate" % "hibernate-core" % "6.3.1.Final", javaWs % "test", "org.awaitility" % "awaitility" % "4.2.0" % "test", "org.assertj" % "assertj-core" % "3.24.2" % "test", diff --git a/play-java-rest-api-example/build.sbt b/play-java-rest-api-example/build.sbt index 3073db9e2..066428f05 100644 --- a/play-java-rest-api-example/build.sbt +++ b/play-java-rest-api-example/build.sbt @@ -12,7 +12,7 @@ lazy val root = (project in file(".")) guice, javaJpa, "com.h2database" % "h2" % "2.2.224", - "org.hibernate" % "hibernate-core" % "6.3.0.Final", + "org.hibernate" % "hibernate-core" % "6.3.1.Final", "io.dropwizard.metrics" % "metrics-core" % "4.2.19", "com.palominolabs.http" % "url-builder" % "1.1.5", "net.jodah" % "failsafe" % "2.4.4", From 6f51057768d4a8cdfbb950ce7854094f99100dda Mon Sep 17 00:00:00 2001 From: Scala Steward Date: Fri, 20 Oct 2023 20:45:25 +0000 Subject: [PATCH 17/42] log4j-api, log4j-core, ... 2.21.0 (was 2.20.0) --- play-scala-log4j2-example/build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/play-scala-log4j2-example/build.sbt b/play-scala-log4j2-example/build.sbt index 6225ff1ff..89540ecdf 100644 --- a/play-scala-log4j2-example/build.sbt +++ b/play-scala-log4j2-example/build.sbt @@ -1,4 +1,4 @@ -val log4jVersion = "2.20.0" +val log4jVersion = "2.21.0" lazy val root = (project in file(".")) .enablePlugins(PlayScala) From a59ff15218ea5514403cf098a0a727add931f5a8 Mon Sep 17 00:00:00 2001 From: Scala Steward Date: Fri, 20 Oct 2023 20:43:40 +0000 Subject: [PATCH 18/42] gatling-sbt 4.6.0 (was 4.5.0) --- play-java-rest-api-example/project/plugins.sbt | 2 +- play-scala-rest-api-example/project/plugins.sbt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/play-java-rest-api-example/project/plugins.sbt b/play-java-rest-api-example/project/plugins.sbt index 4a89b9306..6fc640ab4 100644 --- a/play-java-rest-api-example/project/plugins.sbt +++ b/play-java-rest-api-example/project/plugins.sbt @@ -3,4 +3,4 @@ addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") // Load testing tool: // http://gatling.io/docs/2.2.2/extensions/sbt_plugin.html -addSbtPlugin("io.gatling" % "gatling-sbt" % "4.5.0") +addSbtPlugin("io.gatling" % "gatling-sbt" % "4.6.0") diff --git a/play-scala-rest-api-example/project/plugins.sbt b/play-scala-rest-api-example/project/plugins.sbt index 7ae667749..c5f86b4cd 100644 --- a/play-scala-rest-api-example/project/plugins.sbt +++ b/play-scala-rest-api-example/project/plugins.sbt @@ -6,7 +6,7 @@ addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.10.5") // Load testing tool: // http://gatling.io/docs/2.2.2/extensions/sbt_plugin.html -addSbtPlugin("io.gatling" % "gatling-sbt" % "4.5.0") +addSbtPlugin("io.gatling" % "gatling-sbt" % "4.6.0") // Scala formatting: "sbt scalafmt" addSbtPlugin("com.lucidchart" % "sbt-scalafmt" % "1.16") From 7438366b217eb44c561ec0664286f59c648ee5c5 Mon Sep 17 00:00:00 2001 From: Scala Steward Date: Fri, 20 Oct 2023 20:41:46 +0000 Subject: [PATCH 19/42] dagger, dagger-compiler 2.48.1 (was 2.48) --- play-java-dagger2-example/build.sbt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/play-java-dagger2-example/build.sbt b/play-java-dagger2-example/build.sbt index 971056a7e..f4dc4dba9 100644 --- a/play-java-dagger2-example/build.sbt +++ b/play-java-dagger2-example/build.sbt @@ -7,8 +7,8 @@ lazy val root = (project in file(".")) scalaVersion := crossScalaVersions.value.head, libraryDependencies ++= Seq( ws, - "com.google.dagger" % "dagger" % "2.48", - "com.google.dagger" % "dagger-compiler" % "2.48" + "com.google.dagger" % "dagger" % "2.48.1", + "com.google.dagger" % "dagger-compiler" % "2.48.1" ), // move the java annotation code into generated directory (Compile / javacOptions) := { (Compile / managedSourceDirectories).value.head.mkdirs(); javacOptions.value }, From a27d648f1b9e6704e241301d36500aa5dd686af5 Mon Sep 17 00:00:00 2001 From: Scala Steward Date: Fri, 20 Oct 2023 20:47:14 +0000 Subject: [PATCH 20/42] h2 1.4.200 (was 1.4.196) --- play-scala-isolated-slick-example/project/plugins.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/play-scala-isolated-slick-example/project/plugins.sbt b/play-scala-isolated-slick-example/project/plugins.sbt index 6b77023f3..e591962ed 100644 --- a/play-scala-isolated-slick-example/project/plugins.sbt +++ b/play-scala-isolated-slick-example/project/plugins.sbt @@ -1,4 +1,4 @@ -libraryDependencies += "com.h2database" % "h2" % "1.4.196" // Can't use latest h2 currently: https://github.com/flyway/flyway-sbt/issues/82#issuecomment-1636728997 +libraryDependencies += "com.h2database" % "h2" % "1.4.200" // Can't use latest h2 currently: https://github.com/flyway/flyway-sbt/issues/82#issuecomment-1636728997 // Database migration // https://github.com/flyway/flyway-sbt From aa7f90bca414acfd5ebaf6cd05d5e0baf004e62c Mon Sep 17 00:00:00 2001 From: Scala Steward Date: Fri, 20 Oct 2023 20:47:40 +0000 Subject: [PATCH 21/42] metrics-core 4.2.21 (was 4.2.19) --- play-java-rest-api-example/build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/play-java-rest-api-example/build.sbt b/play-java-rest-api-example/build.sbt index 066428f05..bc9dad7c8 100644 --- a/play-java-rest-api-example/build.sbt +++ b/play-java-rest-api-example/build.sbt @@ -13,7 +13,7 @@ lazy val root = (project in file(".")) javaJpa, "com.h2database" % "h2" % "2.2.224", "org.hibernate" % "hibernate-core" % "6.3.1.Final", - "io.dropwizard.metrics" % "metrics-core" % "4.2.19", + "io.dropwizard.metrics" % "metrics-core" % "4.2.21", "com.palominolabs.http" % "url-builder" % "1.1.5", "net.jodah" % "failsafe" % "2.4.4", ), From 3320d1c80a6a7d00c761c40543bea9a1754b9794 Mon Sep 17 00:00:00 2001 From: Scala Steward Date: Fri, 20 Oct 2023 20:48:53 +0000 Subject: [PATCH 22/42] jsoup 1.16.2 (was 1.16.1) --- play-scala-chatroom-example/build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/play-scala-chatroom-example/build.sbt b/play-scala-chatroom-example/build.sbt index 27384c10e..7da842b27 100644 --- a/play-scala-chatroom-example/build.sbt +++ b/play-scala-chatroom-example/build.sbt @@ -13,7 +13,7 @@ lazy val root = (project in file(".")) "org.webjars" % "flot" % "0.8.3-1", "org.webjars" % "bootstrap" % "3.3.7-1", "net.logstash.logback" % "logstash-logback-encoder" % "7.3", - "org.jsoup" % "jsoup" % "1.16.1", + "org.jsoup" % "jsoup" % "1.16.2", "ch.qos.logback" % "logback-classic" % "1.4.11", "org.apache.pekko" %% "pekko-slf4j" % pekkoVersion, "org.apache.pekko" %% "pekko-testkit" % pekkoVersion % Test, From 5c41aa3f9b9b5e92df8d4448a1a7c525ba86e7ba Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Sun, 22 Oct 2023 09:25:04 +0200 Subject: [PATCH 23/42] Use Pekko ports --- play-java-pekko-cluster-example/README.md | 14 +++++++------- .../conf/local-shared.conf | 6 +++--- play-java-pekko-cluster-example/conf/local1.conf | 2 +- play-java-pekko-cluster-example/conf/local2.conf | 2 +- play-java-pekko-cluster-example/conf/local3.conf | 2 +- .../app/services/session/ClusterSystem.scala | 2 +- .../conf/application.conf | 4 ++-- 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/play-java-pekko-cluster-example/README.md b/play-java-pekko-cluster-example/README.md index 2f75b7d4a..c572dda64 100644 --- a/play-java-pekko-cluster-example/README.md +++ b/play-java-pekko-cluster-example/README.md @@ -67,15 +67,15 @@ In the terminals you should see activity like: ``` -2020-09-01 11:40:45 INFO org.apache.pekko.cluster.Cluster Cluster(pekko://application) Cluster Node [pekko://application@127.0.0.1:25521] - Node [pekko://application@127.0.0.1:25521] is JOINING itself (with roles [dc-default]) and forming new cluster -2020-09-01 11:40:45 INFO org.apache.pekko.cluster.Cluster Cluster(pekko://application) Cluster Node [pekko://application@127.0.0.1:25521] - is the new leader among reachable nodes (more leaders may exist) -2020-09-01 11:40:45 INFO org.apache.pekko.cluster.Cluster Cluster(pekko://application) Cluster Node [pekko://application@127.0.0.1:25521] - Leader is moving node [pekko://application@127.0.0.1:25521] to [Up] +2020-09-01 11:40:45 INFO org.apache.pekko.cluster.Cluster Cluster(pekko://application) Cluster Node [pekko://application@127.0.0.1:73551] - Node [pekko://application@127.0.0.1:73551] is JOINING itself (with roles [dc-default]) and forming new cluster +2020-09-01 11:40:45 INFO org.apache.pekko.cluster.Cluster Cluster(pekko://application) Cluster Node [pekko://application@127.0.0.1:73551] - is the new leader among reachable nodes (more leaders may exist) +2020-09-01 11:40:45 INFO org.apache.pekko.cluster.Cluster Cluster(pekko://application) Cluster Node [pekko://application@127.0.0.1:73551] - Leader is moving node [pekko://application@127.0.0.1:73551] to [Up] ``` -The logs above indicate node 1 (identified as `pekko://application@127.0.0.1:25521`) and node 2 (identified as `pekko://application@127.0.0.1:25522 -`) have seen each other and established a connection, then `pekko://application@127.0.0.1:25521` became the leader and that leader decided to mark - `pekko://application@127.0.0.1:25521`'s status as `Up`. Finally, the singleton `counter-actor` that we use on this sample app is available. You - should also see, in the logs, how the node 3 (identified as `pekko://application@127.0.0.1:25523`) also joins the cluster. +The logs above indicate node 1 (identified as `pekko://application@127.0.0.1:73551`) and node 2 (identified as `pekko://application@127.0.0.1:73552 +`) have seen each other and established a connection, then `pekko://application@127.0.0.1:73551` became the leader and that leader decided to mark + `pekko://application@127.0.0.1:73551`'s status as `Up`. Finally, the singleton `counter-actor` that we use on this sample app is available. You + should also see, in the logs, how the node 3 (identified as `pekko://application@127.0.0.1:73553`) also joins the cluster. Finally, open three browser tabs to the URLs http://localhost:9001/, http://localhost:9002/, and http://localhost:9003/ (each points to a different Play instance) and interact with the UI. Note how all three increment a single counter in the singleton. diff --git a/play-java-pekko-cluster-example/conf/local-shared.conf b/play-java-pekko-cluster-example/conf/local-shared.conf index dec13a674..9ef302ca0 100644 --- a/play-java-pekko-cluster-example/conf/local-shared.conf +++ b/play-java-pekko-cluster-example/conf/local-shared.conf @@ -6,6 +6,6 @@ play { } pekko.cluster.seed-nodes = [ - "pekko://application@127.0.0.1:25521", - "pekko://application@127.0.0.1:25522" -] \ No newline at end of file + "pekko://application@127.0.0.1:73551", + "pekko://application@127.0.0.1:73552" +] diff --git a/play-java-pekko-cluster-example/conf/local1.conf b/play-java-pekko-cluster-example/conf/local1.conf index f214403c0..a9e8fb68f 100644 --- a/play-java-pekko-cluster-example/conf/local1.conf +++ b/play-java-pekko-cluster-example/conf/local1.conf @@ -1,5 +1,5 @@ include "application" include "local-shared" -pekko.remote.artery.canonical.port = 25521 +pekko.remote.artery.canonical.port = 73551 http.port = 9001 diff --git a/play-java-pekko-cluster-example/conf/local2.conf b/play-java-pekko-cluster-example/conf/local2.conf index ad2023b09..b0d6ae981 100644 --- a/play-java-pekko-cluster-example/conf/local2.conf +++ b/play-java-pekko-cluster-example/conf/local2.conf @@ -1,5 +1,5 @@ include "application" include "local-shared" -pekko.remote.artery.canonical.port = 25522 +pekko.remote.artery.canonical.port = 73552 http.port = 9002 diff --git a/play-java-pekko-cluster-example/conf/local3.conf b/play-java-pekko-cluster-example/conf/local3.conf index 6704fe948..4792848e0 100644 --- a/play-java-pekko-cluster-example/conf/local3.conf +++ b/play-java-pekko-cluster-example/conf/local3.conf @@ -1,5 +1,5 @@ include "application" include "local-shared" -pekko.remote.artery.canonical.port = 25523 +pekko.remote.artery.canonical.port = 73553 http.port = 9003 diff --git a/play-scala-secure-session-example/app/services/session/ClusterSystem.scala b/play-scala-secure-session-example/app/services/session/ClusterSystem.scala index 38f22127a..74a308cc9 100644 --- a/play-scala-secure-session-example/app/services/session/ClusterSystem.scala +++ b/play-scala-secure-session-example/app/services/session/ClusterSystem.scala @@ -17,7 +17,7 @@ import scala.concurrent.Future * same while you had several different ip addresses. */ class ClusterSystem @Inject() (configuration: Configuration, applicationLifecycle: ApplicationLifecycle) { - private val systems = startup(Seq("2551", "2552")) + private val systems = startup(Seq("7354", "7355")) def startup(ports: Seq[String]): Seq[ActorSystem] = { ports.map { port => diff --git a/play-scala-secure-session-example/conf/application.conf b/play-scala-secure-session-example/conf/application.conf index 6e6edaaea..0bf4a6453 100644 --- a/play-scala-secure-session-example/conf/application.conf +++ b/play-scala-secure-session-example/conf/application.conf @@ -44,8 +44,8 @@ pekko { min-nr-of-members = 2 seed-nodes = [ - "pekko://"${play.pekko.actor-system}"@127.0.0.1:2551", - "pekko://"${play.pekko.actor-system}"@127.0.0.1:2552" + "pekko://"${play.pekko.actor-system}"@127.0.0.1:7354", + "pekko://"${play.pekko.actor-system}"@127.0.0.1:7355" ] } } From 4bbca43d0a3e6bcb8c80198ee4b16f330f0302f2 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Mon, 23 Oct 2023 10:07:05 +0200 Subject: [PATCH 24/42] Move scala steward conf into .github folder --- .scala-steward.conf => .github/scala-steward.conf | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .scala-steward.conf => .github/scala-steward.conf (100%) diff --git a/.scala-steward.conf b/.github/scala-steward.conf similarity index 100% rename from .scala-steward.conf rename to .github/scala-steward.conf From f437b4185efbf5007ce334da958e7a8e2a5837e3 Mon Sep 17 00:00:00 2001 From: Scala Steward Date: Wed, 25 Oct 2023 02:17:31 +0000 Subject: [PATCH 25/42] log4j-api 2.21.1 (was 2.21.0) --- play-scala-log4j2-example/build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/play-scala-log4j2-example/build.sbt b/play-scala-log4j2-example/build.sbt index 89540ecdf..9a88600b4 100644 --- a/play-scala-log4j2-example/build.sbt +++ b/play-scala-log4j2-example/build.sbt @@ -1,4 +1,4 @@ -val log4jVersion = "2.21.0" +val log4jVersion = "2.21.1" lazy val root = (project in file(".")) .enablePlugins(PlayScala) From bd79f4c9dfe49c76d1954de979d8c303cc794d2c Mon Sep 17 00:00:00 2001 From: Scala Steward Date: Wed, 25 Oct 2023 02:19:28 +0000 Subject: [PATCH 26/42] sbt 1.9.7 (was 1.9.6) --- play-java-chatroom-example/project/build.properties | 2 +- play-java-compile-di-example/project/build.properties | 2 +- play-java-dagger2-example/project/build.properties | 2 +- play-java-ebean-example/project/build.properties | 2 +- play-java-fileupload-example/project/build.properties | 2 +- play-java-forms-example/project/build.properties | 2 +- play-java-grpc-example/project/build.properties | 2 +- play-java-hello-world-tutorial/project/build.properties | 2 +- play-java-jpa-example/project/build.properties | 2 +- play-java-pekko-cluster-example/project/build.properties | 2 +- play-java-rest-api-example/project/build.properties | 2 +- play-java-starter-example/project/build.properties | 2 +- play-java-streaming-example/project/build.properties | 2 +- play-java-telemetry-example/project/build.properties | 2 +- play-java-websocket-example/project/build.properties | 2 +- play-scala-anorm-example/project/build.properties | 2 +- play-scala-chatroom-example/project/build.properties | 2 +- play-scala-compile-di-example/project/build.properties | 2 +- play-scala-fileupload-example/project/build.properties | 2 +- play-scala-forms-example/project/build.properties | 2 +- play-scala-grpc-example/project/build.properties | 2 +- play-scala-hello-world-tutorial/project/build.properties | 2 +- play-scala-isolated-slick-example/project/build.properties | 2 +- play-scala-log4j2-example/project/build.properties | 2 +- play-scala-macwire-di-example/project/build.properties | 2 +- play-scala-rest-api-example/project/build.properties | 2 +- play-scala-secure-session-example/project/build.properties | 2 +- play-scala-slick-example/project/build.properties | 2 +- play-scala-starter-example/project/build.properties | 2 +- play-scala-streaming-example/project/build.properties | 2 +- play-scala-telemetry-example/project/build.properties | 2 +- play-scala-tls-example/modules/one/project/build.properties | 2 +- play-scala-tls-example/modules/two/project/build.properties | 2 +- play-scala-tls-example/project/build.properties | 2 +- play-scala-websocket-example/project/build.properties | 2 +- 35 files changed, 35 insertions(+), 35 deletions(-) diff --git a/play-java-chatroom-example/project/build.properties b/play-java-chatroom-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-java-chatroom-example/project/build.properties +++ b/play-java-chatroom-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-java-compile-di-example/project/build.properties b/play-java-compile-di-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-java-compile-di-example/project/build.properties +++ b/play-java-compile-di-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-java-dagger2-example/project/build.properties b/play-java-dagger2-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-java-dagger2-example/project/build.properties +++ b/play-java-dagger2-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-java-ebean-example/project/build.properties b/play-java-ebean-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-java-ebean-example/project/build.properties +++ b/play-java-ebean-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-java-fileupload-example/project/build.properties b/play-java-fileupload-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-java-fileupload-example/project/build.properties +++ b/play-java-fileupload-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-java-forms-example/project/build.properties b/play-java-forms-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-java-forms-example/project/build.properties +++ b/play-java-forms-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-java-grpc-example/project/build.properties b/play-java-grpc-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-java-grpc-example/project/build.properties +++ b/play-java-grpc-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-java-hello-world-tutorial/project/build.properties b/play-java-hello-world-tutorial/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-java-hello-world-tutorial/project/build.properties +++ b/play-java-hello-world-tutorial/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-java-jpa-example/project/build.properties b/play-java-jpa-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-java-jpa-example/project/build.properties +++ b/play-java-jpa-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-java-pekko-cluster-example/project/build.properties b/play-java-pekko-cluster-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-java-pekko-cluster-example/project/build.properties +++ b/play-java-pekko-cluster-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-java-rest-api-example/project/build.properties b/play-java-rest-api-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-java-rest-api-example/project/build.properties +++ b/play-java-rest-api-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-java-starter-example/project/build.properties b/play-java-starter-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-java-starter-example/project/build.properties +++ b/play-java-starter-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-java-streaming-example/project/build.properties b/play-java-streaming-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-java-streaming-example/project/build.properties +++ b/play-java-streaming-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-java-telemetry-example/project/build.properties b/play-java-telemetry-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-java-telemetry-example/project/build.properties +++ b/play-java-telemetry-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-java-websocket-example/project/build.properties b/play-java-websocket-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-java-websocket-example/project/build.properties +++ b/play-java-websocket-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-anorm-example/project/build.properties b/play-scala-anorm-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-anorm-example/project/build.properties +++ b/play-scala-anorm-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-chatroom-example/project/build.properties b/play-scala-chatroom-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-chatroom-example/project/build.properties +++ b/play-scala-chatroom-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-compile-di-example/project/build.properties b/play-scala-compile-di-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-compile-di-example/project/build.properties +++ b/play-scala-compile-di-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-fileupload-example/project/build.properties b/play-scala-fileupload-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-fileupload-example/project/build.properties +++ b/play-scala-fileupload-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-forms-example/project/build.properties b/play-scala-forms-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-forms-example/project/build.properties +++ b/play-scala-forms-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-grpc-example/project/build.properties b/play-scala-grpc-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-grpc-example/project/build.properties +++ b/play-scala-grpc-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-hello-world-tutorial/project/build.properties b/play-scala-hello-world-tutorial/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-hello-world-tutorial/project/build.properties +++ b/play-scala-hello-world-tutorial/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-isolated-slick-example/project/build.properties b/play-scala-isolated-slick-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-isolated-slick-example/project/build.properties +++ b/play-scala-isolated-slick-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-log4j2-example/project/build.properties b/play-scala-log4j2-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-log4j2-example/project/build.properties +++ b/play-scala-log4j2-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-macwire-di-example/project/build.properties b/play-scala-macwire-di-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-macwire-di-example/project/build.properties +++ b/play-scala-macwire-di-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-rest-api-example/project/build.properties b/play-scala-rest-api-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-rest-api-example/project/build.properties +++ b/play-scala-rest-api-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-secure-session-example/project/build.properties b/play-scala-secure-session-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-secure-session-example/project/build.properties +++ b/play-scala-secure-session-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-slick-example/project/build.properties b/play-scala-slick-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-slick-example/project/build.properties +++ b/play-scala-slick-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-starter-example/project/build.properties b/play-scala-starter-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-starter-example/project/build.properties +++ b/play-scala-starter-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-streaming-example/project/build.properties b/play-scala-streaming-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-streaming-example/project/build.properties +++ b/play-scala-streaming-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-telemetry-example/project/build.properties b/play-scala-telemetry-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-telemetry-example/project/build.properties +++ b/play-scala-telemetry-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-tls-example/modules/one/project/build.properties b/play-scala-tls-example/modules/one/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-tls-example/modules/one/project/build.properties +++ b/play-scala-tls-example/modules/one/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-tls-example/modules/two/project/build.properties b/play-scala-tls-example/modules/two/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-tls-example/modules/two/project/build.properties +++ b/play-scala-tls-example/modules/two/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-tls-example/project/build.properties b/play-scala-tls-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-tls-example/project/build.properties +++ b/play-scala-tls-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 diff --git a/play-scala-websocket-example/project/build.properties b/play-scala-websocket-example/project/build.properties index 27430827b..e8a1e246e 100644 --- a/play-scala-websocket-example/project/build.properties +++ b/play-scala-websocket-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.6 +sbt.version=1.9.7 From 80bdee1e9a9f2ad19d574b244d167e00efeee4fa Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Wed, 25 Oct 2023 15:54:02 +0200 Subject: [PATCH 27/42] Play 3.0.0 --- play-java-chatroom-example/project/plugins.sbt | 2 +- play-java-compile-di-example/project/plugins.sbt | 2 +- play-java-dagger2-example/project/plugins.sbt | 2 +- play-java-ebean-example/project/plugins.sbt | 2 +- play-java-fileupload-example/project/plugins.sbt | 2 +- play-java-forms-example/project/plugins.sbt | 2 +- play-java-grpc-example/project/plugins.sbt | 2 +- play-java-hello-world-tutorial/project/plugins.sbt | 2 +- play-java-jpa-example/project/plugins.sbt | 2 +- play-java-pekko-cluster-example/project/plugins.sbt | 2 +- play-java-rest-api-example/project/plugins.sbt | 2 +- play-java-starter-example/project/plugins.sbt | 2 +- play-java-streaming-example/project/plugins.sbt | 2 +- play-java-telemetry-example/project/plugins.sbt | 2 +- play-java-websocket-example/project/plugins.sbt | 2 +- play-scala-anorm-example/project/plugins.sbt | 2 +- play-scala-chatroom-example/project/plugins.sbt | 2 +- play-scala-compile-di-example/project/plugins.sbt | 2 +- play-scala-fileupload-example/project/plugins.sbt | 2 +- play-scala-forms-example/project/plugins.sbt | 2 +- play-scala-grpc-example/project/plugins.sbt | 2 +- play-scala-hello-world-tutorial/project/plugins.sbt | 2 +- play-scala-isolated-slick-example/project/plugins.sbt | 2 +- play-scala-log4j2-example/project/plugins.sbt | 2 +- play-scala-macwire-di-example/project/plugins.sbt | 2 +- play-scala-rest-api-example/project/plugins.sbt | 2 +- play-scala-secure-session-example/project/plugins.sbt | 2 +- play-scala-slick-example/project/plugins.sbt | 2 +- play-scala-starter-example/project/plugins.sbt | 2 +- play-scala-streaming-example/project/plugins.sbt | 2 +- play-scala-telemetry-example/project/plugins.sbt | 2 +- play-scala-tls-example/project/plugins.sbt | 2 +- play-scala-websocket-example/project/plugins.sbt | 2 +- 33 files changed, 33 insertions(+), 33 deletions(-) diff --git a/play-java-chatroom-example/project/plugins.sbt b/play-java-chatroom-example/project/plugins.sbt index 4cc94d648..21e2ea189 100644 --- a/play-java-chatroom-example/project/plugins.sbt +++ b/play-java-chatroom-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-java-compile-di-example/project/plugins.sbt b/play-java-compile-di-example/project/plugins.sbt index d14616d9e..d862ba0ea 100644 --- a/play-java-compile-di-example/project/plugins.sbt +++ b/play-java-compile-di-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-java-dagger2-example/project/plugins.sbt b/play-java-dagger2-example/project/plugins.sbt index 4cc94d648..21e2ea189 100644 --- a/play-java-dagger2-example/project/plugins.sbt +++ b/play-java-dagger2-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-java-ebean-example/project/plugins.sbt b/play-java-ebean-example/project/plugins.sbt index 459f9c971..5270e2283 100644 --- a/play-java-ebean-example/project/plugins.sbt +++ b/play-java-ebean-example/project/plugins.sbt @@ -1,4 +1,4 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") addSbtPlugin("org.playframework" % "sbt-play-ebean" % "8.0.0-M1") diff --git a/play-java-fileupload-example/project/plugins.sbt b/play-java-fileupload-example/project/plugins.sbt index 4cc94d648..21e2ea189 100644 --- a/play-java-fileupload-example/project/plugins.sbt +++ b/play-java-fileupload-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-java-forms-example/project/plugins.sbt b/play-java-forms-example/project/plugins.sbt index 4cc94d648..21e2ea189 100644 --- a/play-java-forms-example/project/plugins.sbt +++ b/play-java-forms-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-java-grpc-example/project/plugins.sbt b/play-java-grpc-example/project/plugins.sbt index 1d0ae3164..228926f31 100644 --- a/play-java-grpc-example/project/plugins.sbt +++ b/play-java-grpc-example/project/plugins.sbt @@ -3,7 +3,7 @@ val playGrpcV = "0.9.1" buildInfoKeys := Seq[BuildInfoKey]("playGrpcVersion" -> playGrpcV) buildInfoPackage := "play.java.grpc.sample" -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.10.5") diff --git a/play-java-hello-world-tutorial/project/plugins.sbt b/play-java-hello-world-tutorial/project/plugins.sbt index d14616d9e..d862ba0ea 100644 --- a/play-java-hello-world-tutorial/project/plugins.sbt +++ b/play-java-hello-world-tutorial/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-java-jpa-example/project/plugins.sbt b/play-java-jpa-example/project/plugins.sbt index 5cc3df553..502894cba 100644 --- a/play-java-jpa-example/project/plugins.sbt +++ b/play-java-jpa-example/project/plugins.sbt @@ -1,5 +1,5 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") // Web plugins addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.2") diff --git a/play-java-pekko-cluster-example/project/plugins.sbt b/play-java-pekko-cluster-example/project/plugins.sbt index 4cc94d648..21e2ea189 100644 --- a/play-java-pekko-cluster-example/project/plugins.sbt +++ b/play-java-pekko-cluster-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-java-rest-api-example/project/plugins.sbt b/play-java-rest-api-example/project/plugins.sbt index 6fc640ab4..ed5e54046 100644 --- a/play-java-rest-api-example/project/plugins.sbt +++ b/play-java-rest-api-example/project/plugins.sbt @@ -1,5 +1,5 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") // Load testing tool: // http://gatling.io/docs/2.2.2/extensions/sbt_plugin.html diff --git a/play-java-starter-example/project/plugins.sbt b/play-java-starter-example/project/plugins.sbt index 4cc94d648..21e2ea189 100644 --- a/play-java-starter-example/project/plugins.sbt +++ b/play-java-starter-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-java-streaming-example/project/plugins.sbt b/play-java-streaming-example/project/plugins.sbt index 604904d3a..b2a6bbf28 100644 --- a/play-java-streaming-example/project/plugins.sbt +++ b/play-java-streaming-example/project/plugins.sbt @@ -1,2 +1,2 @@ // Use the Play sbt plugin for Play projects -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-java-telemetry-example/project/plugins.sbt b/play-java-telemetry-example/project/plugins.sbt index 9e18cd634..7524fadc4 100644 --- a/play-java-telemetry-example/project/plugins.sbt +++ b/play-java-telemetry-example/project/plugins.sbt @@ -1,5 +1,5 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") addSbtPlugin("com.lightbend.cinnamon" % "sbt-cinnamon" % "2.17.3") diff --git a/play-java-websocket-example/project/plugins.sbt b/play-java-websocket-example/project/plugins.sbt index aed733fb2..fa310c379 100644 --- a/play-java-websocket-example/project/plugins.sbt +++ b/play-java-websocket-example/project/plugins.sbt @@ -1,4 +1,4 @@ -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.1.2") diff --git a/play-scala-anorm-example/project/plugins.sbt b/play-scala-anorm-example/project/plugins.sbt index 4cc94d648..21e2ea189 100644 --- a/play-scala-anorm-example/project/plugins.sbt +++ b/play-scala-anorm-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-scala-chatroom-example/project/plugins.sbt b/play-scala-chatroom-example/project/plugins.sbt index d14616d9e..d862ba0ea 100644 --- a/play-scala-chatroom-example/project/plugins.sbt +++ b/play-scala-chatroom-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-scala-compile-di-example/project/plugins.sbt b/play-scala-compile-di-example/project/plugins.sbt index d14616d9e..d862ba0ea 100644 --- a/play-scala-compile-di-example/project/plugins.sbt +++ b/play-scala-compile-di-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-scala-fileupload-example/project/plugins.sbt b/play-scala-fileupload-example/project/plugins.sbt index f5c9d714b..443168ec1 100644 --- a/play-scala-fileupload-example/project/plugins.sbt +++ b/play-scala-fileupload-example/project/plugins.sbt @@ -1,4 +1,4 @@ resolvers += Resolver.jcenterRepo // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-scala-forms-example/project/plugins.sbt b/play-scala-forms-example/project/plugins.sbt index d14616d9e..d862ba0ea 100644 --- a/play-scala-forms-example/project/plugins.sbt +++ b/play-scala-forms-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-scala-grpc-example/project/plugins.sbt b/play-scala-grpc-example/project/plugins.sbt index 7e7b8ab9f..e980d24ca 100644 --- a/play-scala-grpc-example/project/plugins.sbt +++ b/play-scala-grpc-example/project/plugins.sbt @@ -4,7 +4,7 @@ buildInfoKeys := Seq[BuildInfoKey]("playGrpcVersion" -> playGrpcV) buildInfoPackage := "play.scala.grpc.sample" -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.10.5") diff --git a/play-scala-hello-world-tutorial/project/plugins.sbt b/play-scala-hello-world-tutorial/project/plugins.sbt index d14616d9e..d862ba0ea 100644 --- a/play-scala-hello-world-tutorial/project/plugins.sbt +++ b/play-scala-hello-world-tutorial/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-scala-isolated-slick-example/project/plugins.sbt b/play-scala-isolated-slick-example/project/plugins.sbt index e591962ed..ad2d5fef3 100644 --- a/play-scala-isolated-slick-example/project/plugins.sbt +++ b/play-scala-isolated-slick-example/project/plugins.sbt @@ -9,4 +9,4 @@ addSbtPlugin("io.github.davidmweber" % "flyway-sbt" % "7.4.0") addSbtPlugin("com.github.tototoshi" % "sbt-slick-codegen" % "2.0.0") // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-scala-log4j2-example/project/plugins.sbt b/play-scala-log4j2-example/project/plugins.sbt index 4cc94d648..21e2ea189 100644 --- a/play-scala-log4j2-example/project/plugins.sbt +++ b/play-scala-log4j2-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-scala-macwire-di-example/project/plugins.sbt b/play-scala-macwire-di-example/project/plugins.sbt index d14616d9e..d862ba0ea 100644 --- a/play-scala-macwire-di-example/project/plugins.sbt +++ b/play-scala-macwire-di-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-scala-rest-api-example/project/plugins.sbt b/play-scala-rest-api-example/project/plugins.sbt index c5f86b4cd..28d79bbeb 100644 --- a/play-scala-rest-api-example/project/plugins.sbt +++ b/play-scala-rest-api-example/project/plugins.sbt @@ -1,5 +1,5 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") // sbt-paradox, used for documentation addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.10.5") diff --git a/play-scala-secure-session-example/project/plugins.sbt b/play-scala-secure-session-example/project/plugins.sbt index 4cc94d648..21e2ea189 100644 --- a/play-scala-secure-session-example/project/plugins.sbt +++ b/play-scala-secure-session-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-scala-slick-example/project/plugins.sbt b/play-scala-slick-example/project/plugins.sbt index 4cc94d648..21e2ea189 100644 --- a/play-scala-slick-example/project/plugins.sbt +++ b/play-scala-slick-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-scala-starter-example/project/plugins.sbt b/play-scala-starter-example/project/plugins.sbt index 4cc94d648..21e2ea189 100644 --- a/play-scala-starter-example/project/plugins.sbt +++ b/play-scala-starter-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-scala-streaming-example/project/plugins.sbt b/play-scala-streaming-example/project/plugins.sbt index 604904d3a..b2a6bbf28 100644 --- a/play-scala-streaming-example/project/plugins.sbt +++ b/play-scala-streaming-example/project/plugins.sbt @@ -1,2 +1,2 @@ // Use the Play sbt plugin for Play projects -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-scala-telemetry-example/project/plugins.sbt b/play-scala-telemetry-example/project/plugins.sbt index 9e18cd634..7524fadc4 100644 --- a/play-scala-telemetry-example/project/plugins.sbt +++ b/play-scala-telemetry-example/project/plugins.sbt @@ -1,5 +1,5 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") addSbtPlugin("com.lightbend.cinnamon" % "sbt-cinnamon" % "2.17.3") diff --git a/play-scala-tls-example/project/plugins.sbt b/play-scala-tls-example/project/plugins.sbt index 4cc94d648..21e2ea189 100644 --- a/play-scala-tls-example/project/plugins.sbt +++ b/play-scala-tls-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") diff --git a/play-scala-websocket-example/project/plugins.sbt b/play-scala-websocket-example/project/plugins.sbt index bce4f019e..bc1344d33 100644 --- a/play-scala-websocket-example/project/plugins.sbt +++ b/play-scala-websocket-example/project/plugins.sbt @@ -1,5 +1,5 @@ // Use the Play sbt plugin for Play projects -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0-M3") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.1.2") From 12ffeeee382de6036e333e55c7761eab803c643e Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Wed, 25 Oct 2023 15:54:27 +0200 Subject: [PATCH 28/42] webjars-play 3.0.0 --- play-java-chatroom-example/build.sbt | 2 +- play-java-websocket-example/build.sbt | 2 +- play-scala-chatroom-example/build.sbt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/play-java-chatroom-example/build.sbt b/play-java-chatroom-example/build.sbt index d447a3bda..0c5b90960 100644 --- a/play-java-chatroom-example/build.sbt +++ b/play-java-chatroom-example/build.sbt @@ -6,7 +6,7 @@ lazy val root = (project in file(".")) crossScalaVersions := Seq("2.13.12", "3.3.1"), scalaVersion := crossScalaVersions.value.head, libraryDependencies ++= Seq( - "org.webjars" %% "webjars-play" % "3.0.0-M3", + "org.webjars" %% "webjars-play" % "3.0.0", "org.webjars" % "flot" % "0.8.3", "org.webjars" % "bootstrap" % "3.4.1", guice, diff --git a/play-java-websocket-example/build.sbt b/play-java-websocket-example/build.sbt index 40801dbed..983bb5261 100644 --- a/play-java-websocket-example/build.sbt +++ b/play-java-websocket-example/build.sbt @@ -10,7 +10,7 @@ lazy val root = (project in file(".")) libraryDependencies ++= Seq( guice, ws, - "org.webjars" %% "webjars-play" % "3.0.0-M3", + "org.webjars" %% "webjars-play" % "3.0.0", "org.webjars" % "bootstrap" % "2.3.2", "org.webjars" % "flot" % "0.8.3", diff --git a/play-scala-chatroom-example/build.sbt b/play-scala-chatroom-example/build.sbt index 7da842b27..369adfb6c 100644 --- a/play-scala-chatroom-example/build.sbt +++ b/play-scala-chatroom-example/build.sbt @@ -9,7 +9,7 @@ lazy val root = (project in file(".")) scalaVersion := crossScalaVersions.value.head, libraryDependencies ++= Seq( guice, - "org.webjars" %% "webjars-play" % "3.0.0-M3", + "org.webjars" %% "webjars-play" % "3.0.0", "org.webjars" % "flot" % "0.8.3-1", "org.webjars" % "bootstrap" % "3.3.7-1", "net.logstash.logback" % "logstash-logback-encoder" % "7.3", From 8652c62103475f958ff8565e96fb5517b5bf6f7a Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Fri, 27 Oct 2023 12:00:33 +0200 Subject: [PATCH 29/42] scalatestplus-play 7.0.0 --- play-scala-anorm-example/build.sbt | 2 +- play-scala-chatroom-example/build.sbt | 2 +- play-scala-compile-di-example/build.sbt | 2 +- play-scala-fileupload-example/build.sbt | 2 +- play-scala-forms-example/build.sbt | 2 +- play-scala-grpc-example/build.sbt | 2 +- play-scala-hello-world-tutorial/build.sbt | 2 +- play-scala-isolated-slick-example/build.sbt | 2 +- play-scala-log4j2-example/build.sbt | 2 +- play-scala-macwire-di-example/build.sbt | 2 +- play-scala-rest-api-example/build.sbt | 2 +- play-scala-secure-session-example/build.sbt | 2 +- play-scala-starter-example/build.sbt | 2 +- play-scala-streaming-example/build.sbt | 2 +- play-scala-telemetry-example/build.sbt | 2 +- play-scala-tls-example/build.sbt | 2 +- play-scala-websocket-example/build.sbt | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/play-scala-anorm-example/build.sbt b/play-scala-anorm-example/build.sbt index cef03659b..cf795cd1f 100644 --- a/play-scala-anorm-example/build.sbt +++ b/play-scala-anorm-example/build.sbt @@ -11,7 +11,7 @@ lazy val root = (project in file(".")) evolutions, "com.h2database" % "h2" % "2.2.224", "org.playframework.anorm" %% "anorm" % "2.7.0", - "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test, + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0" % Test, ), scalacOptions ++= List("-feature", "-Werror"), javacOptions ++= List("-Xlint:unchecked", "-Xlint:deprecation", "-Werror"), diff --git a/play-scala-chatroom-example/build.sbt b/play-scala-chatroom-example/build.sbt index 369adfb6c..c8d64815d 100644 --- a/play-scala-chatroom-example/build.sbt +++ b/play-scala-chatroom-example/build.sbt @@ -18,7 +18,7 @@ lazy val root = (project in file(".")) "org.apache.pekko" %% "pekko-slf4j" % pekkoVersion, "org.apache.pekko" %% "pekko-testkit" % pekkoVersion % Test, "org.apache.pekko" %% "pekko-stream-testkit" % pekkoVersion % Test, - "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0" % Test ), (Test / javaOptions) += "-Dtestserver.port=19001", scalacOptions ++= Seq( diff --git a/play-scala-compile-di-example/build.sbt b/play-scala-compile-di-example/build.sbt index e301378bd..f11b81207 100644 --- a/play-scala-compile-di-example/build.sbt +++ b/play-scala-compile-di-example/build.sbt @@ -5,7 +5,7 @@ lazy val root = (project in file(".")) version := "1.0-SNAPSHOT", crossScalaVersions := Seq("2.13.12", "3.3.1"), scalaVersion := crossScalaVersions.value.head, - libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1", + libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0", scalacOptions ++= List( //"-encoding", "utf8", // These three get set by Play automatically //"-deprecation", diff --git a/play-scala-fileupload-example/build.sbt b/play-scala-fileupload-example/build.sbt index 01795f63a..3bff59993 100644 --- a/play-scala-fileupload-example/build.sbt +++ b/play-scala-fileupload-example/build.sbt @@ -8,7 +8,7 @@ lazy val root = (project in file(".")) libraryDependencies ++= Seq( ws, guice, - "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0" % Test ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-forms-example/build.sbt b/play-scala-forms-example/build.sbt index 3260af385..024793c13 100644 --- a/play-scala-forms-example/build.sbt +++ b/play-scala-forms-example/build.sbt @@ -7,7 +7,7 @@ lazy val root = (project in file(".")) scalaVersion := crossScalaVersions.value.head, libraryDependencies ++= Seq( guice, - "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0" % Test ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-grpc-example/build.sbt b/play-scala-grpc-example/build.sbt index c3ce58c9c..91bafaa84 100644 --- a/play-scala-grpc-example/build.sbt +++ b/play-scala-grpc-example/build.sbt @@ -67,7 +67,7 @@ val TestDeps = Seq( "com.lightbend.play" %% "play-grpc-specs2" % BuildInfo.playGrpcVersion % Test, "org.playframework" %% "play-test" % playVersion % Test, "org.playframework" %% "play-specs2" % playVersion % Test, - "org.scalatestplus.play" %% "scalatestplus-play" % "6.0.0-RC2" % Test, + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0" % Test, ) scalaVersion := "2.13.12" diff --git a/play-scala-hello-world-tutorial/build.sbt b/play-scala-hello-world-tutorial/build.sbt index 64a9347de..e97aadcd6 100644 --- a/play-scala-hello-world-tutorial/build.sbt +++ b/play-scala-hello-world-tutorial/build.sbt @@ -8,7 +8,7 @@ lazy val root = (project in file(".")) scalaVersion := crossScalaVersions.value.head, libraryDependencies ++= Seq( guice, - "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0" % Test ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-isolated-slick-example/build.sbt b/play-scala-isolated-slick-example/build.sbt index b1992d737..d871f76f7 100644 --- a/play-scala-isolated-slick-example/build.sbt +++ b/play-scala-isolated-slick-example/build.sbt @@ -85,7 +85,7 @@ lazy val root = (project in file(".")) "com.h2database" % "h2" % "2.2.224", ws % Test, "org.flywaydb" % "flyway-core" % FlywayVersion % Test, - "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0" % Test ), (Test / fork) := true ) diff --git a/play-scala-log4j2-example/build.sbt b/play-scala-log4j2-example/build.sbt index 9a88600b4..328228f8d 100644 --- a/play-scala-log4j2-example/build.sbt +++ b/play-scala-log4j2-example/build.sbt @@ -13,7 +13,7 @@ lazy val root = (project in file(".")) "org.apache.logging.log4j" % "log4j-slf4j-impl" % log4jVersion, "org.apache.logging.log4j" % "log4j-api" % log4jVersion, "org.apache.logging.log4j" % "log4j-core" % log4jVersion, - "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0" % Test ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-macwire-di-example/build.sbt b/play-scala-macwire-di-example/build.sbt index cac2fcf23..806ec2bd4 100644 --- a/play-scala-macwire-di-example/build.sbt +++ b/play-scala-macwire-di-example/build.sbt @@ -7,7 +7,7 @@ lazy val root = (project in file(".")) scalaVersion := crossScalaVersions.value.head, libraryDependencies ++= Seq( "com.softwaremill.macwire" %% "macros" % "2.5.9" % "provided", - "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0" % Test ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-rest-api-example/build.sbt b/play-scala-rest-api-example/build.sbt index 752f6d49b..41d67245b 100644 --- a/play-scala-rest-api-example/build.sbt +++ b/play-scala-rest-api-example/build.sbt @@ -16,7 +16,7 @@ lazy val root = (project in file(".")) "net.logstash.logback" % "logstash-logback-encoder" % "7.3", "io.lemonlabs" %% "scala-uri" % "4.0.3", "net.codingwell" %% "scala-guice" % "6.0.0", - "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0" % Test ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-secure-session-example/build.sbt b/play-scala-secure-session-example/build.sbt index f4d98c074..3192ef009 100644 --- a/play-scala-secure-session-example/build.sbt +++ b/play-scala-secure-session-example/build.sbt @@ -13,7 +13,7 @@ lazy val root = (project in file(".")) "org.abstractj.kalium" % "kalium" % "0.8.0", "org.apache.pekko" %% "pekko-distributed-data" % pekkoVersion, "org.apache.pekko" %% "pekko-cluster-typed" % pekkoVersion, - "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0" % Test ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-starter-example/build.sbt b/play-scala-starter-example/build.sbt index 6a84e41ee..ce4155b53 100644 --- a/play-scala-starter-example/build.sbt +++ b/play-scala-starter-example/build.sbt @@ -8,7 +8,7 @@ lazy val root = (project in file(".")) libraryDependencies ++= Seq( guice, "com.h2database" % "h2" % "2.2.224", - "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test, + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0" % Test, ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-streaming-example/build.sbt b/play-scala-streaming-example/build.sbt index 9d50d5c8e..3107f63cc 100644 --- a/play-scala-streaming-example/build.sbt +++ b/play-scala-streaming-example/build.sbt @@ -8,7 +8,7 @@ lazy val root = (project in file(".")) libraryDependencies ++= Seq( guice, ws % Test, - "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0" % Test ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-telemetry-example/build.sbt b/play-scala-telemetry-example/build.sbt index 57ae4ac2c..c4251924d 100644 --- a/play-scala-telemetry-example/build.sbt +++ b/play-scala-telemetry-example/build.sbt @@ -8,7 +8,7 @@ lazy val root = (project in file(".")) libraryDependencies ++= Seq( guice, "com.h2database" % "h2" % "2.2.224", - "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0" % Test ), scalacOptions ++= Seq( "-feature", diff --git a/play-scala-tls-example/build.sbt b/play-scala-tls-example/build.sbt index e6313e1c3..10712ef15 100644 --- a/play-scala-tls-example/build.sbt +++ b/play-scala-tls-example/build.sbt @@ -34,7 +34,7 @@ lazy val root = (project in file(".")) libraryDependencies ++= Seq( ws, guice, - "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test, + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0" % Test, ) ) .aggregate(one, two) diff --git a/play-scala-websocket-example/build.sbt b/play-scala-websocket-example/build.sbt index 95416220a..1e7543369 100644 --- a/play-scala-websocket-example/build.sbt +++ b/play-scala-websocket-example/build.sbt @@ -12,7 +12,7 @@ lazy val root = (project in file(".")) ws, "org.webjars" % "flot" % "0.8.3-1", "org.webjars" % "bootstrap" % "3.3.7-1", - "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0-M1" % Test, + "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0" % Test, "org.awaitility" % "awaitility" % "4.2.0" % Test, ), (Test / javaOptions) += "-Dtestserver.port=19001", From 17aa9bdcf987f5e7743706627517f2789c335b21 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Wed, 1 Nov 2023 08:09:45 +0100 Subject: [PATCH 30/42] Remove developer.lightbend.com --- play-java-hello-world-tutorial/README.md | 2 +- play-java-hello-world-tutorial/app/views/tutorial.scala.html | 4 ++-- play-scala-hello-world-tutorial/README.md | 2 +- play-scala-hello-world-tutorial/app/views/tutorial.scala.html | 4 ++-- play-scala-rest-api-example/README.md | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/play-java-hello-world-tutorial/README.md b/play-java-hello-world-tutorial/README.md index 4f79a500a..acc75812c 100644 --- a/play-java-hello-world-tutorial/README.md +++ b/play-java-hello-world-tutorial/README.md @@ -3,7 +3,7 @@ To follow the steps in this tutorial, you will need the correct version of Java and sbt. The tutorial requires: * Java Software Developer's Kit (SE) 11 or higher -* sbt 1.9.6 or higher. Note: if you downloaded this project as a zip file from https://developer.lightbend.com, the file includes an sbt distribution for your convenience. +* sbt 1.9.6 or higher. To check your Java version, enter the following in a command window: diff --git a/play-java-hello-world-tutorial/app/views/tutorial.scala.html b/play-java-hello-world-tutorial/app/views/tutorial.scala.html index a3bab518c..1c1c5e98d 100644 --- a/play-java-hello-world-tutorial/app/views/tutorial.scala.html +++ b/play-java-hello-world-tutorial/app/views/tutorial.scala.html @@ -148,8 +148,8 @@

Next steps

diff --git a/play-scala-hello-world-tutorial/README.md b/play-scala-hello-world-tutorial/README.md index e92108a31..ba4c44522 100644 --- a/play-scala-hello-world-tutorial/README.md +++ b/play-scala-hello-world-tutorial/README.md @@ -3,7 +3,7 @@ To follow the steps in this tutorial, you will need the correct version of Java and sbt. The tutorial requires: * Java Software Developer's Kit (SE) 11 or higher -* sbt 1.9.6 or higher. Note: if you downloaded this project as a zip file from https://developer.lightbend.com, the file includes an sbt distribution for your convenience. +* sbt 1.9.6 or higher. To check your Java version, enter the following in a command window: diff --git a/play-scala-hello-world-tutorial/app/views/tutorial.scala.html b/play-scala-hello-world-tutorial/app/views/tutorial.scala.html index eed602ab2..a292b49b2 100644 --- a/play-scala-hello-world-tutorial/app/views/tutorial.scala.html +++ b/play-scala-hello-world-tutorial/app/views/tutorial.scala.html @@ -147,8 +147,8 @@

Next steps

diff --git a/play-scala-rest-api-example/README.md b/play-scala-rest-api-example/README.md index 1bd35a76b..f90750ac6 100644 --- a/play-scala-rest-api-example/README.md +++ b/play-scala-rest-api-example/README.md @@ -1,6 +1,6 @@ # Play REST API -This is the example project for [Making a REST API in Play](http://developer.lightbend.com/guides/play-rest-api/index.html). +This is the example project for making a REST API in Play. ## Appendix From bc91619a903b70a8073b0416481e95989615cbb6 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Wed, 1 Nov 2023 08:09:58 +0100 Subject: [PATCH 31/42] adoptium.net instead of oracle --- play-java-hello-world-tutorial/README.md | 2 +- play-scala-hello-world-tutorial/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/play-java-hello-world-tutorial/README.md b/play-java-hello-world-tutorial/README.md index acc75812c..551f5366c 100644 --- a/play-java-hello-world-tutorial/README.md +++ b/play-java-hello-world-tutorial/README.md @@ -19,7 +19,7 @@ sbt sbtVersion If you do not have the required versions, follow these links to obtain them: -* [Java SE](http://www.oracle.com/technetwork/java/javase/downloads/index.html) +* [Java SE](https://adoptium.net/) * [sbt](http://www.scala-sbt.org/download.html) ## Build and run the project diff --git a/play-scala-hello-world-tutorial/README.md b/play-scala-hello-world-tutorial/README.md index ba4c44522..64e2fc28d 100644 --- a/play-scala-hello-world-tutorial/README.md +++ b/play-scala-hello-world-tutorial/README.md @@ -19,7 +19,7 @@ sbt sbtVersion If you do not have the required versions, follow these links to obtain them: -* [Java SE](http://www.oracle.com/technetwork/java/javase/downloads/index.html) +* [Java SE](https://adoptium.net/) * [sbt](http://www.scala-sbt.org/download.html) ## Build and run the project From b8989291c5539fe3580ae18b392192c5d6143aa8 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Thu, 2 Nov 2023 10:49:28 +0100 Subject: [PATCH 32/42] Correct branch in workflow --- .github/workflows/build-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index ae98c7e96..682aa985d 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -5,7 +5,7 @@ on: push: branches: - - 2.9.x # Check branch after merge + - 3.0.x # Check branch after merge concurrency: # Only run once for latest commit per ref and cancel other (previous) runs. From 985ebd5a649fd7c4b35612f41fc70a5418481c15 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Thu, 2 Nov 2023 11:27:33 +0100 Subject: [PATCH 33/42] Upgrade play-slick --- play-scala-slick-example/build.sbt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/play-scala-slick-example/build.sbt b/play-scala-slick-example/build.sbt index a21458202..7c131165b 100644 --- a/play-scala-slick-example/build.sbt +++ b/play-scala-slick-example/build.sbt @@ -22,8 +22,8 @@ def sampleProject(name: String) = ), libraryDependencies ++= Seq( guice, - "org.playframework" %% "play-slick" % "6.0.0-M1", - "org.playframework" %% "play-slick-evolutions" % "6.0.0-M1", + "org.playframework" %% "play-slick" % "6.0.0-M2", + "org.playframework" %% "play-slick-evolutions" % "6.0.0-M2", "com.h2database" % "h2" % "2.2.224", specs2 % Test, ), From e884039a85292b9f9f4f8958687030d9dd18fba9 Mon Sep 17 00:00:00 2001 From: Sergey Morgunov Date: Fri, 1 Dec 2023 14:33:38 +0300 Subject: [PATCH 34/42] Gradle support preparation --- .github/workflows/build-test.yml | 12 ++++++++- .gitignore | 4 +++ test-gradle.sh | 46 ++++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+), 1 deletion(-) create mode 100755 test-gradle.sh diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 682aa985d..551d51b72 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -20,7 +20,7 @@ jobs: # cmd: sbt validateCode tests: - name: Tests + name: Sbt Tests # needs: # - "check-code-style" uses: playframework/.github/.github/workflows/cmd.yml@v3 @@ -31,9 +31,19 @@ jobs: # sudo add-apt-repository -y ppa:ondrej/php && sudo apt-get -qq update && sudo apt-get install -y libsodium-dev # for secure session examples ./test.sh + gradle-tests: + name: Gradle Tests + uses: playframework/.github/.github/workflows/cmd.yml@v3 + with: + java: 17, 11 + scala: 2.13.x, 3.x + cmd: | + ./test-gradle.sh + finish: name: Finish if: github.event_name == 'pull_request' needs: # Should be last - "tests" + - "gradle-tests" uses: playframework/.github/.github/workflows/rtm.yml@v3 diff --git a/.gitignore b/.gitignore index 330dcf5c4..dfd12b1d1 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,7 @@ bin/ #general *.class + +# Gradle +.gradle +build diff --git a/test-gradle.sh b/test-gradle.sh new file mode 100755 index 000000000..b9bcfc715 --- /dev/null +++ b/test-gradle.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash +if [ -z "$MATRIX_SCALA" ]; then + echo "Error: the environment variable MATRIX_SCALA is not set" + exit 1 +fi +# pushd play-java-chatroom-example && scripts/test-gradle && popd +# pushd play-java-compile-di-example && scripts/test-gradle && popd +# pushd play-java-dagger2-example && scripts/test-gradle && popd +# pushd play-java-ebean-example && scripts/test-gradle && popd +# pushd play-java-fileupload-example && scripts/test-gradle && popd +# pushd play-java-forms-example && scripts/test-gradle && popd +#if [ "$MATRIX_SCALA" != "3.x" ]; then +# pushd play-java-grpc-example && scripts/test-gradle && popd +#fi +# pushd play-java-hello-world-tutorial && scripts/test-gradle && popd +# pushd play-java-jpa-example && scripts/test-gradle && popd +# pushd play-java-rest-api-example && scripts/test-gradle && popd +# pushd play-java-starter-example && scripts/test-gradle && popd +# pushd play-java-streaming-example && scripts/test-gradle && popd +# pushd play-java-websocket-example && scripts/test-gradle && popd +# pushd play-java-pekko-cluster-example && scripts/test-gradle && popd +#pushd play-scala-anorm-example && scripts/test-gradle && popd +# pushd play-scala-chatroom-example && scripts/test-gradle && popd +# pushd play-scala-compile-di-example && scripts/test-gradle && popd +# pushd play-scala-fileupload-example && scripts/test-gradle && popd +# pushd play-scala-forms-example && scripts/test-gradle && popd +#if [ "$MATRIX_SCALA" != "3.x" ]; then +# pushd play-scala-grpc-example && scripts/test-gradle && popd +#fi +# pushd play-scala-hello-world-tutorial && scripts/test-gradle && popd +# if [ "$MATRIX_SCALA" != "3.x" ]; then +# pushd play-scala-isolated-slick-example && scripts/test-gradle && popd +# fi +# pushd play-scala-log4j2-example && scripts/test-gradle && popd +# pushd play-scala-macwire-di-example && scripts/test-gradle && popd +# pushd play-scala-rest-api-example && scripts/test-gradle && popd +# Uses libsodium +# pushd play-scala-secure-session-example && scripts/test-gradle && popd +# if [ "$MATRIX_SCALA" != "3.x" ]; then +# pushd play-scala-slick-example && scripts/test-gradle && popd +# fi +# pushd play-scala-starter-example && scripts/test-gradle && popd +# pushd play-scala-streaming-example && scripts/test-gradle && popd +# uses vanilla sbt +# pushd play-scala-tls-example && scripts/test-gradle && popd +# pushd play-scala-websocket-example && scripts/test-gradle && popd From 0ef52d2d081785a77c4cf3ec590ba2dbd51bde03 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Tue, 12 Dec 2023 12:29:11 +0100 Subject: [PATCH 35/42] Remove telemetry examples --- .github/scala-steward.conf | 2 - play-java-telemetry-example/LICENSE | 116 ------------ play-java-telemetry-example/NOTICE | 6 - play-java-telemetry-example/README.md | 13 -- play-java-telemetry-example/app/Module.java | 31 ---- .../app/controllers/AsyncController.java | 65 ------- .../app/controllers/CountController.java | 36 ---- .../app/controllers/HomeController.java | 23 --- .../app/filters/ExampleFilter.java | 33 ---- .../app/services/ApplicationTimer.java | 51 ------ .../app/services/AtomicCounter.java | 26 --- .../app/services/Counter.java | 13 -- .../app/views/index.scala.html | 20 --- .../app/views/main.scala.html | 23 --- .../app/views/welcome.scala.html | 170 ------------------ play-java-telemetry-example/build.sbt | 30 ---- .../conf/application.conf | 47 ----- play-java-telemetry-example/conf/logback.xml | 45 ----- play-java-telemetry-example/conf/routes | 13 -- .../project/build.properties | 1 - .../project/plugins.sbt | 9 - .../public/images/external.png | Bin 278 -> 0 bytes .../public/images/favicon.png | Bin 687 -> 0 bytes .../public/images/header-pattern.png | Bin 175 -> 0 bytes .../public/javascripts/hello.js | 3 - .../public/stylesheets/main.css | 122 ------------- play-scala-telemetry-example/LICENSE | 116 ------------ play-scala-telemetry-example/NOTICE | 6 - play-scala-telemetry-example/README.md | 13 -- play-scala-telemetry-example/app/Module.scala | 28 --- .../app/controllers/AsyncController.scala | 49 ----- .../app/controllers/CountController.scala | 24 --- .../app/controllers/HomeController.scala | 25 --- .../app/filters/ExampleFilter.scala | 23 --- .../app/services/ApplicationTimer.scala | 43 ----- .../app/services/Counter.scala | 29 --- .../app/views/index.scala.html | 20 --- .../app/views/main.scala.html | 24 --- .../app/views/welcome.scala.html | 164 ----------------- play-scala-telemetry-example/build.sbt | 23 --- .../conf/application.conf | 47 ----- play-scala-telemetry-example/conf/logback.xml | 48 ----- play-scala-telemetry-example/conf/routes | 13 -- .../project/build.properties | 1 - .../project/plugins.sbt | 9 - .../public/images/external.png | Bin 278 -> 0 bytes .../public/images/favicon.png | Bin 687 -> 0 bytes .../public/images/header-pattern.png | Bin 175 -> 0 bytes .../public/javascripts/hello.js | 3 - .../public/stylesheets/main.css | 122 ------------- 50 files changed, 1728 deletions(-) delete mode 100644 play-java-telemetry-example/LICENSE delete mode 100644 play-java-telemetry-example/NOTICE delete mode 100644 play-java-telemetry-example/README.md delete mode 100644 play-java-telemetry-example/app/Module.java delete mode 100644 play-java-telemetry-example/app/controllers/AsyncController.java delete mode 100644 play-java-telemetry-example/app/controllers/CountController.java delete mode 100644 play-java-telemetry-example/app/controllers/HomeController.java delete mode 100644 play-java-telemetry-example/app/filters/ExampleFilter.java delete mode 100644 play-java-telemetry-example/app/services/ApplicationTimer.java delete mode 100644 play-java-telemetry-example/app/services/AtomicCounter.java delete mode 100644 play-java-telemetry-example/app/services/Counter.java delete mode 100644 play-java-telemetry-example/app/views/index.scala.html delete mode 100644 play-java-telemetry-example/app/views/main.scala.html delete mode 100644 play-java-telemetry-example/app/views/welcome.scala.html delete mode 100644 play-java-telemetry-example/build.sbt delete mode 100644 play-java-telemetry-example/conf/application.conf delete mode 100644 play-java-telemetry-example/conf/logback.xml delete mode 100644 play-java-telemetry-example/conf/routes delete mode 100644 play-java-telemetry-example/project/build.properties delete mode 100644 play-java-telemetry-example/project/plugins.sbt delete mode 100644 play-java-telemetry-example/public/images/external.png delete mode 100644 play-java-telemetry-example/public/images/favicon.png delete mode 100644 play-java-telemetry-example/public/images/header-pattern.png delete mode 100644 play-java-telemetry-example/public/javascripts/hello.js delete mode 100644 play-java-telemetry-example/public/stylesheets/main.css delete mode 100644 play-scala-telemetry-example/LICENSE delete mode 100644 play-scala-telemetry-example/NOTICE delete mode 100644 play-scala-telemetry-example/README.md delete mode 100644 play-scala-telemetry-example/app/Module.scala delete mode 100644 play-scala-telemetry-example/app/controllers/AsyncController.scala delete mode 100644 play-scala-telemetry-example/app/controllers/CountController.scala delete mode 100644 play-scala-telemetry-example/app/controllers/HomeController.scala delete mode 100644 play-scala-telemetry-example/app/filters/ExampleFilter.scala delete mode 100644 play-scala-telemetry-example/app/services/ApplicationTimer.scala delete mode 100644 play-scala-telemetry-example/app/services/Counter.scala delete mode 100644 play-scala-telemetry-example/app/views/index.scala.html delete mode 100644 play-scala-telemetry-example/app/views/main.scala.html delete mode 100644 play-scala-telemetry-example/app/views/welcome.scala.html delete mode 100644 play-scala-telemetry-example/build.sbt delete mode 100644 play-scala-telemetry-example/conf/application.conf delete mode 100644 play-scala-telemetry-example/conf/logback.xml delete mode 100644 play-scala-telemetry-example/conf/routes delete mode 100644 play-scala-telemetry-example/project/build.properties delete mode 100644 play-scala-telemetry-example/project/plugins.sbt delete mode 100644 play-scala-telemetry-example/public/images/external.png delete mode 100644 play-scala-telemetry-example/public/images/favicon.png delete mode 100644 play-scala-telemetry-example/public/images/header-pattern.png delete mode 100644 play-scala-telemetry-example/public/javascripts/hello.js delete mode 100644 play-scala-telemetry-example/public/stylesheets/main.css diff --git a/.github/scala-steward.conf b/.github/scala-steward.conf index 61756aaaa..425b16751 100644 --- a/.github/scala-steward.conf +++ b/.github/scala-steward.conf @@ -20,7 +20,6 @@ buildRoots = [ "play-java-rest-api-example", "play-java-starter-example", "play-java-streaming-example", - "play-java-telemetry-example", "play-java-websocket-example", "play-scala-anorm-example", "play-scala-chatroom-example", @@ -37,7 +36,6 @@ buildRoots = [ "play-scala-slick-example", "play-scala-starter-example", "play-scala-streaming-example", - "play-scala-telemetry-example", "play-scala-tls-example", "play-scala-websocket-example" ] diff --git a/play-java-telemetry-example/LICENSE b/play-java-telemetry-example/LICENSE deleted file mode 100644 index 670154e35..000000000 --- a/play-java-telemetry-example/LICENSE +++ /dev/null @@ -1,116 +0,0 @@ -CC0 1.0 Universal - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator and -subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for the -purpose of contributing to a commons of creative, cultural and scientific -works ("Commons") that the public can reliably and without fear of later -claims of infringement build upon, modify, incorporate in other works, reuse -and redistribute as freely as possible in any form whatsoever and for any -purposes, including without limitation commercial purposes. These owners may -contribute to the Commons to promote the ideal of a free culture and the -further production of creative, cultural and scientific works, or to gain -reputation or greater distribution for their Work in part through the use and -efforts of others. - -For these and/or other purposes and motivations, and without any expectation -of additional consideration or compensation, the person associating CC0 with a -Work (the "Affirmer"), to the extent that he or she is an owner of Copyright -and Related Rights in the Work, voluntarily elects to apply CC0 to the Work -and publicly distribute the Work under its terms, with knowledge of his or her -Copyright and Related Rights in the Work and the meaning and intended legal -effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not limited -to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, communicate, - and translate a Work; - - ii. moral rights retained by the original author(s) and/or performer(s); - - iii. publicity and privacy rights pertaining to a person's image or likeness - depicted in a Work; - - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - - v. rights protecting the extraction, dissemination, use and reuse of data in - a Work; - - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation thereof, - including any amended or successor version of such directive); and - - vii. other similar, equivalent or corresponding rights throughout the world - based on applicable law or treaty, and any national implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention of, -applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and -unconditionally waives, abandons, and surrenders all of Affirmer's Copyright -and Related Rights and associated claims and causes of action, whether now -known or unknown (including existing as well as future claims and causes of -action), in the Work (i) in all territories worldwide, (ii) for the maximum -duration provided by applicable law or treaty (including future time -extensions), (iii) in any current or future medium and for any number of -copies, and (iv) for any purpose whatsoever, including without limitation -commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes -the Waiver for the benefit of each member of the public at large and to the -detriment of Affirmer's heirs and successors, fully intending that such Waiver -shall not be subject to revocation, rescission, cancellation, termination, or -any other legal or equitable action to disrupt the quiet enjoyment of the Work -by the public as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason be -judged legally invalid or ineffective under applicable law, then the Waiver -shall be preserved to the maximum extent permitted taking into account -Affirmer's express Statement of Purpose. In addition, to the extent the Waiver -is so judged Affirmer hereby grants to each affected person a royalty-free, -non transferable, non sublicensable, non exclusive, irrevocable and -unconditional license to exercise Affirmer's Copyright and Related Rights in -the Work (i) in all territories worldwide, (ii) for the maximum duration -provided by applicable law or treaty (including future time extensions), (iii) -in any current or future medium and for any number of copies, and (iv) for any -purpose whatsoever, including without limitation commercial, advertising or -promotional purposes (the "License"). The License shall be deemed effective as -of the date CC0 was applied by Affirmer to the Work. Should any part of the -License for any reason be judged legally invalid or ineffective under -applicable law, such partial invalidity or ineffectiveness shall not -invalidate the remainder of the License, and in such case Affirmer hereby -affirms that he or she will not (i) exercise any of his or her remaining -Copyright and Related Rights in the Work or (ii) assert any associated claims -and causes of action with respect to the Work, in either case contrary to -Affirmer's express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - - b. Affirmer offers the Work as-is and makes no representations or warranties - of any kind concerning the Work, express, implied, statutory or otherwise, - including without limitation warranties of title, merchantability, fitness - for a particular purpose, non infringement, or the absence of latent or - other defects, accuracy, or the present or absence of errors, whether or not - discoverable, all to the greatest extent permissible under applicable law. - - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without limitation - any person's Copyright and Related Rights in the Work. Further, Affirmer - disclaims responsibility for obtaining any necessary consents, permissions - or other rights required for any use of the Work. - - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to this - CC0 or use of the Work. - -For more information, please see - diff --git a/play-java-telemetry-example/NOTICE b/play-java-telemetry-example/NOTICE deleted file mode 100644 index ad85263cf..000000000 --- a/play-java-telemetry-example/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -To the extent possible under law, the author(s) have dedicated all copyright and -related and neighboring rights to this software to the public domain worldwide. -This software is distributed without any warranty. - -You should have received a copy of the CC0 Public Domain Dedication along with -this software. If not, see . diff --git a/play-java-telemetry-example/README.md b/play-java-telemetry-example/README.md deleted file mode 100644 index eb4d68237..000000000 --- a/play-java-telemetry-example/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# play-java-telemetry-example - -This is a variant of the starter application that shows how integrate Lightbend Telemetry into Play. Please see the documentation at https://developer.lightbend.com/docs/telemetry/current/getting-started/play_sbt.html for more details. - -## Running - -Run this using [sbt](http://www.scala-sbt.org/). If you downloaded this project from http://www.playframework.com/download then you'll find a prepackaged version of sbt in the project directory: - -``` -sbt runProd -``` - -And then go to http://localhost:9000 to see the running web application. diff --git a/play-java-telemetry-example/app/Module.java b/play-java-telemetry-example/app/Module.java deleted file mode 100644 index 6e7d1766e..000000000 --- a/play-java-telemetry-example/app/Module.java +++ /dev/null @@ -1,31 +0,0 @@ -import com.google.inject.AbstractModule; -import java.time.Clock; - -import services.ApplicationTimer; -import services.AtomicCounter; -import services.Counter; - -/** - * This class is a Guice module that tells Guice how to bind several - * different types. This Guice module is created when the Play - * application starts. - * - * Play will automatically use any class called `Module` that is in - * the root package. You can create modules in other locations by - * adding `play.modules.enabled` settings to the `application.conf` - * configuration file. - */ -public class Module extends AbstractModule { - - @Override - public void configure() { - // Use the system clock as the default implementation of Clock - bind(Clock.class).toInstance(Clock.systemDefaultZone()); - // Ask Guice to create an instance of ApplicationTimer when the - // application starts. - bind(ApplicationTimer.class).asEagerSingleton(); - // Set AtomicCounter as the implementation for Counter. - bind(Counter.class).to(AtomicCounter.class); - } - -} diff --git a/play-java-telemetry-example/app/controllers/AsyncController.java b/play-java-telemetry-example/app/controllers/AsyncController.java deleted file mode 100644 index 86b1fe794..000000000 --- a/play-java-telemetry-example/app/controllers/AsyncController.java +++ /dev/null @@ -1,65 +0,0 @@ -package controllers; - -import org.apache.pekko.actor.ActorSystem; -import javax.inject.*; - -import org.apache.pekko.actor.Scheduler; -import play.*; -import play.mvc.*; -import java.util.concurrent.Executor; -import java.util.concurrent.CompletableFuture; -import java.util.concurrent.CompletionStage; -import java.util.concurrent.TimeUnit; - -import scala.concurrent.ExecutionContext; -import scala.concurrent.duration.Duration; -import scala.concurrent.ExecutionContextExecutor; - -/** - * This controller contains an action that demonstrates how to write - * simple asynchronous code in a controller. It uses a timer to - * asynchronously delay sending a response for 1 second. - */ -@Singleton -public class AsyncController extends Controller { - - private final ActorSystem actorSystem; - private final ExecutionContextExecutor exec; - - /** - * @param actorSystem We need the {@link ActorSystem}'s - * {@link Scheduler} to run code after a delay. - * @param exec We need a Java {@link Executor} to apply the result - * of the {@link CompletableFuture} and a Scala - * {@link ExecutionContext} so we can use the Pekko {@link Scheduler}. - * An {@link ExecutionContextExecutor} implements both interfaces. - */ - @Inject - public AsyncController(ActorSystem actorSystem, ExecutionContextExecutor exec) { - this.actorSystem = actorSystem; - this.exec = exec; - } - - /** - * An action that returns a plain text message after a delay - * of 1 second. - * - * The configuration in the routes file means that this method - * will be called when the application receives a GET request with - * a path of /message. - */ - public CompletionStage message() { - return getFutureMessage(1, TimeUnit.SECONDS).thenApplyAsync(Results::ok, exec); - } - - private CompletionStage getFutureMessage(long time, TimeUnit timeUnit) { - CompletableFuture future = new CompletableFuture<>(); - actorSystem.scheduler().scheduleOnce( - Duration.create(time, timeUnit), - () -> future.complete("Hi!"), - exec - ); - return future; - } - -} diff --git a/play-java-telemetry-example/app/controllers/CountController.java b/play-java-telemetry-example/app/controllers/CountController.java deleted file mode 100644 index e558123b9..000000000 --- a/play-java-telemetry-example/app/controllers/CountController.java +++ /dev/null @@ -1,36 +0,0 @@ -package controllers; - -import play.mvc.Controller; -import play.mvc.Result; -import services.Counter; - -import javax.inject.Inject; -import javax.inject.Singleton; - -/** - * This controller demonstrates how to use dependency injection to - * bind a component into a controller class. The class contains an - * action that shows an incrementing count to users. The {@link Counter} - * object is injected by the Guice dependency injection system. - */ -@Singleton -public class CountController extends Controller { - - private final Counter counter; - - @Inject - public CountController(Counter counter) { - this.counter = counter; - } - - /** - * An action that responds with the {@link Counter}'s current - * count. The result is plain text. This action is mapped to - * GET requests with a path of /count - * requests by an entry in the routes config file. - */ - public Result count() { - return ok(Integer.toString(counter.nextCount())); - } - -} diff --git a/play-java-telemetry-example/app/controllers/HomeController.java b/play-java-telemetry-example/app/controllers/HomeController.java deleted file mode 100644 index 6a79856eb..000000000 --- a/play-java-telemetry-example/app/controllers/HomeController.java +++ /dev/null @@ -1,23 +0,0 @@ -package controllers; - -import play.mvc.*; - -import views.html.*; - -/** - * This controller contains an action to handle HTTP requests - * to the application's home page. - */ -public class HomeController extends Controller { - - /** - * An action that renders an HTML page with a welcome message. - * The configuration in the routes file means that - * this method will be called when the application receives a - * GET request with a path of /. - */ - public Result index() { - return ok(index.render("Your new application is ready.")); - } - -} diff --git a/play-java-telemetry-example/app/filters/ExampleFilter.java b/play-java-telemetry-example/app/filters/ExampleFilter.java deleted file mode 100644 index 03e5d6dc1..000000000 --- a/play-java-telemetry-example/app/filters/ExampleFilter.java +++ /dev/null @@ -1,33 +0,0 @@ -package filters; - -import play.mvc.EssentialAction; -import play.mvc.EssentialFilter; - -import javax.inject.Inject; -import javax.inject.Singleton; -import java.util.concurrent.Executor; - -/** - * This is a simple filter that adds a header to all requests. - */ -@Singleton -public class ExampleFilter extends EssentialFilter { - - private final Executor exec; - - /** - * @param exec This class is needed to execute code asynchronously. - */ - @Inject - public ExampleFilter(Executor exec) { - this.exec = exec; - } - - @Override - public EssentialAction apply(EssentialAction next) { - return EssentialAction.of(request -> - next.apply(request).map(result -> - result.withHeader("X-ExampleFilter", "foo"), exec) - ); - } -} diff --git a/play-java-telemetry-example/app/services/ApplicationTimer.java b/play-java-telemetry-example/app/services/ApplicationTimer.java deleted file mode 100644 index 14027484b..000000000 --- a/play-java-telemetry-example/app/services/ApplicationTimer.java +++ /dev/null @@ -1,51 +0,0 @@ -package services; - -import java.time.Clock; -import java.time.Instant; -import java.util.concurrent.CompletableFuture; -import javax.inject.*; -import play.inject.ApplicationLifecycle; - -/** - * This class demonstrates how to run code when the - * application starts and stops. It starts a timer when the - * application starts. When the application stops it prints out how - * long the application was running for. - * - * This class is registered for Guice dependency injection in the - * {@link Module} class. We want the class to start when the application - * starts, so it is registered as an "eager singleton". See the code - * in the {@link Module} class to see how this happens. - * - * This class needs to run code when the server stops. It uses the - * application's {@link ApplicationLifecycle} to register a stop hook. - */ -@Singleton -public class ApplicationTimer { - - private final Clock clock; - private final ApplicationLifecycle appLifecycle; - private final Instant start; - - private final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger("application"); - - @Inject - public ApplicationTimer(Clock clock, ApplicationLifecycle appLifecycle) { - this.clock = clock; - this.appLifecycle = appLifecycle; - // This code is called when the application starts. - start = clock.instant(); - logger.info("ApplicationTimer demo: Starting application at " + start); - - // When the application starts, register a stop hook with the - // ApplicationLifecycle object. The code inside the stop hook will - // be run when the application stops. - appLifecycle.addStopHook(() -> { - Instant stop = clock.instant(); - Long runningTime = stop.getEpochSecond() - start.getEpochSecond(); - logger.info("ApplicationTimer demo: Stopping application at " + clock.instant() + " after " + runningTime + "s."); - return CompletableFuture.completedFuture(null); - }); - } - -} diff --git a/play-java-telemetry-example/app/services/AtomicCounter.java b/play-java-telemetry-example/app/services/AtomicCounter.java deleted file mode 100644 index 41f741cbf..000000000 --- a/play-java-telemetry-example/app/services/AtomicCounter.java +++ /dev/null @@ -1,26 +0,0 @@ -package services; - -import java.util.concurrent.atomic.AtomicInteger; -import javax.inject.*; - -/** - * This class is a concrete implementation of the {@link Counter} trait. - * It is configured for Guice dependency injection in the {@link Module} - * class. - * - * This class has a {@link Singleton} annotation because we need to make - * sure we only use one counter per application. Without this - * annotation we would get a new instance every time a {@link Counter} is - * injected. - */ -@Singleton -public class AtomicCounter implements Counter { - - private final AtomicInteger atomicCounter = new AtomicInteger(); - - @Override - public int nextCount() { - return atomicCounter.getAndIncrement(); - } - -} diff --git a/play-java-telemetry-example/app/services/Counter.java b/play-java-telemetry-example/app/services/Counter.java deleted file mode 100644 index dadad8b09..000000000 --- a/play-java-telemetry-example/app/services/Counter.java +++ /dev/null @@ -1,13 +0,0 @@ -package services; - -/** - * This interface demonstrates how to create a component that is injected - * into a controller. The interface represents a counter that returns a - * incremented number each time it is called. - * - * The {@link Modules} class binds this interface to the - * {@link AtomicCounter} implementation. - */ -public interface Counter { - int nextCount(); -} diff --git a/play-java-telemetry-example/app/views/index.scala.html b/play-java-telemetry-example/app/views/index.scala.html deleted file mode 100644 index 040eee590..000000000 --- a/play-java-telemetry-example/app/views/index.scala.html +++ /dev/null @@ -1,20 +0,0 @@ -@* - * This template takes a single argument, a String containing a - * message to display. - *@ -@(message: String) - -@* - * Call the `main` template with two arguments. The first - * argument is a `String` with the title of the page, the second - * argument is an `Html` object containing the body of the page. - *@ -@main("Welcome to Play") { - - @* - * Get an `Html` object by calling the built-in Play welcome - * template and passing a `String` message. - *@ - @welcome(message, style = "java") - -} diff --git a/play-java-telemetry-example/app/views/main.scala.html b/play-java-telemetry-example/app/views/main.scala.html deleted file mode 100644 index 9414f4be6..000000000 --- a/play-java-telemetry-example/app/views/main.scala.html +++ /dev/null @@ -1,23 +0,0 @@ -@* - * This template is called from the `index` template. This template - * handles the rendering of the page header and body tags. It takes - * two arguments, a `String` for the title of the page and an `Html` - * object to insert into the body of the page. - *@ -@(title: String)(content: Html) - - - - - @* Here's where we render the page title `String`. *@ - @title - - - - - - @* And here's where we render the `Html` object containing - * the page content. *@ - @content - - diff --git a/play-java-telemetry-example/app/views/welcome.scala.html b/play-java-telemetry-example/app/views/welcome.scala.html deleted file mode 100644 index d6656bd66..000000000 --- a/play-java-telemetry-example/app/views/welcome.scala.html +++ /dev/null @@ -1,170 +0,0 @@ -@(message: String, style: String = "java") - -@defining(play.core.PlayVersion.current) { version => - -
-
-

@message

-
-
- -
-
- -

Welcome to Play

- -

- Congratulations, you’ve just created a new Play application. This page will help you with the next few steps. -

- -
-

- You’re using Play @version -

-
- -

Why do you see this page?

- -

- The conf/routes file defines a route that tells Play to invoke the HomeController.index action - whenever a browser requests the / URI using the GET method: -

- -
# Home page
-GET     /               controllers.HomeController.index
- - -

- Play has invoked the controllers.HomeController.index method: -

- -
public Result index() {
-    return ok(index.render("Your new application is ready."));
-}
- -

- An action method handles the incoming HTTP request, and returns the HTTP result to send back to the web client. - Here we send a 200 OK response, using a template to fill its content. -

- -

- The template is defined in the app/views/index.scala.html file and compiled as a standard Java class. -

- -
@@(message: String)
-
-  @@main("Welcome to Play") {
-
-  @@welcome(message, style = "Java")
-
-}
- -

- The first line of the template defines the function signature. Here it just takes a single String parameter. - Then this template calls another function defined in app/views/main.scala.html which displays the HTML layout, and another - function that displays this welcome message. You can freely add any HTML fragment mixed with Scala code in this file. -

- -
-

- Note that Scala is fully compatible with Java, so if you don’t know Scala don’t panic, a Scala statement is very similar to a Java one. -

-
- -

You can read more about Twirl, the template language used by Play, and how Play handles actions.

- -

Async Controller

- - Now that you've seen how Play renders a page, take a look at AsyncController.java, which shows how to do asynchronous programming when handling a request. The code is almost exactly the same as HomeController.java, but instead of returning Result, the action returns CompletionStage<Result> to Play. When the execution completes, Play can use a thread to render the result without blocking the thread in the mean time. - -

- Click here for the AsyncController action! -

- -

- You can read more about asynchronous actions in the documentation. -

- -

Count Controller

- -

- Both the HomeController and AsyncController are very simple, and typically controllers present the results of the interaction of several services. As an example, see the CountController, which shows how to inject a component into a controller and use the component when handling requests. The count controller increments every time you refresh the page, so keep refreshing to see the numbers go up. -

- -

- Click here for the CountController action! -

- -

- You can read more about dependency injection in the documentation. -

- -

Need more info on the console?

- -

- For more information on the various commands you can run on Play, i.e. running tests and packaging applications for production, see Using the Play console. -

- -

Need to set up an IDE?

- -

- You can start hacking your application right now using any text editor. Any changes will be automatically reloaded at each page refresh, - including modifications made to Scala source files. -

- -

- If you want to set-up your application in IntelliJ IDEA or any other Java IDE, check the - Setting up your preferred IDE page. -

- -

Need more documentation?

- -

- Play documentation is available at https://www.playframework.com/documentation. -

- -

- Play comes with lots of example templates showcasing various bits of Play functionality at https://www.playframework.com/download#examples. -

- -

Need more help?

- -

- Play questions are asked and answered on Stackoverflow using the "playframework" tag: https://stackoverflow.com/questions/tagged/playframework -

- -

- The Play Forum is where Play users come to seek help, - announce projects, and discuss issues and new features. -

- -

- Discord is a real time chat channel, like IRC. The playframework channel is used by Play users to discuss the ins and outs of writing great Play applications. -

- -
- - - -
-} diff --git a/play-java-telemetry-example/build.sbt b/play-java-telemetry-example/build.sbt deleted file mode 100644 index 93dca4ca5..000000000 --- a/play-java-telemetry-example/build.sbt +++ /dev/null @@ -1,30 +0,0 @@ - -lazy val root = (project in file(".")) - .enablePlugins(PlayJava, Cinnamon) - .settings( - name := """play-java-telemetry-example""", - version := "1.0-SNAPSHOT", - crossScalaVersions := Seq("2.13.12", "3.3.1"), - scalaVersion := crossScalaVersions.value.head, - libraryDependencies ++= Seq( - guice, - // Test Database - "com.h2database" % "h2" % "2.2.224", - // Testing libraries for dealing with CompletionStage... - "org.assertj" % "assertj-core" % "3.24.2" % Test, - "org.awaitility" % "awaitility" % "4.2.0" % Test, - ), - javacOptions ++= Seq( - "-parameters", - "-Xlint:unchecked", - "-Xlint:deprecation", - "-Werror" - ), - // Make verbose tests - (Test / testOptions) := Seq(Tests.Argument(TestFrameworks.JUnit, "-a", "-v")) - ).settings( - libraryDependencies ++= Seq( - Cinnamon.library.cinnamonCHMetrics, // only needed to use the Console reporter - Cinnamon.library.cinnamonPlay - ) - ) diff --git a/play-java-telemetry-example/conf/application.conf b/play-java-telemetry-example/conf/application.conf deleted file mode 100644 index 50ff9ba73..000000000 --- a/play-java-telemetry-example/conf/application.conf +++ /dev/null @@ -1,47 +0,0 @@ -play.http.secret.key = "sdfgclhlgjkghsdhgjshfghsdlfghsl" - -play.i18n { - langs = [ "en" ] -} - -play.filters { - enabled += filters.ExampleFilter - hosts { - allowed = ["localhost:9000"] - } -} - - - -cinnamon.application = "hello-play-telemetry" - -cinnamon.play.http { - - // Create server metrics for all servers and all paths - servers { - "*:*" { - paths { - "*" { - metrics = on - } - } - } - } - - // Create client metrics for all servers and all paths - clients { - "*:*" { - paths { - "*" { - metrics = on - } - } - } - } -} - -cinnamon.chmetrics { - reporters += console-reporter -} - - diff --git a/play-java-telemetry-example/conf/logback.xml b/play-java-telemetry-example/conf/logback.xml deleted file mode 100644 index fb5a2cb5e..000000000 --- a/play-java-telemetry-example/conf/logback.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - ${application.home:-.}/logs/application.log - - %date [%level] from %logger in %thread - %message%n%xException - - - - - - %highlight(%-5level) %logger{15} - %message%n%xException{10} - - - - - - - - - - - - - - - - - - - - - - - diff --git a/play-java-telemetry-example/conf/routes b/play-java-telemetry-example/conf/routes deleted file mode 100644 index cc707d49d..000000000 --- a/play-java-telemetry-example/conf/routes +++ /dev/null @@ -1,13 +0,0 @@ -# Routes -# This file defines all application routes (Higher priority routes first) -# ~~~~ - -# An example controller showing a sample home page -GET / controllers.HomeController.index -# An example controller showing how to use dependency injection -GET /count controllers.CountController.count -# An example controller showing how to write asynchronous code -GET /message controllers.AsyncController.message - -# Map static resources from the /public folder to the /assets URL path -GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset) diff --git a/play-java-telemetry-example/project/build.properties b/play-java-telemetry-example/project/build.properties deleted file mode 100644 index e8a1e246e..000000000 --- a/play-java-telemetry-example/project/build.properties +++ /dev/null @@ -1 +0,0 @@ -sbt.version=1.9.7 diff --git a/play-java-telemetry-example/project/plugins.sbt b/play-java-telemetry-example/project/plugins.sbt deleted file mode 100644 index 7524fadc4..000000000 --- a/play-java-telemetry-example/project/plugins.sbt +++ /dev/null @@ -1,9 +0,0 @@ -// The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") - -addSbtPlugin("com.lightbend.cinnamon" % "sbt-cinnamon" % "2.17.3") - -credentials += Credentials(Path.userHome / ".lightbend" / "commercial.credentials") - -resolvers += Resolver.url("lightbend-commercial", - url("https://repo.lightbend.com/commercial-releases"))(Resolver.ivyStylePatterns) diff --git a/play-java-telemetry-example/public/images/external.png b/play-java-telemetry-example/public/images/external.png deleted file mode 100644 index 18932b7bbf787430d058f449cafb9db0105ab162..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&k$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1GJ3L(+Ln>}1{rUgjo>{Np+nbx89ZoSs_ONQ4;9p|Su#tJz zFNPI2SQWw=IE@|#%t^?}*(12hlkq5<%2Dfv3Tpv*7Oj08TP)>H#5FAW#^_&^eh>!H~1R{`OTWHT0s4W#)78&qol`;+0AQP9F8}}l diff --git a/play-java-telemetry-example/public/images/favicon.png b/play-java-telemetry-example/public/images/favicon.png deleted file mode 100644 index c7d92d2ae47434d9a61c90bc205e099b673b9dd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 687 zcmV;g0#N;lP)ezT{T_ZJ?}AL z5NC{NW(ESID=>(O3&Eg8 zmA9J&6c`h4_f6L;=bU>_H8aNG`kfvCj9zomNt)?O;rzWqZs0LEt%1WB218%1fo9uB zsW^yhBR7C(mqN%GEK9&msg0~ zWY?#bf4q8G-~2KttQZ($odJvy&_-~f?9*ThK@fwR$U^1)p*8=_+^3BXx0$i1BC8XC zr21u6D5nVK&^!dOAw&|1E;qC3uFNj3*Jj#&%Oje@0D-nhfmM*o%^5f}-pxQ07(95H z3|LoV>V19w#rLgmRmtVy9!T3M3FUE3><0T8&b3yEsWcLW`0(=1+qsqc(k(ymBLK0h zK!6(6$7MX~M`-QA2$wk7n(7hhkJ}4Rwi-Vd(_ZFX1Yk7TXuB0IJYpo@kLb2G8m)E{ z`9v=!hi}fOytKckfN^C@6+Z*+MVI9-W_p@_3yyR#UYc0FTpD}i#k>c!wYCS)4v@E$ zchZCo=zV@)`v^$;V18ixdjFMY#q^2$wEX%{f(XD8POnsn$bpbClpC@hPxjzyO>pY|*pF3UU2tYcCN?rUk{Sskej70Mmu9vPwMYhO1m{AxAt(zqDT|0jP7FaX=6 V`?~}E4H^Id002ovPDHLkV1hC)G==~G diff --git a/play-java-telemetry-example/public/images/header-pattern.png b/play-java-telemetry-example/public/images/header-pattern.png deleted file mode 100644 index e117eb4332d99c0bcfa6836ab1da0f1599e043e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V6Od#Ih{( zJaZG%Q-e|yQz{EjrrH1%1$w$ThE&|D>A%f;z<`7KWA3%Hn-a~N+?*T(<-YPe*)^{H zX7_L!lkg_R?+hwg+dpXRj()O3h*ggBS+MoNPdSP=9-m=3e!#V0^%NHSrMtg!8ZfL* Ww^+jHmS7AtoWax8&t;ucLK6Vb^*gNq diff --git a/play-java-telemetry-example/public/javascripts/hello.js b/play-java-telemetry-example/public/javascripts/hello.js deleted file mode 100644 index 02ee13c7c..000000000 --- a/play-java-telemetry-example/public/javascripts/hello.js +++ /dev/null @@ -1,3 +0,0 @@ -if (window.console) { - console.log("Welcome to your Play application's JavaScript!"); -} diff --git a/play-java-telemetry-example/public/stylesheets/main.css b/play-java-telemetry-example/public/stylesheets/main.css deleted file mode 100644 index 8c2cf47a4..000000000 --- a/play-java-telemetry-example/public/stylesheets/main.css +++ /dev/null @@ -1,122 +0,0 @@ -html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;} -table{border-collapse:collapse;border-spacing:0;} -caption,th,td{text-align:left;font-weight:normal;} -form legend{display:none;} -blockquote:before,blockquote:after,q:before,q:after{content:"";} -blockquote,q{quotes:"" "";} -ol,ul{list-style:none;} -hr{display:none;visibility:hidden;} -:focus{outline:0;} -article{}article h1,article h2,article h3,article h4,article h5,article h6{color:#333;font-weight:bold;line-height:1.25;margin-top:1.3em;} -article h1 a,article h2 a,article h3 a,article h4 a,article h5 a,article h6 a{font-weight:inherit;color:#333;}article h1 a:hover,article h2 a:hover,article h3 a:hover,article h4 a:hover,article h5 a:hover,article h6 a:hover{color:#333;} -article h1{font-size:36px;margin:0 0 18px;border-bottom:4px solid #eee;} -article h2{font-size:25px;margin-bottom:9px;border-bottom:2px solid #eee;} -article h3{font-size:18px;margin-bottom:9px;} -article h4{font-size:15px;margin-bottom:3px;} -article h5{font-size:12px;font-weight:normal;margin-bottom:3px;} -article .subheader{color:#777;font-weight:300;margin-bottom:24px;} -article p{line-height:1.3em;margin:1em 0;} -article p img{margin:0;} -article p.lead{font-size:18px;font-size:1.8rem;line-height:1.5;} -article li>p:first-child{margin-top:0;} -article li>p:last-child{margin-bottom:0;} -article ul li,article ol li{position:relative;padding:4px 0 4px 14px;}article ul li ol,article ol li ol,article ul li ul,article ol li ul{margin-left:20px;} -article ul li:before,article ol li:before{position:absolute;top:8px;left:0;content:"►";color:#ccc;font-size:10px;margin-right:5px;} -article>ol{counter-reset:section;}article>ol li:before{color:#ccc;font-size:13px;} -article>ol>li{padding:6px 0 4px 20px;counter-reset:chapter;}article>ol>li:before{content:counter(section) ".";counter-increment:section;} -article>ol>li>ol>li{padding:6px 0 4px 30px;counter-reset:item;}article>ol>li>ol>li:before{content:counter(section) "." counter(chapter);counter-increment:chapter;} -article>ol>li>ol>li>ol>li{padding:6px 0 4px 40px;}article>ol>li>ol>li>ol>li:before{content:counter(section) "." counter(chapter) "." counter(item);counter-increment:item;} -article em,article i{font-style:italic;line-height:inherit;} -article strong,article b{font-weight:bold;line-height:inherit;} -article small{font-size:60%;line-height:inherit;} -article h1 small,article h2 small,article h3 small,article h4 small,article h5 small{color:#777;} -article hr{border:solid #ddd;border-width:1px 0 0;clear:both;margin:12px 0 18px;height:0;} -article abbr,article acronym{text-transform:uppercase;font-size:90%;color:#222;border-bottom:1px solid #ddd;cursor:help;} -article abbr{text-transform:none;} -article img{max-width:100%;} -article pre{margin:10px 0;border:1px solid #ddd;padding:10px;background:#fafafa;color:#666;overflow:auto;border-radius:5px;} -article code{background:#fafafa;color:#666;font-family:inconsolata, monospace;border:1px solid #ddd;border-radius:3px;height:4px;padding:0;} -article a code{color:#80c846;}article a code:hover{color:#6dae38;} -article pre code{border:0;background:inherit;border-radius:0;line-height:inherit;font-size:14px;} -article pre.prettyprint{border:1px solid #ddd;padding:10px;} -article blockquote,article blockquote p,article p.note{line-height:20px;color:#4c4742;} -article blockquote,article .note{margin:0 0 18px;padding:1px 20px;background:#fff7d6;}article blockquote li:before,article .note li:before{color:#e0bc6f;} -article blockquote code,article .note code{background:#f5d899;border:none;color:inherit;} -article blockquote a,article .note a{color:#6dae38;} -article blockquote pre,article .note pre{background:#F5D899 !important;color:#48484C !important;border:none !important;} -article p.note{padding:15px 20px;} -article table{width:100%;}article table td{padding:8px;} -article table tr{background:#F4F4F7;border-bottom:1px solid #eee;} -article table tr:nth-of-type(odd){background:#fafafa;} -article dl dt{font-weight:bold;} -article dl.tabbed{position:relative;} -article dl.tabbed dt{float:left;margin:0 5px 0 0;border:1px solid #ddd;padding:0 20px;line-height:2;border-radius: 5px 5px 0 0;} -article dl.tabbed dt a{display:block;height:30px;color:#333;text-decoration:none;} -article dl.tabbed dt.current{background: #f7f7f7;} -article dl.tabbed dd{position:absolute;width:100%;left:0;top:30px;} -article dl.tabbed dd pre{margin-top:0;border-top-left-radius:0;} -a{color:#80c846;}a:hover{color:#6dae38;} -p{margin:1em 0;} -h1{-webkit-font-smoothing:antialiased;} -h2{font-weight:bold;font-size:28px;} -hr{clear:both;margin:20px 0 25px 0;border:none;border-top:1px solid #444;visibility:visible;display:block;} -section{padding:50px 0;} -body{background:#f5f5f5;background:#fff;color:#555;font:15px "Helvetica Nueue",sans-serif;padding:0px 0 0px;} -.wrapper{width:960px;margin:0 auto;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;padding:60px 0;}.wrapper:after{content:" ";display:block;clear:both;} -.wrapper article{min-height:310px;width:650px;float:left;} -.wrapper aside{width:270px;float:right;}.wrapper aside ul{margin:2px 0 30px;}.wrapper aside ul a{display:block;padding:3px 0 3px 10px;margin:2px 0;border-left:4px solid #eee;}.wrapper aside ul a:hover{border-color:#80c846;} -.wrapper aside h3{font-size:18px;color:#333;font-weight:bold;line-height:2em;margin:9px 0;border-bottom:1px solid #eee;} -.wrapper aside.stick{position:fixed;right:50%;margin-right:-480px;top:120px;bottom:0;overflow:hidden;} -.half{width:50%;float:left;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;} -header{position:fixed;top:0;z-index:1000;width:100%;height:50px;line-height:50px;padding:30px 0;background:#fff;background:rgba(255, 255, 255, 0.95);border-bottom:1px solid #ccc;box-shadow:0 4px 0 rgba(0, 0, 0, 0.1);}header #logo{position:absolute;left:50%;margin-left:-480px;} -header nav{position:absolute;right:50%;margin-right:-480px;}header nav a{padding:0 10px 4px;font-size:21px;font-weight:500;text-decoration:none;} -header nav a.selected{border-bottom:3px solid #E9E9E9;} -header nav a.download{position:relative;background:#80c846;color:white;margin-left:10px;padding:5px 10px 2px;font-weight:700;border-radius:5px;box-shadow:0 3px 0 #6dae38;text-shadow:-1px -1px 0 rgba(0, 0, 0, 0.2);-webkit-transition:all 70ms ease-out;border:0;}header nav a.download:hover{box-shadow:0 3px 0 #6dae38,0 3px 4px rgba(0, 0, 0, 0.3);} -header nav a.download:active{box-shadow:0 1px 0 #6dae38;top:2px;-webkit-transition:none;} -#download,#getLogo{display:none;position:absolute;padding:5px 20px;width:200px;background:#000;background:rgba(0, 0, 0, 0.8);border-radius:5px;color:#999;line-height:15px;}#download a,#getLogo a{color:#ccc;text-decoration:none;}#download a:hover,#getLogo a:hover{color:#fff;} -#getLogo{text-align:center;}#getLogo h3{font-size:16px;color:#80c846;margin:0 0 15px;} -#getLogo figure{border-radius:3px;margin:5px 0;padding:5px;background:#fff;line-height:25px;width:80px;display:inline-block;}#getLogo figure a{color:#999;text-decoration:none;}#getLogo figure a:hover{color:#666;} -#download{top:85px;right:50%;margin-right:-480px;}#download .button{font-size:16px;color:#80c846;} -#getLogo{top:85px;left:50%;padding:20px;margin-left:-480px;}#getLogo ul{margin:5px 0;} -#getLogo li{margin:1px 0;} -#news{background:#f5f5f5;color:#999;font-size:17px;box-shadow:0 1px 0 rgba(0, 0, 0, 0.1);position:relative;z-index:2;padding:3px 0;}#news ul{box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;background:url(/assets/images/news.png) 10px center no-repeat;padding:19px 0 19px 60px;} -#content{padding:30px 0;} -#top{background:#80c846 url(/assets/images/header-pattern.png) fixed;box-shadow:0 -4px 0 rgba(0, 0, 0, 0.1) inset;padding:0;position:relative;}#top .wrapper{padding:30px 0;} -#top h1{float:left;color:#fff;font-size:35px;line-height:48px;text-shadow:2px 2px 0 rgba(0, 0, 0, 0.1);}#top h1 a{text-decoration:none;color:#fff;} -#top nav{float:right;margin-top:10px;line-height:25px;}#top nav .versions,#top nav form{float:left;margin:0 5px;} -#top nav .versions{height:25px;display:inline-block;border:1px solid #6dae38;border-radius:3px;background:#80c846;background:-moz-linear-gradient(top, #80c846 0%, #6dae38 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #80c846), color-stop(100%, #6dae38));background:-webkit-linear-gradient(top, #80c846 0%, #6dae38 100%);background:-o-linear-gradient(top, #80c846 0%, #6dae38 100%);background:-ms-linear-gradient(top, #80c846 0%, #6dae38 100%);background:linear-gradient(top, #80c846 0%, #6dae38 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#80c846', endColorstr='#6dae38',GradientType=0 );box-shadow:inset 0 -1px 1px #80c846;text-align:center;color:#fff;text-shadow:-1px -1px 0 #6dae38;}#top nav .versions span{padding:0 4px;position:absolute;}#top nav .versions span:before{content:"⬍";color:rgba(0, 0, 0, 0.4);text-shadow:1px 1px 0 #80c846;margin-right:4px;} -#top nav .versions select{opacity:0;position:relative;z-index:9;} -#top .follow{display:inline-block;border:1px solid #6dae38;border-radius:3px;background:#80c846;background:-moz-linear-gradient(top, #80c846 0%, #6dae38 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #80c846), color-stop(100%, #6dae38));background:-webkit-linear-gradient(top, #80c846 0%, #6dae38 100%);background:-o-linear-gradient(top, #80c846 0%, #6dae38 100%);background:-ms-linear-gradient(top, #80c846 0%, #6dae38 100%);background:linear-gradient(top, #80c846 0%, #6dae38 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#80c846', endColorstr='#6dae38',GradientType=0 );box-shadow:inset 0 -1px 1px #80c846;text-align:center;vertical-align:middle;color:#fff;text-shadow:-1px -1px 0 #6dae38;padding:4px 8px;text-decoration:none;position:absolute;top:41px;left:50%;margin-left:210px;width:250px;}#top .follow:before{vertical-align:middle;content:url(/assets/images/twitter.png);margin-right:10px;} -#top input{width:80px;-webkit-transition:width 200ms ease-in-out;-moz-transition:width 200ms ease-in-out;}#top input:focus{width:200px;} -#title{width:500px;float:left;font-size:17px;color:#2d6201;} -#quicklinks{width:350px;margin:-15px 0 0 0;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;float:right;padding:30px;background:#fff;color:#888;box-shadow:0 3px 5px rgba(0, 0, 0, 0.2);}#quicklinks h2{color:#80c846;font-size:20px;margin-top:15px;padding:10px 0 5px 0;border-top:1px solid #eee;}#quicklinks h2:first-child{margin:0;padding:0 0 5px 0;border:0;} -#quicklinks p{margin:0;} -#quicklinks a{color:#444;}#quicklinks a:hover{color:#222;} -.tweet{border-bottom:1px solid #eee;padding:6px 0 20px 60px;position:relative;min-height:50px;margin-bottom:20px;}.tweet img{position:absolute;left:0;top:8px;} -.tweet strong{font-size:14px;font-weight:bold;} -.tweet span{font-size:12px;color:#888;} -.tweet p{padding:0;margin:5px 0 0 0;} -footer{padding:40px 0;background:#363736;background:#eee;border-top:1px solid #e5e5e5;color:#aaa;position:relative;}footer .logo{position:absolute;top:55px;left:50%;margin-left:-480px;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);} -footer:after{content:" ";display:block;clear:both;} -footer .links{width:960px;margin:0 auto;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;margin:0 auto;padding-left:200px;}footer .links:after{content:" ";display:block;clear:both;} -footer .links dl{width:33%;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;padding:0 10px;float:left;} -footer .links dt{color:#80c846;font-weight:bold;} -footer .links a{color:#aaa;text-decoration:none;}footer .links a:hover{color:#888;} -footer .licence{width:960px;margin:0 auto;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;margin:20px auto 0;padding-top:20px;border-top:2px solid #ddd;font-size:12px;}footer .licence:after{content:" ";display:block;clear:both;} -footer .licence a{color:#999;} -div.coreteam{position:relative;min-height:80px;border-bottom:1px solid #eee;}div.coreteam img{width:50px;position:absolute;left:0;top:0;padding:2px;border:1px solid #ddd;} -div.coreteam a{color:inherit;text-decoration:none;} -div.coreteam h2{padding-left:70px;border:none;font-size:20px;} -div.coreteam p{margin-top:5px;padding-left:70px;} -ul.contributors{padding:0;margin:0;list-style:none;}ul.contributors li{padding:6px 0 !important;margin:0;}ul.contributors li:before{content:' ';} -ul.contributors img{width:25px;padding:1px;border:1px solid #ddd;margin-right:5px;vertical-align:middle;} -ul.contributors a{color:inherit;text-decoration:none;} -ul.contributors span{font-weight:bold;color:#666;} -ul.contributors.others li{display:inline-block;width:32.3333%;} -div.list{float:left;width:33.3333%;margin-bottom:30px;} -h2{clear:both;} -span.by{font-size:14px;font-weight:normal;} -form dl{padding:10px 0;} -dd.info{color:#888;font-size:12px;} -dd.error{color:#c00;} -aside a[href^="http"]:after,.doc a[href^="http"]:after{content:url(/assets/images/external.png);vertical-align:middle;margin-left:5px;} diff --git a/play-scala-telemetry-example/LICENSE b/play-scala-telemetry-example/LICENSE deleted file mode 100644 index 670154e35..000000000 --- a/play-scala-telemetry-example/LICENSE +++ /dev/null @@ -1,116 +0,0 @@ -CC0 1.0 Universal - -Statement of Purpose - -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator and -subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). - -Certain owners wish to permanently relinquish those rights to a Work for the -purpose of contributing to a commons of creative, cultural and scientific -works ("Commons") that the public can reliably and without fear of later -claims of infringement build upon, modify, incorporate in other works, reuse -and redistribute as freely as possible in any form whatsoever and for any -purposes, including without limitation commercial purposes. These owners may -contribute to the Commons to promote the ideal of a free culture and the -further production of creative, cultural and scientific works, or to gain -reputation or greater distribution for their Work in part through the use and -efforts of others. - -For these and/or other purposes and motivations, and without any expectation -of additional consideration or compensation, the person associating CC0 with a -Work (the "Affirmer"), to the extent that he or she is an owner of Copyright -and Related Rights in the Work, voluntarily elects to apply CC0 to the Work -and publicly distribute the Work under its terms, with knowledge of his or her -Copyright and Related Rights in the Work and the meaning and intended legal -effect of CC0 on those rights. - -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not limited -to, the following: - - i. the right to reproduce, adapt, distribute, perform, display, communicate, - and translate a Work; - - ii. moral rights retained by the original author(s) and/or performer(s); - - iii. publicity and privacy rights pertaining to a person's image or likeness - depicted in a Work; - - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - - v. rights protecting the extraction, dissemination, use and reuse of data in - a Work; - - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation thereof, - including any amended or successor version of such directive); and - - vii. other similar, equivalent or corresponding rights throughout the world - based on applicable law or treaty, and any national implementations thereof. - -2. Waiver. To the greatest extent permitted by, but not in contravention of, -applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and -unconditionally waives, abandons, and surrenders all of Affirmer's Copyright -and Related Rights and associated claims and causes of action, whether now -known or unknown (including existing as well as future claims and causes of -action), in the Work (i) in all territories worldwide, (ii) for the maximum -duration provided by applicable law or treaty (including future time -extensions), (iii) in any current or future medium and for any number of -copies, and (iv) for any purpose whatsoever, including without limitation -commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes -the Waiver for the benefit of each member of the public at large and to the -detriment of Affirmer's heirs and successors, fully intending that such Waiver -shall not be subject to revocation, rescission, cancellation, termination, or -any other legal or equitable action to disrupt the quiet enjoyment of the Work -by the public as contemplated by Affirmer's express Statement of Purpose. - -3. Public License Fallback. Should any part of the Waiver for any reason be -judged legally invalid or ineffective under applicable law, then the Waiver -shall be preserved to the maximum extent permitted taking into account -Affirmer's express Statement of Purpose. In addition, to the extent the Waiver -is so judged Affirmer hereby grants to each affected person a royalty-free, -non transferable, non sublicensable, non exclusive, irrevocable and -unconditional license to exercise Affirmer's Copyright and Related Rights in -the Work (i) in all territories worldwide, (ii) for the maximum duration -provided by applicable law or treaty (including future time extensions), (iii) -in any current or future medium and for any number of copies, and (iv) for any -purpose whatsoever, including without limitation commercial, advertising or -promotional purposes (the "License"). The License shall be deemed effective as -of the date CC0 was applied by Affirmer to the Work. Should any part of the -License for any reason be judged legally invalid or ineffective under -applicable law, such partial invalidity or ineffectiveness shall not -invalidate the remainder of the License, and in such case Affirmer hereby -affirms that he or she will not (i) exercise any of his or her remaining -Copyright and Related Rights in the Work or (ii) assert any associated claims -and causes of action with respect to the Work, in either case contrary to -Affirmer's express Statement of Purpose. - -4. Limitations and Disclaimers. - - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - - b. Affirmer offers the Work as-is and makes no representations or warranties - of any kind concerning the Work, express, implied, statutory or otherwise, - including without limitation warranties of title, merchantability, fitness - for a particular purpose, non infringement, or the absence of latent or - other defects, accuracy, or the present or absence of errors, whether or not - discoverable, all to the greatest extent permissible under applicable law. - - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without limitation - any person's Copyright and Related Rights in the Work. Further, Affirmer - disclaims responsibility for obtaining any necessary consents, permissions - or other rights required for any use of the Work. - - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to this - CC0 or use of the Work. - -For more information, please see - diff --git a/play-scala-telemetry-example/NOTICE b/play-scala-telemetry-example/NOTICE deleted file mode 100644 index ad85263cf..000000000 --- a/play-scala-telemetry-example/NOTICE +++ /dev/null @@ -1,6 +0,0 @@ -To the extent possible under law, the author(s) have dedicated all copyright and -related and neighboring rights to this software to the public domain worldwide. -This software is distributed without any warranty. - -You should have received a copy of the CC0 Public Domain Dedication along with -this software. If not, see . diff --git a/play-scala-telemetry-example/README.md b/play-scala-telemetry-example/README.md deleted file mode 100644 index eb4d68237..000000000 --- a/play-scala-telemetry-example/README.md +++ /dev/null @@ -1,13 +0,0 @@ -# play-java-telemetry-example - -This is a variant of the starter application that shows how integrate Lightbend Telemetry into Play. Please see the documentation at https://developer.lightbend.com/docs/telemetry/current/getting-started/play_sbt.html for more details. - -## Running - -Run this using [sbt](http://www.scala-sbt.org/). If you downloaded this project from http://www.playframework.com/download then you'll find a prepackaged version of sbt in the project directory: - -``` -sbt runProd -``` - -And then go to http://localhost:9000 to see the running web application. diff --git a/play-scala-telemetry-example/app/Module.scala b/play-scala-telemetry-example/app/Module.scala deleted file mode 100644 index ca0e39f72..000000000 --- a/play-scala-telemetry-example/app/Module.scala +++ /dev/null @@ -1,28 +0,0 @@ -import com.google.inject.AbstractModule -import java.time.Clock - -import services.{ApplicationTimer, AtomicCounter, Counter} - -/** - * This class is a Guice module that tells Guice how to bind several - * different types. This Guice module is created when the Play - * application starts. - - * Play will automatically use any class called `Module` that is in - * the root package. You can create modules in other locations by - * adding `play.modules.enabled` settings to the `application.conf` - * configuration file. - */ -class Module extends AbstractModule { - - override def configure() = { - // Use the system clock as the default implementation of Clock - bind(classOf[Clock]).toInstance(Clock.systemDefaultZone) - // Ask Guice to create an instance of ApplicationTimer when the - // application starts. - bind(classOf[ApplicationTimer]).asEagerSingleton() - // Set AtomicCounter as the implementation for Counter. - bind(classOf[Counter]).to(classOf[AtomicCounter]) - } - -} diff --git a/play-scala-telemetry-example/app/controllers/AsyncController.scala b/play-scala-telemetry-example/app/controllers/AsyncController.scala deleted file mode 100644 index add861e72..000000000 --- a/play-scala-telemetry-example/app/controllers/AsyncController.scala +++ /dev/null @@ -1,49 +0,0 @@ -package controllers - -import javax.inject._ - -import org.apache.pekko.actor.ActorSystem -import play.api.mvc._ - -import scala.concurrent.duration._ -import scala.concurrent.{ExecutionContext, Future, Promise} - -/** - * This controller creates an `Action` that demonstrates how to write - * simple asynchronous code in a controller. It uses a timer to - * asynchronously delay sending a response for 1 second. - * - * @param cc standard controller components - * @param actorSystem We need the `ActorSystem`'s `Scheduler` to - * run code after a delay. - * @param exec We need an `ExecutionContext` to execute our - * asynchronous code. When rendering content, you should use Play's - * default execution context, which is dependency injected. If you are - * using blocking operations, such as database or network access, then you should - * use a different custom execution context that has a thread pool configured for - * a blocking API. - */ -@Singleton -class AsyncController @Inject()(cc: ControllerComponents, actorSystem: ActorSystem)(implicit exec: ExecutionContext) extends AbstractController(cc) { - - /** - * Creates an Action that returns a plain text message after a delay - * of 1 second. - * - * The configuration in the `routes` file means that this method - * will be called when the application receives a `GET` request with - * a path of `/message`. - */ - def message = Action.async { - getFutureMessage(1.second).map { msg => Ok(msg) } - } - - private def getFutureMessage(delayTime: FiniteDuration): Future[String] = { - val promise: Promise[String] = Promise[String]() - actorSystem.scheduler.scheduleOnce(delayTime) { - promise.success("Hi!") - }(actorSystem.dispatcher) // run scheduled tasks using the actor system's dispatcher - promise.future - } - -} diff --git a/play-scala-telemetry-example/app/controllers/CountController.scala b/play-scala-telemetry-example/app/controllers/CountController.scala deleted file mode 100644 index 366b7d682..000000000 --- a/play-scala-telemetry-example/app/controllers/CountController.scala +++ /dev/null @@ -1,24 +0,0 @@ -package controllers - -import javax.inject._ -import play.api.mvc._ -import services.Counter - -/** - * This controller demonstrates how to use dependency injection to - * bind a component into a controller class. The class creates an - * `Action` that shows an incrementing count to users. The Counter - * object is injected by the Guice dependency injection system. - */ -@Singleton -class CountController @Inject() (cc: ControllerComponents, - counter: Counter) extends AbstractController(cc) { - - /** - * Create an action that responds with the Counter's current - * count. The result is plain text. This `Action` is mapped to - * `GET /count` requests by an entry in the `routes` config file. - */ - def count = Action { Ok(counter.nextCount().toString) } - -} diff --git a/play-scala-telemetry-example/app/controllers/HomeController.scala b/play-scala-telemetry-example/app/controllers/HomeController.scala deleted file mode 100644 index e6af3d5dd..000000000 --- a/play-scala-telemetry-example/app/controllers/HomeController.scala +++ /dev/null @@ -1,25 +0,0 @@ -package controllers - -import javax.inject._ - -import play.api.mvc._ - -/** - * This controller creates an `Action` to handle HTTP requests to the - * application's home page. - */ -@Singleton -class HomeController @Inject()(cc: ControllerComponents) (implicit assetsFinder: AssetsFinder) - extends AbstractController(cc) { - - /** - * Create an Action to render an HTML page with a welcome message. - * The configuration in the `routes` file means that this method - * will be called when the application receives a `GET` request with - * a path of `/`. - */ - def index = Action { - Ok(views.html.index("Your new application is ready.")) - } - -} diff --git a/play-scala-telemetry-example/app/filters/ExampleFilter.scala b/play-scala-telemetry-example/app/filters/ExampleFilter.scala deleted file mode 100644 index 6231ea0ab..000000000 --- a/play-scala-telemetry-example/app/filters/ExampleFilter.scala +++ /dev/null @@ -1,23 +0,0 @@ -package filters - -import javax.inject._ -import play.api.mvc._ - -import scala.concurrent.ExecutionContext - -/** - * This is a simple filter that adds a header to all requests. It's - * added to the application's list of filters by the - * Filters class. - * - * @param ec This class is needed to execute code asynchronously. - * It is used below by the `map` method. - */ -@Singleton -class ExampleFilter @Inject()(implicit ec: ExecutionContext) extends EssentialFilter { - override def apply(next: EssentialAction) = EssentialAction { request => - next(request).map { result => - result.withHeaders("X-ExampleFilter" -> "foo") - } - } -} \ No newline at end of file diff --git a/play-scala-telemetry-example/app/services/ApplicationTimer.scala b/play-scala-telemetry-example/app/services/ApplicationTimer.scala deleted file mode 100644 index 326556fe8..000000000 --- a/play-scala-telemetry-example/app/services/ApplicationTimer.scala +++ /dev/null @@ -1,43 +0,0 @@ -package services - -import java.time.Clock -import java.time.Instant - -import javax.inject._ -import play.api.inject.ApplicationLifecycle - -import scala.concurrent.Future - -/** - * This class demonstrates how to run code when the - * application starts and stops. It starts a timer when the - * application starts. When the application stops it prints out how - * long the application was running for. - * - * This class is registered for Guice dependency injection in the - * [[Module]] class. We want the class to start when the application - * starts, so it is registered as an "eager singleton". See the code - * in the [[Module]] class to see how this happens. - * - * This class needs to run code when the server stops. It uses the - * application's ApplicationLifecycle to register a stop hook. - */ -@Singleton -class ApplicationTimer @Inject() (clock: Clock, appLifecycle: ApplicationLifecycle) { - - private val logger = org.slf4j.LoggerFactory.getLogger(classOf[ApplicationTimer]) - - // This code is called when the application starts. - private val start: Instant = clock.instant - logger.info(s"ApplicationTimer demo: Starting application at $start.") - - // When the application starts, register a stop hook with the - // ApplicationLifecycle object. The code inside the stop hook will - // be run when the application stops. - appLifecycle.addStopHook { () => - val stop: Instant = clock.instant - val runningTime: Long = stop.getEpochSecond - start.getEpochSecond - logger.info(s"ApplicationTimer demo: Stopping application at ${clock.instant} after ${runningTime}s.") - Future.successful(()) - } -} diff --git a/play-scala-telemetry-example/app/services/Counter.scala b/play-scala-telemetry-example/app/services/Counter.scala deleted file mode 100644 index fe19334ee..000000000 --- a/play-scala-telemetry-example/app/services/Counter.scala +++ /dev/null @@ -1,29 +0,0 @@ -package services - -import java.util.concurrent.atomic.AtomicInteger -import javax.inject._ - -/** - * This trait demonstrates how to create a component that is injected - * into a controller. The trait represents a counter that returns a - * incremented number each time it is called. - */ -trait Counter { - def nextCount(): Int -} - -/** - * This class is a concrete implementation of the [[Counter]] trait. - * It is configured for Guice dependency injection in the [[Module]] - * class. - * - * This class has a `Singleton` annotation because we need to make - * sure we only use one counter per application. Without this - * annotation we would get a new instance every time a [[Counter]] is - * injected. - */ -@Singleton -class AtomicCounter extends Counter { - private val atomicCounter = new AtomicInteger() - override def nextCount(): Int = atomicCounter.getAndIncrement() -} diff --git a/play-scala-telemetry-example/app/views/index.scala.html b/play-scala-telemetry-example/app/views/index.scala.html deleted file mode 100644 index d28843003..000000000 --- a/play-scala-telemetry-example/app/views/index.scala.html +++ /dev/null @@ -1,20 +0,0 @@ -@* - * This template takes a two arguments, a String containing a - * message to display and an AssetsFinder to locate static assets. - *@ -@(message: String)(implicit assetsFinder: AssetsFinder) - -@* - * Call the `main` template with two arguments. The first - * argument is a `String` with the title of the page, the second - * argument is an `Html` object containing the body of the page. - *@ -@main("Welcome to Play", assetsFinder) { - - @* - * Get an `Html` object by calling the built-in Play welcome - * template and passing a `String` message. - *@ - @welcome(message, style = "scala") - -} diff --git a/play-scala-telemetry-example/app/views/main.scala.html b/play-scala-telemetry-example/app/views/main.scala.html deleted file mode 100644 index 2351072fc..000000000 --- a/play-scala-telemetry-example/app/views/main.scala.html +++ /dev/null @@ -1,24 +0,0 @@ -@* - * This template is called from the `index` template. This template - * handles the rendering of the page header and body tags. It takes - * three arguments, a `String` for the title of the page and an `Html` - * object to insert into the body of the page and an `AssetFinder` - * to define to reverse route static assets. - *@ -@(title: String, assetsFinder: AssetsFinder)(content: Html) - - - - - @* Here's where we render the page title `String`. *@ - @title - - - - - - @* And here's where we render the `Html` object containing - * the page content. *@ - @content - - diff --git a/play-scala-telemetry-example/app/views/welcome.scala.html b/play-scala-telemetry-example/app/views/welcome.scala.html deleted file mode 100644 index 7b7b4426d..000000000 --- a/play-scala-telemetry-example/app/views/welcome.scala.html +++ /dev/null @@ -1,164 +0,0 @@ -@(message: String, style: String = "scala") - -@defining(play.core.PlayVersion.current) { version => - -
-
-

@message

-
-
- -
-
- -

Welcome to Play

- -

- Congratulations, you’ve just created a new Play application. This page will help you with the next few steps. -

- -
-

- You’re using Play @version -

-
- -

Why do you see this page?

- -

- The conf/routes file defines a route that tells Play to invoke the HomeController.index action - whenever a browser requests the / URI using the GET method: -

- -
# Home page
-GET     /               controllers.HomeController.index
- -

- Play has invoked the controllers.HomeController.index method to obtain the Action to execute: -

- -
def index = Action {
-  Ok(views.html.index("Your new application is ready."))
-}
- -

- An action is a function that handles the incoming HTTP request, and returns the HTTP result to send back to the web client. - Here we send a 200 OK response, using a template to fill its content. -

- -

- The template is defined in the app/views/index.scala.html file and compiled as a Scala function. -

- -
@@(message: String)
-
-@@main("Welcome to Play") {
-
-    @@welcome(message, style = "scala")
-
-}
- -

- The first line of the template defines the function signature. Here it just takes a single String parameter. - This template then calls another function defined in app/views/main.scala.html, which displays the HTML - layout, and another function that displays this welcome message. You can freely add any HTML fragment mixed with Scala - code in this file. -

- -

You can read more about Twirl, the template language used by Play, and how Play handles actions.

- -

Async Controller

- - Now that you've seen how Play renders a page, take a look at AsyncController.scala, which shows how to do asynchronous programming when handling a request. The code is almost exactly the same as HomeController.scala, but instead of returning Result, the action returns Future[String] to Play. When the execution completes, Play can use a thread to render the result without blocking the thread in the mean time. - -

- Click here for the AsyncController action! -

- -

- You can read more about asynchronous actions in the documentation. -

- -

Count Controller

- -

- Both the HomeController and AsyncController are very simple, and typically controllers present the results of the interaction of several services. As an example, see the CountController, which shows how to inject a component into a controller and use the component when handling requests. The count controller increments every time you refresh the page, so keep refreshing to see the numbers go up. -

- -

- Click here for the CountController action! -

- -

- You can read more about dependency injection in the documentation. -

- -

Need more info on the console?

- -

- For more information on the various commands you can run on Play, i.e. running tests and packaging applications for production, see Using the Play console. -

- -

Need to set up an IDE?

- -

- You can start hacking your application right now using any text editor. Any changes will be automatically reloaded at each page refresh, - including modifications made to Scala source files. -

- -

- If you want to set-up your application in IntelliJ IDEA or any other Java IDE, check the - Setting up your preferred IDE page. -

- -

Need more documentation?

- -

- Play documentation is available at https://www.playframework.com/documentation. -

- -

- Play comes with lots of example templates showcasing various bits of Play functionality at https://www.playframework.com/download#examples. -

- -

Need more help?

- -

- Play questions are asked and answered on Stackoverflow using the "playframework" tag: https://stackoverflow.com/questions/tagged/playframework -

- -

- The Play Forum is where Play users come to seek help, - announce projects, and discuss issues and new features. -

- -

- Discord is a real time chat channel, like IRC. The playframework channel is used by Play users to discuss the ins and outs of writing great Play applications. -

- -
- - - -
-} diff --git a/play-scala-telemetry-example/build.sbt b/play-scala-telemetry-example/build.sbt deleted file mode 100644 index c4251924d..000000000 --- a/play-scala-telemetry-example/build.sbt +++ /dev/null @@ -1,23 +0,0 @@ -lazy val root = (project in file(".")) - .enablePlugins(PlayScala, Cinnamon) - .settings( - name := """play-scala-telemetry-example""", - version := "1.0-SNAPSHOT", - crossScalaVersions := Seq("2.13.12", "3.3.1"), - scalaVersion := crossScalaVersions.value.head, - libraryDependencies ++= Seq( - guice, - "com.h2database" % "h2" % "2.2.224", - "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0" % Test - ), - scalacOptions ++= Seq( - "-feature", - "-Werror" - ) - ).settings( - libraryDependencies ++= Seq( - Cinnamon.library.cinnamonCHMetrics, // only needed to use the Console reporter - Cinnamon.library.cinnamonPlay - ) - ) - diff --git a/play-scala-telemetry-example/conf/application.conf b/play-scala-telemetry-example/conf/application.conf deleted file mode 100644 index 50ff9ba73..000000000 --- a/play-scala-telemetry-example/conf/application.conf +++ /dev/null @@ -1,47 +0,0 @@ -play.http.secret.key = "sdfgclhlgjkghsdhgjshfghsdlfghsl" - -play.i18n { - langs = [ "en" ] -} - -play.filters { - enabled += filters.ExampleFilter - hosts { - allowed = ["localhost:9000"] - } -} - - - -cinnamon.application = "hello-play-telemetry" - -cinnamon.play.http { - - // Create server metrics for all servers and all paths - servers { - "*:*" { - paths { - "*" { - metrics = on - } - } - } - } - - // Create client metrics for all servers and all paths - clients { - "*:*" { - paths { - "*" { - metrics = on - } - } - } - } -} - -cinnamon.chmetrics { - reporters += console-reporter -} - - diff --git a/play-scala-telemetry-example/conf/logback.xml b/play-scala-telemetry-example/conf/logback.xml deleted file mode 100644 index 93ee4d9de..000000000 --- a/play-scala-telemetry-example/conf/logback.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - ${application.home:-.}/logs/application.log - - %date [%level] from %logger in %thread - %message%n%xException - - - - - - %highlight(%-5level) %logger{15} - %message%n%xException{10} - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/play-scala-telemetry-example/conf/routes b/play-scala-telemetry-example/conf/routes deleted file mode 100644 index 706aea95a..000000000 --- a/play-scala-telemetry-example/conf/routes +++ /dev/null @@ -1,13 +0,0 @@ -# Routes -# This file defines all application routes (Higher priority routes first) -# ~~~~ - -# An example controller showing a sample home page -GET / controllers.HomeController.index -# An example controller showing how to use dependency injection -GET /count controllers.CountController.count -# An example controller showing how to write asynchronous code -GET /message controllers.AsyncController.message - -# Map static resources from the /public folder to the /assets URL path -GET /assets/*file controllers.Assets.versioned(file) diff --git a/play-scala-telemetry-example/project/build.properties b/play-scala-telemetry-example/project/build.properties deleted file mode 100644 index e8a1e246e..000000000 --- a/play-scala-telemetry-example/project/build.properties +++ /dev/null @@ -1 +0,0 @@ -sbt.version=1.9.7 diff --git a/play-scala-telemetry-example/project/plugins.sbt b/play-scala-telemetry-example/project/plugins.sbt deleted file mode 100644 index 7524fadc4..000000000 --- a/play-scala-telemetry-example/project/plugins.sbt +++ /dev/null @@ -1,9 +0,0 @@ -// The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") - -addSbtPlugin("com.lightbend.cinnamon" % "sbt-cinnamon" % "2.17.3") - -credentials += Credentials(Path.userHome / ".lightbend" / "commercial.credentials") - -resolvers += Resolver.url("lightbend-commercial", - url("https://repo.lightbend.com/commercial-releases"))(Resolver.ivyStylePatterns) diff --git a/play-scala-telemetry-example/public/images/external.png b/play-scala-telemetry-example/public/images/external.png deleted file mode 100644 index 18932b7bbf787430d058f449cafb9db0105ab162..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&k$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1GJ3L(+Ln>}1{rUgjo>{Np+nbx89ZoSs_ONQ4;9p|Su#tJz zFNPI2SQWw=IE@|#%t^?}*(12hlkq5<%2Dfv3Tpv*7Oj08TP)>H#5FAW#^_&^eh>!H~1R{`OTWHT0s4W#)78&qol`;+0AQP9F8}}l diff --git a/play-scala-telemetry-example/public/images/favicon.png b/play-scala-telemetry-example/public/images/favicon.png deleted file mode 100644 index c7d92d2ae47434d9a61c90bc205e099b673b9dd5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 687 zcmV;g0#N;lP)ezT{T_ZJ?}AL z5NC{NW(ESID=>(O3&Eg8 zmA9J&6c`h4_f6L;=bU>_H8aNG`kfvCj9zomNt)?O;rzWqZs0LEt%1WB218%1fo9uB zsW^yhBR7C(mqN%GEK9&msg0~ zWY?#bf4q8G-~2KttQZ($odJvy&_-~f?9*ThK@fwR$U^1)p*8=_+^3BXx0$i1BC8XC zr21u6D5nVK&^!dOAw&|1E;qC3uFNj3*Jj#&%Oje@0D-nhfmM*o%^5f}-pxQ07(95H z3|LoV>V19w#rLgmRmtVy9!T3M3FUE3><0T8&b3yEsWcLW`0(=1+qsqc(k(ymBLK0h zK!6(6$7MX~M`-QA2$wk7n(7hhkJ}4Rwi-Vd(_ZFX1Yk7TXuB0IJYpo@kLb2G8m)E{ z`9v=!hi}fOytKckfN^C@6+Z*+MVI9-W_p@_3yyR#UYc0FTpD}i#k>c!wYCS)4v@E$ zchZCo=zV@)`v^$;V18ixdjFMY#q^2$wEX%{f(XD8POnsn$bpbClpC@hPxjzyO>pY|*pF3UU2tYcCN?rUk{Sskej70Mmu9vPwMYhO1m{AxAt(zqDT|0jP7FaX=6 V`?~}E4H^Id002ovPDHLkV1hC)G==~G diff --git a/play-scala-telemetry-example/public/images/header-pattern.png b/play-scala-telemetry-example/public/images/header-pattern.png deleted file mode 100644 index e117eb4332d99c0bcfa6836ab1da0f1599e043e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V6Od#Ih{( zJaZG%Q-e|yQz{EjrrH1%1$w$ThE&|D>A%f;z<`7KWA3%Hn-a~N+?*T(<-YPe*)^{H zX7_L!lkg_R?+hwg+dpXRj()O3h*ggBS+MoNPdSP=9-m=3e!#V0^%NHSrMtg!8ZfL* Ww^+jHmS7AtoWax8&t;ucLK6Vb^*gNq diff --git a/play-scala-telemetry-example/public/javascripts/hello.js b/play-scala-telemetry-example/public/javascripts/hello.js deleted file mode 100644 index 02ee13c7c..000000000 --- a/play-scala-telemetry-example/public/javascripts/hello.js +++ /dev/null @@ -1,3 +0,0 @@ -if (window.console) { - console.log("Welcome to your Play application's JavaScript!"); -} diff --git a/play-scala-telemetry-example/public/stylesheets/main.css b/play-scala-telemetry-example/public/stylesheets/main.css deleted file mode 100644 index 8c2cf47a4..000000000 --- a/play-scala-telemetry-example/public/stylesheets/main.css +++ /dev/null @@ -1,122 +0,0 @@ -html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;} -table{border-collapse:collapse;border-spacing:0;} -caption,th,td{text-align:left;font-weight:normal;} -form legend{display:none;} -blockquote:before,blockquote:after,q:before,q:after{content:"";} -blockquote,q{quotes:"" "";} -ol,ul{list-style:none;} -hr{display:none;visibility:hidden;} -:focus{outline:0;} -article{}article h1,article h2,article h3,article h4,article h5,article h6{color:#333;font-weight:bold;line-height:1.25;margin-top:1.3em;} -article h1 a,article h2 a,article h3 a,article h4 a,article h5 a,article h6 a{font-weight:inherit;color:#333;}article h1 a:hover,article h2 a:hover,article h3 a:hover,article h4 a:hover,article h5 a:hover,article h6 a:hover{color:#333;} -article h1{font-size:36px;margin:0 0 18px;border-bottom:4px solid #eee;} -article h2{font-size:25px;margin-bottom:9px;border-bottom:2px solid #eee;} -article h3{font-size:18px;margin-bottom:9px;} -article h4{font-size:15px;margin-bottom:3px;} -article h5{font-size:12px;font-weight:normal;margin-bottom:3px;} -article .subheader{color:#777;font-weight:300;margin-bottom:24px;} -article p{line-height:1.3em;margin:1em 0;} -article p img{margin:0;} -article p.lead{font-size:18px;font-size:1.8rem;line-height:1.5;} -article li>p:first-child{margin-top:0;} -article li>p:last-child{margin-bottom:0;} -article ul li,article ol li{position:relative;padding:4px 0 4px 14px;}article ul li ol,article ol li ol,article ul li ul,article ol li ul{margin-left:20px;} -article ul li:before,article ol li:before{position:absolute;top:8px;left:0;content:"►";color:#ccc;font-size:10px;margin-right:5px;} -article>ol{counter-reset:section;}article>ol li:before{color:#ccc;font-size:13px;} -article>ol>li{padding:6px 0 4px 20px;counter-reset:chapter;}article>ol>li:before{content:counter(section) ".";counter-increment:section;} -article>ol>li>ol>li{padding:6px 0 4px 30px;counter-reset:item;}article>ol>li>ol>li:before{content:counter(section) "." counter(chapter);counter-increment:chapter;} -article>ol>li>ol>li>ol>li{padding:6px 0 4px 40px;}article>ol>li>ol>li>ol>li:before{content:counter(section) "." counter(chapter) "." counter(item);counter-increment:item;} -article em,article i{font-style:italic;line-height:inherit;} -article strong,article b{font-weight:bold;line-height:inherit;} -article small{font-size:60%;line-height:inherit;} -article h1 small,article h2 small,article h3 small,article h4 small,article h5 small{color:#777;} -article hr{border:solid #ddd;border-width:1px 0 0;clear:both;margin:12px 0 18px;height:0;} -article abbr,article acronym{text-transform:uppercase;font-size:90%;color:#222;border-bottom:1px solid #ddd;cursor:help;} -article abbr{text-transform:none;} -article img{max-width:100%;} -article pre{margin:10px 0;border:1px solid #ddd;padding:10px;background:#fafafa;color:#666;overflow:auto;border-radius:5px;} -article code{background:#fafafa;color:#666;font-family:inconsolata, monospace;border:1px solid #ddd;border-radius:3px;height:4px;padding:0;} -article a code{color:#80c846;}article a code:hover{color:#6dae38;} -article pre code{border:0;background:inherit;border-radius:0;line-height:inherit;font-size:14px;} -article pre.prettyprint{border:1px solid #ddd;padding:10px;} -article blockquote,article blockquote p,article p.note{line-height:20px;color:#4c4742;} -article blockquote,article .note{margin:0 0 18px;padding:1px 20px;background:#fff7d6;}article blockquote li:before,article .note li:before{color:#e0bc6f;} -article blockquote code,article .note code{background:#f5d899;border:none;color:inherit;} -article blockquote a,article .note a{color:#6dae38;} -article blockquote pre,article .note pre{background:#F5D899 !important;color:#48484C !important;border:none !important;} -article p.note{padding:15px 20px;} -article table{width:100%;}article table td{padding:8px;} -article table tr{background:#F4F4F7;border-bottom:1px solid #eee;} -article table tr:nth-of-type(odd){background:#fafafa;} -article dl dt{font-weight:bold;} -article dl.tabbed{position:relative;} -article dl.tabbed dt{float:left;margin:0 5px 0 0;border:1px solid #ddd;padding:0 20px;line-height:2;border-radius: 5px 5px 0 0;} -article dl.tabbed dt a{display:block;height:30px;color:#333;text-decoration:none;} -article dl.tabbed dt.current{background: #f7f7f7;} -article dl.tabbed dd{position:absolute;width:100%;left:0;top:30px;} -article dl.tabbed dd pre{margin-top:0;border-top-left-radius:0;} -a{color:#80c846;}a:hover{color:#6dae38;} -p{margin:1em 0;} -h1{-webkit-font-smoothing:antialiased;} -h2{font-weight:bold;font-size:28px;} -hr{clear:both;margin:20px 0 25px 0;border:none;border-top:1px solid #444;visibility:visible;display:block;} -section{padding:50px 0;} -body{background:#f5f5f5;background:#fff;color:#555;font:15px "Helvetica Nueue",sans-serif;padding:0px 0 0px;} -.wrapper{width:960px;margin:0 auto;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;padding:60px 0;}.wrapper:after{content:" ";display:block;clear:both;} -.wrapper article{min-height:310px;width:650px;float:left;} -.wrapper aside{width:270px;float:right;}.wrapper aside ul{margin:2px 0 30px;}.wrapper aside ul a{display:block;padding:3px 0 3px 10px;margin:2px 0;border-left:4px solid #eee;}.wrapper aside ul a:hover{border-color:#80c846;} -.wrapper aside h3{font-size:18px;color:#333;font-weight:bold;line-height:2em;margin:9px 0;border-bottom:1px solid #eee;} -.wrapper aside.stick{position:fixed;right:50%;margin-right:-480px;top:120px;bottom:0;overflow:hidden;} -.half{width:50%;float:left;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;} -header{position:fixed;top:0;z-index:1000;width:100%;height:50px;line-height:50px;padding:30px 0;background:#fff;background:rgba(255, 255, 255, 0.95);border-bottom:1px solid #ccc;box-shadow:0 4px 0 rgba(0, 0, 0, 0.1);}header #logo{position:absolute;left:50%;margin-left:-480px;} -header nav{position:absolute;right:50%;margin-right:-480px;}header nav a{padding:0 10px 4px;font-size:21px;font-weight:500;text-decoration:none;} -header nav a.selected{border-bottom:3px solid #E9E9E9;} -header nav a.download{position:relative;background:#80c846;color:white;margin-left:10px;padding:5px 10px 2px;font-weight:700;border-radius:5px;box-shadow:0 3px 0 #6dae38;text-shadow:-1px -1px 0 rgba(0, 0, 0, 0.2);-webkit-transition:all 70ms ease-out;border:0;}header nav a.download:hover{box-shadow:0 3px 0 #6dae38,0 3px 4px rgba(0, 0, 0, 0.3);} -header nav a.download:active{box-shadow:0 1px 0 #6dae38;top:2px;-webkit-transition:none;} -#download,#getLogo{display:none;position:absolute;padding:5px 20px;width:200px;background:#000;background:rgba(0, 0, 0, 0.8);border-radius:5px;color:#999;line-height:15px;}#download a,#getLogo a{color:#ccc;text-decoration:none;}#download a:hover,#getLogo a:hover{color:#fff;} -#getLogo{text-align:center;}#getLogo h3{font-size:16px;color:#80c846;margin:0 0 15px;} -#getLogo figure{border-radius:3px;margin:5px 0;padding:5px;background:#fff;line-height:25px;width:80px;display:inline-block;}#getLogo figure a{color:#999;text-decoration:none;}#getLogo figure a:hover{color:#666;} -#download{top:85px;right:50%;margin-right:-480px;}#download .button{font-size:16px;color:#80c846;} -#getLogo{top:85px;left:50%;padding:20px;margin-left:-480px;}#getLogo ul{margin:5px 0;} -#getLogo li{margin:1px 0;} -#news{background:#f5f5f5;color:#999;font-size:17px;box-shadow:0 1px 0 rgba(0, 0, 0, 0.1);position:relative;z-index:2;padding:3px 0;}#news ul{box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;background:url(/assets/images/news.png) 10px center no-repeat;padding:19px 0 19px 60px;} -#content{padding:30px 0;} -#top{background:#80c846 url(/assets/images/header-pattern.png) fixed;box-shadow:0 -4px 0 rgba(0, 0, 0, 0.1) inset;padding:0;position:relative;}#top .wrapper{padding:30px 0;} -#top h1{float:left;color:#fff;font-size:35px;line-height:48px;text-shadow:2px 2px 0 rgba(0, 0, 0, 0.1);}#top h1 a{text-decoration:none;color:#fff;} -#top nav{float:right;margin-top:10px;line-height:25px;}#top nav .versions,#top nav form{float:left;margin:0 5px;} -#top nav .versions{height:25px;display:inline-block;border:1px solid #6dae38;border-radius:3px;background:#80c846;background:-moz-linear-gradient(top, #80c846 0%, #6dae38 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #80c846), color-stop(100%, #6dae38));background:-webkit-linear-gradient(top, #80c846 0%, #6dae38 100%);background:-o-linear-gradient(top, #80c846 0%, #6dae38 100%);background:-ms-linear-gradient(top, #80c846 0%, #6dae38 100%);background:linear-gradient(top, #80c846 0%, #6dae38 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#80c846', endColorstr='#6dae38',GradientType=0 );box-shadow:inset 0 -1px 1px #80c846;text-align:center;color:#fff;text-shadow:-1px -1px 0 #6dae38;}#top nav .versions span{padding:0 4px;position:absolute;}#top nav .versions span:before{content:"⬍";color:rgba(0, 0, 0, 0.4);text-shadow:1px 1px 0 #80c846;margin-right:4px;} -#top nav .versions select{opacity:0;position:relative;z-index:9;} -#top .follow{display:inline-block;border:1px solid #6dae38;border-radius:3px;background:#80c846;background:-moz-linear-gradient(top, #80c846 0%, #6dae38 100%);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #80c846), color-stop(100%, #6dae38));background:-webkit-linear-gradient(top, #80c846 0%, #6dae38 100%);background:-o-linear-gradient(top, #80c846 0%, #6dae38 100%);background:-ms-linear-gradient(top, #80c846 0%, #6dae38 100%);background:linear-gradient(top, #80c846 0%, #6dae38 100%);filter:progid:DXImageTransform.Microsoft.gradient( startColorstr='#80c846', endColorstr='#6dae38',GradientType=0 );box-shadow:inset 0 -1px 1px #80c846;text-align:center;vertical-align:middle;color:#fff;text-shadow:-1px -1px 0 #6dae38;padding:4px 8px;text-decoration:none;position:absolute;top:41px;left:50%;margin-left:210px;width:250px;}#top .follow:before{vertical-align:middle;content:url(/assets/images/twitter.png);margin-right:10px;} -#top input{width:80px;-webkit-transition:width 200ms ease-in-out;-moz-transition:width 200ms ease-in-out;}#top input:focus{width:200px;} -#title{width:500px;float:left;font-size:17px;color:#2d6201;} -#quicklinks{width:350px;margin:-15px 0 0 0;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;float:right;padding:30px;background:#fff;color:#888;box-shadow:0 3px 5px rgba(0, 0, 0, 0.2);}#quicklinks h2{color:#80c846;font-size:20px;margin-top:15px;padding:10px 0 5px 0;border-top:1px solid #eee;}#quicklinks h2:first-child{margin:0;padding:0 0 5px 0;border:0;} -#quicklinks p{margin:0;} -#quicklinks a{color:#444;}#quicklinks a:hover{color:#222;} -.tweet{border-bottom:1px solid #eee;padding:6px 0 20px 60px;position:relative;min-height:50px;margin-bottom:20px;}.tweet img{position:absolute;left:0;top:8px;} -.tweet strong{font-size:14px;font-weight:bold;} -.tweet span{font-size:12px;color:#888;} -.tweet p{padding:0;margin:5px 0 0 0;} -footer{padding:40px 0;background:#363736;background:#eee;border-top:1px solid #e5e5e5;color:#aaa;position:relative;}footer .logo{position:absolute;top:55px;left:50%;margin-left:-480px;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);} -footer:after{content:" ";display:block;clear:both;} -footer .links{width:960px;margin:0 auto;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;margin:0 auto;padding-left:200px;}footer .links:after{content:" ";display:block;clear:both;} -footer .links dl{width:33%;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;padding:0 10px;float:left;} -footer .links dt{color:#80c846;font-weight:bold;} -footer .links a{color:#aaa;text-decoration:none;}footer .links a:hover{color:#888;} -footer .licence{width:960px;margin:0 auto;box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;margin:20px auto 0;padding-top:20px;border-top:2px solid #ddd;font-size:12px;}footer .licence:after{content:" ";display:block;clear:both;} -footer .licence a{color:#999;} -div.coreteam{position:relative;min-height:80px;border-bottom:1px solid #eee;}div.coreteam img{width:50px;position:absolute;left:0;top:0;padding:2px;border:1px solid #ddd;} -div.coreteam a{color:inherit;text-decoration:none;} -div.coreteam h2{padding-left:70px;border:none;font-size:20px;} -div.coreteam p{margin-top:5px;padding-left:70px;} -ul.contributors{padding:0;margin:0;list-style:none;}ul.contributors li{padding:6px 0 !important;margin:0;}ul.contributors li:before{content:' ';} -ul.contributors img{width:25px;padding:1px;border:1px solid #ddd;margin-right:5px;vertical-align:middle;} -ul.contributors a{color:inherit;text-decoration:none;} -ul.contributors span{font-weight:bold;color:#666;} -ul.contributors.others li{display:inline-block;width:32.3333%;} -div.list{float:left;width:33.3333%;margin-bottom:30px;} -h2{clear:both;} -span.by{font-size:14px;font-weight:normal;} -form dl{padding:10px 0;} -dd.info{color:#888;font-size:12px;} -dd.error{color:#c00;} -aside a[href^="http"]:after,.doc a[href^="http"]:after{content:url(/assets/images/external.png);vertical-align:middle;margin-left:5px;} From 91ccdbe84b066e7fb51a4591c7a06ebd7300641e Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Tue, 19 Dec 2023 13:33:47 +0100 Subject: [PATCH 36/42] Play 3.0.1 --- play-java-chatroom-example/build.sbt | 2 +- play-java-chatroom-example/project/plugins.sbt | 2 +- play-java-compile-di-example/project/plugins.sbt | 2 +- play-java-dagger2-example/project/plugins.sbt | 2 +- play-java-ebean-example/project/plugins.sbt | 2 +- play-java-fileupload-example/project/plugins.sbt | 2 +- play-java-forms-example/project/plugins.sbt | 2 +- play-java-grpc-example/project/plugins.sbt | 2 +- play-java-hello-world-tutorial/project/plugins.sbt | 2 +- play-java-jpa-example/project/plugins.sbt | 2 +- play-java-pekko-cluster-example/project/plugins.sbt | 2 +- play-java-rest-api-example/project/plugins.sbt | 2 +- play-java-starter-example/project/plugins.sbt | 2 +- play-java-streaming-example/project/plugins.sbt | 2 +- play-java-websocket-example/build.sbt | 2 +- play-java-websocket-example/project/plugins.sbt | 2 +- play-scala-anorm-example/project/plugins.sbt | 2 +- play-scala-anorm-example/test/BrowserSpec.scala | 2 +- play-scala-chatroom-example/build.sbt | 2 +- play-scala-chatroom-example/project/plugins.sbt | 2 +- play-scala-compile-di-example/README.md | 2 +- play-scala-compile-di-example/project/plugins.sbt | 2 +- play-scala-fileupload-example/project/plugins.sbt | 2 +- play-scala-fileupload-example/test/browser/BrowserSpec.scala | 2 +- play-scala-forms-example/project/plugins.sbt | 2 +- play-scala-grpc-example/project/plugins.sbt | 2 +- play-scala-hello-world-tutorial/project/plugins.sbt | 2 +- play-scala-isolated-slick-example/project/plugins.sbt | 2 +- play-scala-log4j2-example/project/plugins.sbt | 2 +- play-scala-macwire-di-example/project/plugins.sbt | 2 +- play-scala-rest-api-example/project/plugins.sbt | 2 +- play-scala-secure-session-example/project/plugins.sbt | 2 +- play-scala-slick-example/project/plugins.sbt | 2 +- play-scala-starter-example/project/plugins.sbt | 2 +- play-scala-streaming-example/project/plugins.sbt | 2 +- play-scala-tls-example/project/plugins.sbt | 2 +- play-scala-websocket-example/project/plugins.sbt | 2 +- 37 files changed, 37 insertions(+), 37 deletions(-) diff --git a/play-java-chatroom-example/build.sbt b/play-java-chatroom-example/build.sbt index 0c5b90960..7b5e0fd9e 100644 --- a/play-java-chatroom-example/build.sbt +++ b/play-java-chatroom-example/build.sbt @@ -6,7 +6,7 @@ lazy val root = (project in file(".")) crossScalaVersions := Seq("2.13.12", "3.3.1"), scalaVersion := crossScalaVersions.value.head, libraryDependencies ++= Seq( - "org.webjars" %% "webjars-play" % "3.0.0", + "org.webjars" %% "webjars-play" % "3.0.1", "org.webjars" % "flot" % "0.8.3", "org.webjars" % "bootstrap" % "3.4.1", guice, diff --git a/play-java-chatroom-example/project/plugins.sbt b/play-java-chatroom-example/project/plugins.sbt index 21e2ea189..184612a8f 100644 --- a/play-java-chatroom-example/project/plugins.sbt +++ b/play-java-chatroom-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-java-compile-di-example/project/plugins.sbt b/play-java-compile-di-example/project/plugins.sbt index d862ba0ea..4aa6def11 100644 --- a/play-java-compile-di-example/project/plugins.sbt +++ b/play-java-compile-di-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-java-dagger2-example/project/plugins.sbt b/play-java-dagger2-example/project/plugins.sbt index 21e2ea189..184612a8f 100644 --- a/play-java-dagger2-example/project/plugins.sbt +++ b/play-java-dagger2-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-java-ebean-example/project/plugins.sbt b/play-java-ebean-example/project/plugins.sbt index 5270e2283..d8cda6a8b 100644 --- a/play-java-ebean-example/project/plugins.sbt +++ b/play-java-ebean-example/project/plugins.sbt @@ -1,4 +1,4 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") addSbtPlugin("org.playframework" % "sbt-play-ebean" % "8.0.0-M1") diff --git a/play-java-fileupload-example/project/plugins.sbt b/play-java-fileupload-example/project/plugins.sbt index 21e2ea189..184612a8f 100644 --- a/play-java-fileupload-example/project/plugins.sbt +++ b/play-java-fileupload-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-java-forms-example/project/plugins.sbt b/play-java-forms-example/project/plugins.sbt index 21e2ea189..184612a8f 100644 --- a/play-java-forms-example/project/plugins.sbt +++ b/play-java-forms-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-java-grpc-example/project/plugins.sbt b/play-java-grpc-example/project/plugins.sbt index 228926f31..64a2221ea 100644 --- a/play-java-grpc-example/project/plugins.sbt +++ b/play-java-grpc-example/project/plugins.sbt @@ -3,7 +3,7 @@ val playGrpcV = "0.9.1" buildInfoKeys := Seq[BuildInfoKey]("playGrpcVersion" -> playGrpcV) buildInfoPackage := "play.java.grpc.sample" -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.10.5") diff --git a/play-java-hello-world-tutorial/project/plugins.sbt b/play-java-hello-world-tutorial/project/plugins.sbt index d862ba0ea..4aa6def11 100644 --- a/play-java-hello-world-tutorial/project/plugins.sbt +++ b/play-java-hello-world-tutorial/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-java-jpa-example/project/plugins.sbt b/play-java-jpa-example/project/plugins.sbt index 502894cba..c3f4a7c38 100644 --- a/play-java-jpa-example/project/plugins.sbt +++ b/play-java-jpa-example/project/plugins.sbt @@ -1,5 +1,5 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") // Web plugins addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.2") diff --git a/play-java-pekko-cluster-example/project/plugins.sbt b/play-java-pekko-cluster-example/project/plugins.sbt index 21e2ea189..184612a8f 100644 --- a/play-java-pekko-cluster-example/project/plugins.sbt +++ b/play-java-pekko-cluster-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-java-rest-api-example/project/plugins.sbt b/play-java-rest-api-example/project/plugins.sbt index ed5e54046..4f5fd687a 100644 --- a/play-java-rest-api-example/project/plugins.sbt +++ b/play-java-rest-api-example/project/plugins.sbt @@ -1,5 +1,5 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") // Load testing tool: // http://gatling.io/docs/2.2.2/extensions/sbt_plugin.html diff --git a/play-java-starter-example/project/plugins.sbt b/play-java-starter-example/project/plugins.sbt index 21e2ea189..184612a8f 100644 --- a/play-java-starter-example/project/plugins.sbt +++ b/play-java-starter-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-java-streaming-example/project/plugins.sbt b/play-java-streaming-example/project/plugins.sbt index b2a6bbf28..79c8fbd47 100644 --- a/play-java-streaming-example/project/plugins.sbt +++ b/play-java-streaming-example/project/plugins.sbt @@ -1,2 +1,2 @@ // Use the Play sbt plugin for Play projects -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-java-websocket-example/build.sbt b/play-java-websocket-example/build.sbt index 983bb5261..bf498b719 100644 --- a/play-java-websocket-example/build.sbt +++ b/play-java-websocket-example/build.sbt @@ -10,7 +10,7 @@ lazy val root = (project in file(".")) libraryDependencies ++= Seq( guice, ws, - "org.webjars" %% "webjars-play" % "3.0.0", + "org.webjars" %% "webjars-play" % "3.0.1", "org.webjars" % "bootstrap" % "2.3.2", "org.webjars" % "flot" % "0.8.3", diff --git a/play-java-websocket-example/project/plugins.sbt b/play-java-websocket-example/project/plugins.sbt index fa310c379..83c3ef946 100644 --- a/play-java-websocket-example/project/plugins.sbt +++ b/play-java-websocket-example/project/plugins.sbt @@ -1,4 +1,4 @@ -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.1.2") diff --git a/play-scala-anorm-example/project/plugins.sbt b/play-scala-anorm-example/project/plugins.sbt index 21e2ea189..184612a8f 100644 --- a/play-scala-anorm-example/project/plugins.sbt +++ b/play-scala-anorm-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-scala-anorm-example/test/BrowserSpec.scala b/play-scala-anorm-example/test/BrowserSpec.scala index 212eb1d03..15044f765 100644 --- a/play-scala-anorm-example/test/BrowserSpec.scala +++ b/play-scala-anorm-example/test/BrowserSpec.scala @@ -4,7 +4,7 @@ import org.scalatestplus.play.guice.GuiceOneServerPerTest /** * Runs a browser based test against the application. * - * http://doc.scalatest.org/3.0.0/index.html#org.scalatest.selenium.WebBrowser + * http://doc.scalatest.org/3.0.1/index.html#org.scalatest.selenium.WebBrowser * http://www.scalatest.org/user_guide/using_selenium * https://www.playframework.com/documentation/latest/ScalaFunctionalTestingWithScalaTest#Testing-with-a-web-browser */ diff --git a/play-scala-chatroom-example/build.sbt b/play-scala-chatroom-example/build.sbt index c8d64815d..7a524b6ab 100644 --- a/play-scala-chatroom-example/build.sbt +++ b/play-scala-chatroom-example/build.sbt @@ -9,7 +9,7 @@ lazy val root = (project in file(".")) scalaVersion := crossScalaVersions.value.head, libraryDependencies ++= Seq( guice, - "org.webjars" %% "webjars-play" % "3.0.0", + "org.webjars" %% "webjars-play" % "3.0.1", "org.webjars" % "flot" % "0.8.3-1", "org.webjars" % "bootstrap" % "3.3.7-1", "net.logstash.logback" % "logstash-logback-encoder" % "7.3", diff --git a/play-scala-chatroom-example/project/plugins.sbt b/play-scala-chatroom-example/project/plugins.sbt index d862ba0ea..4aa6def11 100644 --- a/play-scala-chatroom-example/project/plugins.sbt +++ b/play-scala-chatroom-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-scala-compile-di-example/README.md b/play-scala-compile-di-example/README.md index 71c402561..f1bb4113d 100644 --- a/play-scala-compile-di-example/README.md +++ b/play-scala-compile-di-example/README.md @@ -52,5 +52,5 @@ class ServerSpec extends PlaySpec * [Compile Time Dependency Injection](https://www.playframework.com/documentation/latest/ScalaCompileTimeDependencyInjection) * [Using ScalaTest + Play](https://www.playframework.com/documentation/latest/ScalaTestingWithScalaTest#Using-ScalaTest-+-Play) * [ScalaTest User Guide](http://www.scalatest.org/user_guide) -* [ScalaTest/Scalactic 3.0.0 Release Notes](http://www.scalatest.org/release_notes/3.0.0) +* [ScalaTest/Scalactic 3.0.1 Release Notes](http://www.scalatest.org/release_notes/3.0.1) * [ScalaTest Plus Play](https://github.com/playframework/scalatestplus-play) diff --git a/play-scala-compile-di-example/project/plugins.sbt b/play-scala-compile-di-example/project/plugins.sbt index d862ba0ea..4aa6def11 100644 --- a/play-scala-compile-di-example/project/plugins.sbt +++ b/play-scala-compile-di-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-scala-fileupload-example/project/plugins.sbt b/play-scala-fileupload-example/project/plugins.sbt index 443168ec1..857405d5b 100644 --- a/play-scala-fileupload-example/project/plugins.sbt +++ b/play-scala-fileupload-example/project/plugins.sbt @@ -1,4 +1,4 @@ resolvers += Resolver.jcenterRepo // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-scala-fileupload-example/test/browser/BrowserSpec.scala b/play-scala-fileupload-example/test/browser/BrowserSpec.scala index e4fa2b7e9..ca22ed6fa 100644 --- a/play-scala-fileupload-example/test/browser/BrowserSpec.scala +++ b/play-scala-fileupload-example/test/browser/BrowserSpec.scala @@ -12,7 +12,7 @@ class BrowserSpec extends PlaySpec with GuiceOneServerPerSuite with OneBrowserPe val tmpPath = JFiles.createTempFile(null, null) writeFile(tmpPath, "hello") - // http://doc.scalatest.org/3.0.0/index.html#org.scalatest.selenium.WebBrowser + // http://doc.scalatest.org/3.0.1/index.html#org.scalatest.selenium.WebBrowser go to s"http://localhost:$port/" click on name("name") pressKeys(tmpPath.toAbsolutePath.toString) diff --git a/play-scala-forms-example/project/plugins.sbt b/play-scala-forms-example/project/plugins.sbt index d862ba0ea..4aa6def11 100644 --- a/play-scala-forms-example/project/plugins.sbt +++ b/play-scala-forms-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-scala-grpc-example/project/plugins.sbt b/play-scala-grpc-example/project/plugins.sbt index e980d24ca..3e7a3a7de 100644 --- a/play-scala-grpc-example/project/plugins.sbt +++ b/play-scala-grpc-example/project/plugins.sbt @@ -4,7 +4,7 @@ buildInfoKeys := Seq[BuildInfoKey]("playGrpcVersion" -> playGrpcV) buildInfoPackage := "play.scala.grpc.sample" -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.10.5") diff --git a/play-scala-hello-world-tutorial/project/plugins.sbt b/play-scala-hello-world-tutorial/project/plugins.sbt index d862ba0ea..4aa6def11 100644 --- a/play-scala-hello-world-tutorial/project/plugins.sbt +++ b/play-scala-hello-world-tutorial/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-scala-isolated-slick-example/project/plugins.sbt b/play-scala-isolated-slick-example/project/plugins.sbt index ad2d5fef3..f695ef523 100644 --- a/play-scala-isolated-slick-example/project/plugins.sbt +++ b/play-scala-isolated-slick-example/project/plugins.sbt @@ -9,4 +9,4 @@ addSbtPlugin("io.github.davidmweber" % "flyway-sbt" % "7.4.0") addSbtPlugin("com.github.tototoshi" % "sbt-slick-codegen" % "2.0.0") // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-scala-log4j2-example/project/plugins.sbt b/play-scala-log4j2-example/project/plugins.sbt index 21e2ea189..184612a8f 100644 --- a/play-scala-log4j2-example/project/plugins.sbt +++ b/play-scala-log4j2-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-scala-macwire-di-example/project/plugins.sbt b/play-scala-macwire-di-example/project/plugins.sbt index d862ba0ea..4aa6def11 100644 --- a/play-scala-macwire-di-example/project/plugins.sbt +++ b/play-scala-macwire-di-example/project/plugins.sbt @@ -1 +1 @@ -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-scala-rest-api-example/project/plugins.sbt b/play-scala-rest-api-example/project/plugins.sbt index 28d79bbeb..a27658040 100644 --- a/play-scala-rest-api-example/project/plugins.sbt +++ b/play-scala-rest-api-example/project/plugins.sbt @@ -1,5 +1,5 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") // sbt-paradox, used for documentation addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.10.5") diff --git a/play-scala-secure-session-example/project/plugins.sbt b/play-scala-secure-session-example/project/plugins.sbt index 21e2ea189..184612a8f 100644 --- a/play-scala-secure-session-example/project/plugins.sbt +++ b/play-scala-secure-session-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-scala-slick-example/project/plugins.sbt b/play-scala-slick-example/project/plugins.sbt index 21e2ea189..184612a8f 100644 --- a/play-scala-slick-example/project/plugins.sbt +++ b/play-scala-slick-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-scala-starter-example/project/plugins.sbt b/play-scala-starter-example/project/plugins.sbt index 21e2ea189..184612a8f 100644 --- a/play-scala-starter-example/project/plugins.sbt +++ b/play-scala-starter-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-scala-streaming-example/project/plugins.sbt b/play-scala-streaming-example/project/plugins.sbt index b2a6bbf28..79c8fbd47 100644 --- a/play-scala-streaming-example/project/plugins.sbt +++ b/play-scala-streaming-example/project/plugins.sbt @@ -1,2 +1,2 @@ // Use the Play sbt plugin for Play projects -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-scala-tls-example/project/plugins.sbt b/play-scala-tls-example/project/plugins.sbt index 21e2ea189..184612a8f 100644 --- a/play-scala-tls-example/project/plugins.sbt +++ b/play-scala-tls-example/project/plugins.sbt @@ -1,2 +1,2 @@ // The Play plugin -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") diff --git a/play-scala-websocket-example/project/plugins.sbt b/play-scala-websocket-example/project/plugins.sbt index bc1344d33..67b56c3c9 100644 --- a/play-scala-websocket-example/project/plugins.sbt +++ b/play-scala-websocket-example/project/plugins.sbt @@ -1,5 +1,5 @@ // Use the Play sbt plugin for Play projects -addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.0") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.1.2") From 4ab5a7d6ddb166e6528fa97d2d9276636e822959 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Tue, 19 Dec 2023 14:36:08 +0100 Subject: [PATCH 37/42] sbt 1.9.8 --- play-java-chatroom-example/project/build.properties | 2 +- play-java-compile-di-example/project/build.properties | 2 +- play-java-dagger2-example/project/build.properties | 2 +- play-java-ebean-example/project/build.properties | 2 +- play-java-fileupload-example/project/build.properties | 2 +- play-java-forms-example/project/build.properties | 2 +- play-java-grpc-example/project/build.properties | 2 +- play-java-hello-world-tutorial/project/build.properties | 2 +- play-java-jpa-example/project/build.properties | 2 +- play-java-pekko-cluster-example/project/build.properties | 2 +- play-java-rest-api-example/project/build.properties | 2 +- play-java-starter-example/project/build.properties | 2 +- play-java-streaming-example/project/build.properties | 2 +- play-java-websocket-example/project/build.properties | 2 +- play-scala-anorm-example/project/build.properties | 2 +- play-scala-chatroom-example/project/build.properties | 2 +- play-scala-compile-di-example/project/build.properties | 2 +- play-scala-fileupload-example/project/build.properties | 2 +- play-scala-forms-example/project/build.properties | 2 +- play-scala-grpc-example/project/build.properties | 2 +- play-scala-hello-world-tutorial/project/build.properties | 2 +- play-scala-isolated-slick-example/project/build.properties | 2 +- play-scala-log4j2-example/project/build.properties | 2 +- play-scala-macwire-di-example/project/build.properties | 2 +- play-scala-rest-api-example/project/build.properties | 2 +- play-scala-secure-session-example/project/build.properties | 2 +- play-scala-slick-example/project/build.properties | 2 +- play-scala-starter-example/project/build.properties | 2 +- play-scala-streaming-example/project/build.properties | 2 +- play-scala-tls-example/modules/one/project/build.properties | 2 +- play-scala-tls-example/modules/two/project/build.properties | 2 +- play-scala-tls-example/project/build.properties | 2 +- play-scala-websocket-example/project/build.properties | 2 +- 33 files changed, 33 insertions(+), 33 deletions(-) diff --git a/play-java-chatroom-example/project/build.properties b/play-java-chatroom-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-java-chatroom-example/project/build.properties +++ b/play-java-chatroom-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-java-compile-di-example/project/build.properties b/play-java-compile-di-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-java-compile-di-example/project/build.properties +++ b/play-java-compile-di-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-java-dagger2-example/project/build.properties b/play-java-dagger2-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-java-dagger2-example/project/build.properties +++ b/play-java-dagger2-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-java-ebean-example/project/build.properties b/play-java-ebean-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-java-ebean-example/project/build.properties +++ b/play-java-ebean-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-java-fileupload-example/project/build.properties b/play-java-fileupload-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-java-fileupload-example/project/build.properties +++ b/play-java-fileupload-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-java-forms-example/project/build.properties b/play-java-forms-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-java-forms-example/project/build.properties +++ b/play-java-forms-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-java-grpc-example/project/build.properties b/play-java-grpc-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-java-grpc-example/project/build.properties +++ b/play-java-grpc-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-java-hello-world-tutorial/project/build.properties b/play-java-hello-world-tutorial/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-java-hello-world-tutorial/project/build.properties +++ b/play-java-hello-world-tutorial/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-java-jpa-example/project/build.properties b/play-java-jpa-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-java-jpa-example/project/build.properties +++ b/play-java-jpa-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-java-pekko-cluster-example/project/build.properties b/play-java-pekko-cluster-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-java-pekko-cluster-example/project/build.properties +++ b/play-java-pekko-cluster-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-java-rest-api-example/project/build.properties b/play-java-rest-api-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-java-rest-api-example/project/build.properties +++ b/play-java-rest-api-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-java-starter-example/project/build.properties b/play-java-starter-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-java-starter-example/project/build.properties +++ b/play-java-starter-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-java-streaming-example/project/build.properties b/play-java-streaming-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-java-streaming-example/project/build.properties +++ b/play-java-streaming-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-java-websocket-example/project/build.properties b/play-java-websocket-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-java-websocket-example/project/build.properties +++ b/play-java-websocket-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-anorm-example/project/build.properties b/play-scala-anorm-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-anorm-example/project/build.properties +++ b/play-scala-anorm-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-chatroom-example/project/build.properties b/play-scala-chatroom-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-chatroom-example/project/build.properties +++ b/play-scala-chatroom-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-compile-di-example/project/build.properties b/play-scala-compile-di-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-compile-di-example/project/build.properties +++ b/play-scala-compile-di-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-fileupload-example/project/build.properties b/play-scala-fileupload-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-fileupload-example/project/build.properties +++ b/play-scala-fileupload-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-forms-example/project/build.properties b/play-scala-forms-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-forms-example/project/build.properties +++ b/play-scala-forms-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-grpc-example/project/build.properties b/play-scala-grpc-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-grpc-example/project/build.properties +++ b/play-scala-grpc-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-hello-world-tutorial/project/build.properties b/play-scala-hello-world-tutorial/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-hello-world-tutorial/project/build.properties +++ b/play-scala-hello-world-tutorial/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-isolated-slick-example/project/build.properties b/play-scala-isolated-slick-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-isolated-slick-example/project/build.properties +++ b/play-scala-isolated-slick-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-log4j2-example/project/build.properties b/play-scala-log4j2-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-log4j2-example/project/build.properties +++ b/play-scala-log4j2-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-macwire-di-example/project/build.properties b/play-scala-macwire-di-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-macwire-di-example/project/build.properties +++ b/play-scala-macwire-di-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-rest-api-example/project/build.properties b/play-scala-rest-api-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-rest-api-example/project/build.properties +++ b/play-scala-rest-api-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-secure-session-example/project/build.properties b/play-scala-secure-session-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-secure-session-example/project/build.properties +++ b/play-scala-secure-session-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-slick-example/project/build.properties b/play-scala-slick-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-slick-example/project/build.properties +++ b/play-scala-slick-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-starter-example/project/build.properties b/play-scala-starter-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-starter-example/project/build.properties +++ b/play-scala-starter-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-streaming-example/project/build.properties b/play-scala-streaming-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-streaming-example/project/build.properties +++ b/play-scala-streaming-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-tls-example/modules/one/project/build.properties b/play-scala-tls-example/modules/one/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-tls-example/modules/one/project/build.properties +++ b/play-scala-tls-example/modules/one/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-tls-example/modules/two/project/build.properties b/play-scala-tls-example/modules/two/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-tls-example/modules/two/project/build.properties +++ b/play-scala-tls-example/modules/two/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-tls-example/project/build.properties b/play-scala-tls-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-tls-example/project/build.properties +++ b/play-scala-tls-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 diff --git a/play-scala-websocket-example/project/build.properties b/play-scala-websocket-example/project/build.properties index e8a1e246e..abbbce5da 100644 --- a/play-scala-websocket-example/project/build.properties +++ b/play-scala-websocket-example/project/build.properties @@ -1 +1 @@ -sbt.version=1.9.7 +sbt.version=1.9.8 From 368ac272eea0411d03797520845fcbec43ecf07f Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Tue, 12 Dec 2023 14:48:11 +0100 Subject: [PATCH 38/42] play-java-streaming-example: Add csp nonce --- .../app/controllers/HomeController.java | 27 +++++++++++++++++++ .../app/controllers/HomeController.scala | 21 --------------- .../app/controllers/JavaCometController.java | 13 ++++----- .../JavaEventSourceController.java | 4 +-- .../app/views/index.scala.html | 2 +- .../app/views/javacomet.scala.html | 6 ++--- .../app/views/javaeventsource.scala.html | 4 +-- .../app/views/main.scala.html | 6 ++--- play-java-streaming-example/build.sbt | 5 ++++ play-java-streaming-example/conf/routes | 10 +++---- .../public/javascripts/eventsource.js | 2 +- 11 files changed, 56 insertions(+), 44 deletions(-) create mode 100644 play-java-streaming-example/app/controllers/HomeController.java delete mode 100644 play-java-streaming-example/app/controllers/HomeController.scala diff --git a/play-java-streaming-example/app/controllers/HomeController.java b/play-java-streaming-example/app/controllers/HomeController.java new file mode 100644 index 000000000..427c8d9b2 --- /dev/null +++ b/play-java-streaming-example/app/controllers/HomeController.java @@ -0,0 +1,27 @@ +package controllers; + +import javax.inject.Inject; + +import play.routing.*; + +import play.mvc.Controller; +import play.mvc.Http; +import play.mvc.Result; + +public class HomeController extends Controller { + + public Result index(final Http.Request request) { + return ok(views.html.index.render(request)); + } + + public Result javascriptRoutes(final Http.Request request) { + return ok( + JavaScriptReverseRouter.create( + "jsRoutes", + "jQuery.ajax", + request.host(), + routes.javascript.JavaEventSourceController.streamClock() + ) + ).as("text/javascript"); + } +} diff --git a/play-java-streaming-example/app/controllers/HomeController.scala b/play-java-streaming-example/app/controllers/HomeController.scala deleted file mode 100644 index 681186a51..000000000 --- a/play-java-streaming-example/app/controllers/HomeController.scala +++ /dev/null @@ -1,21 +0,0 @@ -package controllers - -import javax.inject.Inject - -import play.api.mvc._ -import play.api.routing._ - -class HomeController @Inject()(cc: ControllerComponents) extends AbstractController(cc) { - - def index() = Action { - Ok(views.html.index()) - } - - def javascriptRoutes: Action[AnyContent] = Action { implicit request => - Ok( - JavaScriptReverseRouter("jsRoutes")( - routes.javascript.JavaEventSourceController.streamClock - ) - ).as("text/javascript") - } -} diff --git a/play-java-streaming-example/app/controllers/JavaCometController.java b/play-java-streaming-example/app/controllers/JavaCometController.java index 9071302cd..5374e4f89 100644 --- a/play-java-streaming-example/app/controllers/JavaCometController.java +++ b/play-java-streaming-example/app/controllers/JavaCometController.java @@ -4,22 +4,23 @@ import play.mvc.Controller; import play.mvc.Http; import play.mvc.Result; +import views.html.helper.CSPNonce; import javax.inject.Singleton; @Singleton public class JavaCometController extends Controller implements JavaTicker { - public Result index() { - return ok(views.html.javacomet.render()); + public Result index(final Http.Request request) { + return ok(views.html.javacomet.render(request)); } - public Result streamClock() { - return ok().chunked(getStringSource().via(Comet.string("parent.clockChanged"))).as(Http.MimeTypes.HTML); + public Result streamClock(final Http.Request request) { + return ok().chunked(getStringSource().via(Comet.string("parent.clockChanged", CSPNonce.apply(request.asScala())))).as(Http.MimeTypes.HTML); } - public Result jsonClock() { - return ok().chunked(getJsonSource().via(Comet.json("parent.clockChanged"))).as(Http.MimeTypes.HTML); + public Result jsonClock(final Http.Request request) { + return ok().chunked(getJsonSource().via(Comet.json("parent.clockChanged", CSPNonce.apply(request.asScala())))).as(Http.MimeTypes.HTML); } } diff --git a/play-java-streaming-example/app/controllers/JavaEventSourceController.java b/play-java-streaming-example/app/controllers/JavaEventSourceController.java index 90da79882..b8d478fae 100644 --- a/play-java-streaming-example/app/controllers/JavaEventSourceController.java +++ b/play-java-streaming-example/app/controllers/JavaEventSourceController.java @@ -11,8 +11,8 @@ @Singleton public class JavaEventSourceController extends Controller implements JavaTicker { - public Result index() { - return ok(views.html.javaeventsource.render()); + public Result index(final Http.Request request) { + return ok(views.html.javaeventsource.render(request)); } public Result streamClock() { diff --git a/play-java-streaming-example/app/views/index.scala.html b/play-java-streaming-example/app/views/index.scala.html index 0257fe2df..5f955a143 100644 --- a/play-java-streaming-example/app/views/index.scala.html +++ b/play-java-streaming-example/app/views/index.scala.html @@ -1,4 +1,4 @@ -@() +@()(implicit request: JRequestHeader) @main { diff --git a/play-java-streaming-example/app/views/javacomet.scala.html b/play-java-streaming-example/app/views/javacomet.scala.html index 9c4ac7d9d..a083f047e 100644 --- a/play-java-streaming-example/app/views/javacomet.scala.html +++ b/play-java-streaming-example/app/views/javacomet.scala.html @@ -1,4 +1,4 @@ -@() +@()(implicit request: JRequestHeader) @main { @@ -10,8 +10,8 @@

Clock events are pushed from the Server using a Comet connection.

- + - + } diff --git a/play-java-streaming-example/app/views/javaeventsource.scala.html b/play-java-streaming-example/app/views/javaeventsource.scala.html index bc2f19a4c..4ce6732d5 100644 --- a/play-java-streaming-example/app/views/javaeventsource.scala.html +++ b/play-java-streaming-example/app/views/javaeventsource.scala.html @@ -1,4 +1,4 @@ -@() +@()(implicit request: JRequestHeader) @main {

Server Sent Event clock

@@ -9,5 +9,5 @@

Clock events are pushed from the Server using a Server Sent Event connection.

- + } diff --git a/play-java-streaming-example/app/views/main.scala.html b/play-java-streaming-example/app/views/main.scala.html index c258c84d3..8f9cf62c7 100644 --- a/play-java-streaming-example/app/views/main.scala.html +++ b/play-java-streaming-example/app/views/main.scala.html @@ -1,4 +1,4 @@ -@(content: Html) +@(content: Html)(implicit request: play.api.mvc.RequestHeader) @@ -7,8 +7,8 @@ EventSource clock - - + + @content diff --git a/play-java-streaming-example/build.sbt b/play-java-streaming-example/build.sbt index 98511600b..cc3afaad5 100644 --- a/play-java-streaming-example/build.sbt +++ b/play-java-streaming-example/build.sbt @@ -16,3 +16,8 @@ javacOptions ++= Seq( "-Xlint:deprecation", "-Werror" ) + +TwirlKeys.templateImports ++= Seq( + "play.mvc.Http.{ RequestHeader => JRequestHeader }", + "views.html.helper.CSPNonce" +) diff --git a/play-java-streaming-example/conf/routes b/play-java-streaming-example/conf/routes index 1d8ea9318..1626541eb 100644 --- a/play-java-streaming-example/conf/routes +++ b/play-java-streaming-example/conf/routes @@ -4,15 +4,15 @@ # Home page -GET / controllers.HomeController.index() +GET / controllers.HomeController.index(request: Request) -GET /java/comet controllers.JavaCometController.index() -GET /java/comet/liveClock controllers.JavaCometController.streamClock() +GET /java/comet controllers.JavaCometController.index(request: Request) +GET /java/comet/liveClock controllers.JavaCometController.streamClock(request: Request) -GET /java/eventSource controllers.JavaEventSourceController.index() +GET /java/eventSource controllers.JavaEventSourceController.index(request: Request) GET /java/eventSource/liveClock controllers.JavaEventSourceController.streamClock() -GET /javascriptRoutes controllers.HomeController.javascriptRoutes +GET /javascriptRoutes controllers.HomeController.javascriptRoutes(request: Request) # Map static resources from the /public folder to the /assets URL path GET /assets/*file controllers.Assets.at(path="/public", file) diff --git a/play-java-streaming-example/public/javascripts/eventsource.js b/play-java-streaming-example/public/javascripts/eventsource.js index 5c3d4e406..a0844911d 100644 --- a/play-java-streaming-example/public/javascripts/eventsource.js +++ b/play-java-streaming-example/public/javascripts/eventsource.js @@ -4,5 +4,5 @@ if (!!window.EventSource) { $('#clock').html(e.data.replace(/(\d)/g, '$1')) }); } else { - $("#clock").html("Sorry. This browser doesn't seem to support Server sent event. Check html5test for browser compatibility."); + $("#clock").html("Sorry. This browser doesn't seem to support Server sent event. Check html5test for browser compatibility."); } From 287092468a453d26a904b98eff19d52ee0e92dca Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Thu, 9 Mar 2023 22:55:47 +0100 Subject: [PATCH 39/42] Use eclipse-temurin:11-alpine (cherry picked from commit faf828534056a1d64f4faf193bd21ddb96c31bf5) --- play-java-grpc-example/build.sbt | 4 ++-- play-scala-grpc-example/build.sbt | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/play-java-grpc-example/build.sbt b/play-java-grpc-example/build.sbt index 1123c741b..f4afa62b0 100644 --- a/play-java-grpc-example/build.sbt +++ b/play-java-grpc-example/build.sbt @@ -35,11 +35,11 @@ lazy val `play-java-grpc-example` = (project in file(".")) ) .settings( // workaround to https://github.com/akka/akka-grpc/pull/470#issuecomment-442133680 - dockerBaseImage := "openjdk:8-alpine", + dockerBaseImage := "eclipse-temurin:11-alpine", dockerCommands := Seq.empty[CmdLike] ++ Seq( - Cmd("FROM", "openjdk:8-alpine"), + Cmd("FROM", "eclipse-temurin:11-alpine"), ExecCmd("RUN", "apk", "add", "--no-cache", "bash") ) ++ dockerCommands.value.tail , diff --git a/play-scala-grpc-example/build.sbt b/play-scala-grpc-example/build.sbt index 91bafaa84..12b050eea 100644 --- a/play-scala-grpc-example/build.sbt +++ b/play-scala-grpc-example/build.sbt @@ -36,11 +36,11 @@ lazy val `play-scala-grpc-example` = (project in file(".")) ) .settings( // workaround to https://github.com/akka/akka-grpc/pull/470#issuecomment-442133680 - dockerBaseImage := "openjdk:8-alpine", - dockerCommands := + dockerBaseImage := "eclipse-temurin:11-alpine", + dockerCommands := Seq.empty[CmdLike] ++ Seq( - Cmd("FROM", "openjdk:8-alpine"), + Cmd("FROM", "eclipse-temurin:11-alpine"), ExecCmd("RUN", "apk", "add", "--no-cache", "bash") ) ++ dockerCommands.value.tail , From 0382df3f44e0dd23caa35ddb60056cd0b0946d20 Mon Sep 17 00:00:00 2001 From: Sergey Morgunov Date: Fri, 15 Dec 2023 16:54:00 +0300 Subject: [PATCH 40/42] [3.0.x] Update Pekko/Play gRPC --- play-java-grpc-example/README.md | 2 +- .../app/routers/HelloWorldRouter.java | 9 ++++----- play-java-grpc-example/build.sbt | 19 ++++++++++--------- play-java-grpc-example/conf/application.conf | 2 +- .../docs/src/main/paradox/code-details.md | 8 ++++---- .../docs/src/main/paradox/index.md | 4 ++-- play-java-grpc-example/project/plugins.sbt | 6 +++--- play-scala-grpc-example/README.md | 2 +- play-scala-grpc-example/build.sbt | 15 ++++++++------- play-scala-grpc-example/conf/application.conf | 2 +- .../docs/src/main/paradox/code-details.md | 8 ++++---- .../docs/src/main/paradox/index.md | 4 ++-- play-scala-grpc-example/project/plugins.sbt | 6 +++--- .../test/test/HelloScalaTestSpec.scala | 2 +- .../test/test/HelloSpecs2Spec.scala | 2 +- test.sh | 8 ++------ 16 files changed, 48 insertions(+), 51 deletions(-) diff --git a/play-java-grpc-example/README.md b/play-java-grpc-example/README.md index a854707f5..ad144addc 100644 --- a/play-java-grpc-example/README.md +++ b/play-java-grpc-example/README.md @@ -4,7 +4,7 @@ This example is described in the [Play Java gRPC Example site](https://developer This is an example application that shows how to use Pekko gRPC to both expose and use gRPC services inside an Play application. -For detailed documentation refer to https://www.playframework.com/documentation/latest/Home and https://developer.lightbend.com/docs/akka-grpc/current/ . +For detailed documentation refer to https://www.playframework.com/documentation/latest/Home and https://pekko.apache.org/docs/pekko-grpc/current/. ## Sample license diff --git a/play-java-grpc-example/app/routers/HelloWorldRouter.java b/play-java-grpc-example/app/routers/HelloWorldRouter.java index 1b61a32cd..5544bed80 100644 --- a/play-java-grpc-example/app/routers/HelloWorldRouter.java +++ b/play-java-grpc-example/app/routers/HelloWorldRouter.java @@ -1,21 +1,20 @@ package routers; import org.apache.pekko.actor.ActorSystem; -import org.apache.pekko.stream.Materializer; import example.myapp.helloworld.grpc.HelloReply; import example.myapp.helloworld.grpc.HelloRequest; -import javax.inject.Inject; -import javax.inject.Singleton; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionStage; +import javax.inject.Inject; +import javax.inject.Singleton; @Singleton public class HelloWorldRouter extends example.myapp.helloworld.grpc.AbstractGreeterServiceRouter { @Inject - public HelloWorldRouter(Materializer mat, ActorSystem system) { - super(mat, system); + public HelloWorldRouter(ActorSystem system) { + super(system); } @Override diff --git a/play-java-grpc-example/build.sbt b/play-java-grpc-example/build.sbt index f4afa62b0..d313eec1a 100644 --- a/play-java-grpc-example/build.sbt +++ b/play-java-grpc-example/build.sbt @@ -1,7 +1,7 @@ import play.core.PlayVersion.pekkoVersion import play.core.PlayVersion.pekkoHttpVersion -import play.grpc.gen.javadsl.{ PlayJavaClientCodeGenerator, PlayJavaServerCodeGenerator } -import com.typesafe.sbt.packager.docker.{ Cmd, CmdLike, DockerAlias, ExecCmd } +import play.grpc.gen.javadsl.{PlayJavaClientCodeGenerator, PlayJavaServerCodeGenerator} +import com.typesafe.sbt.packager.docker.{Cmd, CmdLike, DockerAlias, ExecCmd} import play.java.grpc.sample.BuildInfo name := "play-java-grpc-example" @@ -11,18 +11,18 @@ version := "1.0-SNAPSHOT" // build.sbt lazy val `play-java-grpc-example` = (project in file(".")) .enablePlugins(PlayJava) - .enablePlugins(AkkaGrpcPlugin) // enables source generation for gRPC + .enablePlugins(PekkoGrpcPlugin) // enables source generation for gRPC .enablePlugins(PlayPekkoHttp2Support) // enables serving HTTP/2 and gRPC // #grpc_play_plugins .settings( - akkaGrpcGeneratedLanguages := Seq(AkkaGrpc.Java), + pekkoGrpcGeneratedLanguages := Seq(PekkoGrpc.Java), // #grpc_client_generators // build.sbt - akkaGrpcExtraGenerators += PlayJavaClientCodeGenerator, + pekkoGrpcExtraGenerators += PlayJavaClientCodeGenerator, // #grpc_client_generators // #grpc_server_generators // build.sbt - akkaGrpcExtraGenerators += PlayJavaServerCodeGenerator, + pekkoGrpcExtraGenerators += PlayJavaServerCodeGenerator, Test / javaOptions += "-Dtestserver.httpsport=9443", // #grpc_server_generators PlayKeys.devSettings ++= Seq( @@ -49,8 +49,9 @@ lazy val `play-java-grpc-example` = (project in file(".")) .settings( libraryDependencies ++= CompileDeps ++ TestDeps ) - + scalaVersion := "2.13.12" +crossScalaVersions := Seq("2.13.12", "3.3.1") scalacOptions ++= List("-encoding", "utf8", "-deprecation", "-feature", "-unchecked") javacOptions ++= List("-Xlint:unchecked", "-Xlint:deprecation") // Needed for ssl-config to create self signed certificated under Java 17 @@ -59,7 +60,7 @@ Test / javaOptions ++= List("--add-exports=java.base/sun.security.x509=ALL-UNNAM val CompileDeps = Seq( guice, javaWs, - "com.lightbend.play" %% "play-grpc-runtime" % BuildInfo.playGrpcVersion, + "org.playframework" %% "play-grpc-runtime" % BuildInfo.playGrpcVersion, "org.apache.pekko" %% "pekko-discovery" % pekkoVersion, "org.apache.pekko" %% "pekko-http" % pekkoHttpVersion, "org.apache.pekko" %% "pekko-http-spray-json" % pekkoHttpVersion, @@ -69,7 +70,7 @@ val CompileDeps = Seq( val TestDeps = Seq( // used in tests - "com.lightbend.play" %% "play-grpc-testkit" % BuildInfo.playGrpcVersion % Test + "org.playframework" %% "play-grpc-testkit" % BuildInfo.playGrpcVersion % Test ) // Make verbose tests diff --git a/play-java-grpc-example/conf/application.conf b/play-java-grpc-example/conf/application.conf index 440e8ba6f..d4e4d45a7 100644 --- a/play-java-grpc-example/conf/application.conf +++ b/play-java-grpc-example/conf/application.conf @@ -24,7 +24,7 @@ play.http.secret.key = "default-value-used-locally-with-at-minimal-length" play.modules { # To enable Pekko gRPC clients to be @Injected # This Module is generated by the Pekko gRPC sbt plugin. See your `target/scala-2.12/src_managed` folder. - enabled += example.myapp.helloworld.grpc.AkkaGrpcClientModule + enabled += example.myapp.helloworld.grpc.PekkoGrpcClientModule disabled += "play.grpc.ClassicActorsystemProviderModule" } # #grpc_enable_client_module diff --git a/play-java-grpc-example/docs/src/main/paradox/code-details.md b/play-java-grpc-example/docs/src/main/paradox/code-details.md index 540ac52e4..d8d94847c 100644 --- a/play-java-grpc-example/docs/src/main/paradox/code-details.md +++ b/play-java-grpc-example/docs/src/main/paradox/code-details.md @@ -2,7 +2,7 @@ Adding gRPC support to a vanilla Play application requires a few steps: -### 1. `sbt-akka-grpc` +### 1. `sbt-pekko-grpc` Add the Pekko gRPC plugin on `project/plugins.sbt` @@ -12,13 +12,13 @@ and enable it on your project (in `build.sbt`): @@snip [build.sbt](../../../../build.sbt) { #grpc_play_plugins } -The `AkkaGrpcPlugin` locates the gRPC `.proto` files and generates source code from it. Remember to enable the plugin +The `PekkoGrpcPlugin` locates the gRPC `.proto` files and generates source code from it. Remember to enable the plugin in all the projects of your build that want to use it. Note how the `PlayPekkoHttp2Support` is also enabled. gRPC requires HTTP/2 transport and Play supports it only as an opt-in plugin. -### 2.a Serving (Akka) gRPC Services +### 2.a Serving (Pekko) gRPC Services Have a look at the `conf/routes` file where you'll notice how to embed a gRPC router within a normal play application. You can in fact mix normal Play routes with gRPC routers like this to offer a mixed service. You'll notice that we @@ -51,4 +51,4 @@ Which in turn allows us to inject clients to any of the services defined in our Since you may want to configure what service discovery or hardcoded location to use for each client, you may do so as well in `conf/application.conf`, though we will not dive into this here. Refer to the documentation on -[using Pekko Discovery for endpoint discovery](https://developer.lightbend.com/docs/akka-grpc/current/client/configuration.html#using-akka-discovery-for-endpoint-discovery) for more details. +[using Pekko Discovery for endpoint discovery](https://pekko.apache.org/docs/pekko-grpc/current/client/configuration.html#using-pekko-discovery-for-endpoint-discovery) for more details. diff --git a/play-java-grpc-example/docs/src/main/paradox/index.md b/play-java-grpc-example/docs/src/main/paradox/index.md index f70631bf4..bd3409f59 100644 --- a/play-java-grpc-example/docs/src/main/paradox/index.md +++ b/play-java-grpc-example/docs/src/main/paradox/index.md @@ -6,10 +6,10 @@ The [Play Framework](https://www.playframework.com/) combines productivity and p scalable web applications with Java and Scala. Play is developer friendly with a "just hit refresh" workflow and built-in testing support. With Play, applications scale predictably due to a stateless and non-blocking architecture. -[Akka gRPC](https://developer.lightbend.com/docs/akka-grpc/current/overview.html) is a toolkit for building streaming +[Pekko gRPC](https://pekko.apache.org/docs/pekko-grpc/current/) is a toolkit for building streaming gRPC servers and clients on top of Pekko Streams. -For detailed documentation refer to https://www.playframework.com/documentation/latest/Home and https://developer.lightbend.com/docs/akka-grpc/current/. +For detailed documentation refer to https://www.playframework.com/documentation/latest/Home and https://pekko.apache.org/docs/pekko-grpc/current/. ## Obtaining this example diff --git a/play-java-grpc-example/project/plugins.sbt b/play-java-grpc-example/project/plugins.sbt index 64a2221ea..cb7f977db 100644 --- a/play-java-grpc-example/project/plugins.sbt +++ b/play-java-grpc-example/project/plugins.sbt @@ -1,5 +1,5 @@ enablePlugins(BuildInfoPlugin) -val playGrpcV = "0.9.1" +val playGrpcV = "0.12.1" buildInfoKeys := Seq[BuildInfoKey]("playGrpcVersion" -> playGrpcV) buildInfoPackage := "play.java.grpc.sample" @@ -9,6 +9,6 @@ addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.10.5") // #grpc_sbt_plugin // project/plugins.sbt -addSbtPlugin("com.lightbend.akka.grpc" %% "sbt-akka-grpc" % "1.0.2") -libraryDependencies += "com.lightbend.play" %% "play-grpc-generators" % playGrpcV +addSbtPlugin("org.apache.pekko" % "pekko-grpc-sbt-plugin" % "1.0.2") +libraryDependencies += "org.playframework" %% "play-grpc-generators" % playGrpcV // #grpc_sbt_plugin diff --git a/play-scala-grpc-example/README.md b/play-scala-grpc-example/README.md index ab5307f35..f2ddc829e 100644 --- a/play-scala-grpc-example/README.md +++ b/play-scala-grpc-example/README.md @@ -4,7 +4,7 @@ This example is described in the [Play Scala gRPC Example site](https://develope This is an example application that shows how to use Pekko gRPC to both expose and use gRPC services inside an Play application. -For detailed documentation refer to https://www.playframework.com/documentation/latest/Home and https://developer.lightbend.com/docs/akka-grpc/current/ . +For detailed documentation refer to https://www.playframework.com/documentation/latest/Home and https://pekko.apache.org/docs/pekko-grpc/current/. ## Sample license diff --git a/play-scala-grpc-example/build.sbt b/play-scala-grpc-example/build.sbt index 12b050eea..f9adbf480 100644 --- a/play-scala-grpc-example/build.sbt +++ b/play-scala-grpc-example/build.sbt @@ -12,18 +12,18 @@ version := "1.0-SNAPSHOT" // build.sbt lazy val `play-scala-grpc-example` = (project in file(".")) .enablePlugins(PlayScala) - .enablePlugins(AkkaGrpcPlugin) // enables source generation for gRPC + .enablePlugins(PekkoGrpcPlugin) // enables source generation for gRPC .enablePlugins(PlayPekkoHttp2Support) // enables serving HTTP/2 and gRPC // #grpc_play_plugins .settings( - akkaGrpcGeneratedLanguages := Seq(AkkaGrpc.Scala), + pekkoGrpcGeneratedLanguages := Seq(PekkoGrpc.Scala), // #grpc_client_generators // build.sbt - akkaGrpcExtraGenerators += PlayScalaClientCodeGenerator, + pekkoGrpcExtraGenerators += PlayScalaClientCodeGenerator, // #grpc_client_generators // #grpc_server_generators // build.sbt - akkaGrpcExtraGenerators += PlayScalaServerCodeGenerator, + pekkoGrpcExtraGenerators += PlayScalaServerCodeGenerator, Test / javaOptions += "-Dtestserver.httpsport=0", // #grpc_server_generators PlayKeys.devSettings ++= Seq( @@ -53,7 +53,7 @@ lazy val `play-scala-grpc-example` = (project in file(".")) val CompileDeps = Seq( guice, - "com.lightbend.play" %% "play-grpc-runtime" % BuildInfo.playGrpcVersion, + "org.playframework" %% "play-grpc-runtime" % BuildInfo.playGrpcVersion, "org.apache.pekko" %% "pekko-discovery" % pekkoVersion, "org.apache.pekko" %% "pekko-http" % pekkoHttpVersion, "org.apache.pekko" %% "pekko-http-spray-json" % pekkoHttpVersion, @@ -63,14 +63,15 @@ val CompileDeps = Seq( val playVersion = play.core.PlayVersion.current val TestDeps = Seq( - "com.lightbend.play" %% "play-grpc-scalatest" % BuildInfo.playGrpcVersion % Test, - "com.lightbend.play" %% "play-grpc-specs2" % BuildInfo.playGrpcVersion % Test, + "org.playframework" %% "play-grpc-scalatest" % BuildInfo.playGrpcVersion % Test, + "org.playframework" %% "play-grpc-specs2" % BuildInfo.playGrpcVersion % Test, "org.playframework" %% "play-test" % playVersion % Test, "org.playframework" %% "play-specs2" % playVersion % Test, "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.0" % Test, ) scalaVersion := "2.13.12" +crossScalaVersions := Seq("2.13.12", "3.3.1") scalacOptions ++= List("-encoding", "utf8", "-deprecation", "-feature", "-unchecked") // Needed for ssl-config to create self signed certificated under Java 17 Test / javaOptions ++= List("--add-exports=java.base/sun.security.x509=ALL-UNNAMED") diff --git a/play-scala-grpc-example/conf/application.conf b/play-scala-grpc-example/conf/application.conf index 440e8ba6f..d4e4d45a7 100644 --- a/play-scala-grpc-example/conf/application.conf +++ b/play-scala-grpc-example/conf/application.conf @@ -24,7 +24,7 @@ play.http.secret.key = "default-value-used-locally-with-at-minimal-length" play.modules { # To enable Pekko gRPC clients to be @Injected # This Module is generated by the Pekko gRPC sbt plugin. See your `target/scala-2.12/src_managed` folder. - enabled += example.myapp.helloworld.grpc.AkkaGrpcClientModule + enabled += example.myapp.helloworld.grpc.PekkoGrpcClientModule disabled += "play.grpc.ClassicActorsystemProviderModule" } # #grpc_enable_client_module diff --git a/play-scala-grpc-example/docs/src/main/paradox/code-details.md b/play-scala-grpc-example/docs/src/main/paradox/code-details.md index f0286608c..5e865f5de 100644 --- a/play-scala-grpc-example/docs/src/main/paradox/code-details.md +++ b/play-scala-grpc-example/docs/src/main/paradox/code-details.md @@ -2,7 +2,7 @@ Adding gRPC support to a vanilla Play application requires a few steps: -### 1. `sbt-akka-grpc` +### 1. `sbt-pekko-grpc` Add the Pekko gRPC plugin on `project/plugins.sbt` @@ -12,13 +12,13 @@ and enable it on your project (in `build.sbt`): @@snip [build.sbt](../../../../build.sbt) { #grpc_play_plugins } -The `AkkaGrpcPlugin` locates the gRPC `.proto` files and generates source code from it. Remember to enable the plugin +The `PekkoGrpcPlugin` locates the gRPC `.proto` files and generates source code from it. Remember to enable the plugin in all the projects of your build that want to use it. Note how the `PlayPekkoHttp2Support` is also enabled. gRPC requires HTTP/2 transport and Play supports it only as an opt-in plugin. -### 2.a Serving (Akka) gRPC Services +### 2.a Serving (Pekko) gRPC Services Have a look at the `conf/routes` file where you'll notice how to embed a gRPC router within a normal play application. You can in fact mix normal Play routes with gRPC routers like this to offer a mixed service. You'll notice that we @@ -51,4 +51,4 @@ Which in turn allows us to inject clients to any of the services defined in our Since you may want to configure what service discovery or hardcoded location to use for each client, you may do so as well in `conf/application.conf`, though we will not dive into this here. Refer to the documentation on -[using Pekko Discovery for endpoint discovery](https://developer.lightbend.com/docs/akka-grpc/current/client/configuration.html#using-akka-discovery-for-endpoint-discovery) for more details. +[using Pekko Discovery for endpoint discovery](https://pekko.apache.org/docs/pekko-grpc/current/client/configuration.html#using-pekko-discovery-for-endpoint-discovery) for more details. diff --git a/play-scala-grpc-example/docs/src/main/paradox/index.md b/play-scala-grpc-example/docs/src/main/paradox/index.md index 29f15e9c5..a8260cedc 100644 --- a/play-scala-grpc-example/docs/src/main/paradox/index.md +++ b/play-scala-grpc-example/docs/src/main/paradox/index.md @@ -6,10 +6,10 @@ The [Play Framework](https://www.playframework.com/) combines productivity and p scalable web applications with Java and Scala. Play is developer friendly with a "just hit refresh" workflow and built-in testing support. With Play, applications scale predictably due to a stateless and non-blocking architecture. -[Akka gRPC](https://developer.lightbend.com/docs/akka-grpc/current/overview.html) is a toolkit for building streaming +[Pekko gRPC](https://pekko.apache.org/docs/pekko-grpc/current/) is a toolkit for building streaming gRPC servers and clients on top of Pekko Streams. -For detailed documentation refer to https://www.playframework.com/documentation/latest/Home and https://developer.lightbend.com/docs/akka-grpc/current/. +For detailed documentation refer to https://www.playframework.com/documentation/latest/Home and https://pekko.apache.org/docs/pekko-grpc/current/. ## Obtaining this example diff --git a/play-scala-grpc-example/project/plugins.sbt b/play-scala-grpc-example/project/plugins.sbt index 3e7a3a7de..36c9a491a 100644 --- a/play-scala-grpc-example/project/plugins.sbt +++ b/play-scala-grpc-example/project/plugins.sbt @@ -1,5 +1,5 @@ enablePlugins(BuildInfoPlugin) -val playGrpcV = "0.9.1" +val playGrpcV = "0.12.1" buildInfoKeys := Seq[BuildInfoKey]("playGrpcVersion" -> playGrpcV) buildInfoPackage := "play.scala.grpc.sample" @@ -10,6 +10,6 @@ addSbtPlugin("com.lightbend.paradox" % "sbt-paradox" % "0.10.5") // #grpc_sbt_plugin // project/plugins.sbt -addSbtPlugin("com.lightbend.akka.grpc" %% "sbt-akka-grpc" % "1.0.2") -libraryDependencies += "com.lightbend.play" %% "play-grpc-generators" % playGrpcV +addSbtPlugin("org.apache.pekko" % "pekko-grpc-sbt-plugin" % "1.0.2") +libraryDependencies += "org.playframework" %% "play-grpc-generators" % playGrpcV // #grpc_sbt_plugin diff --git a/play-scala-grpc-example/test/test/HelloScalaTestSpec.scala b/play-scala-grpc-example/test/test/HelloScalaTestSpec.scala index 7860760df..727f66014 100644 --- a/play-scala-grpc-example/test/test/HelloScalaTestSpec.scala +++ b/play-scala-grpc-example/test/test/HelloScalaTestSpec.scala @@ -38,7 +38,7 @@ class HelloScalaTestSpec extends PlaySpec with GuiceOneServerPerTest with Server .get().futureValue result.status must be(200) // Maybe should be a 426, see #396 } - "work with a gRPC client" in withGrpcClient[GreeterServiceClient] { client: GreeterServiceClient => + "work with a gRPC client" in withGrpcClient[GreeterServiceClient] { (client: GreeterServiceClient) => val reply = client.sayHello(HelloRequest("Alice")).futureValue reply.message must be("Hello, Alice!") } diff --git a/play-scala-grpc-example/test/test/HelloSpecs2Spec.scala b/play-scala-grpc-example/test/test/HelloSpecs2Spec.scala index 458927f4e..f82e77e56 100644 --- a/play-scala-grpc-example/test/test/HelloSpecs2Spec.scala +++ b/play-scala-grpc-example/test/test/HelloSpecs2Spec.scala @@ -45,7 +45,7 @@ class HelloSpecs2Spec extends ForServer with ServerGrpcClient with PlaySpecifica result.status must ===(200) } "work with a gRPC client" >> { implicit rs: RunningServer => - withGrpcClient[GreeterServiceClient] { client: GreeterServiceClient => + withGrpcClient[GreeterServiceClient] { (client: GreeterServiceClient) => val reply = await(client.sayHello(HelloRequest("Alice"))) reply.message must ===("Hello, Alice!") } diff --git a/test.sh b/test.sh index a6191f857..f247d03da 100755 --- a/test.sh +++ b/test.sh @@ -9,9 +9,7 @@ pushd play-java-dagger2-example && scripts/test-sbt && popd pushd play-java-ebean-example && scripts/test-sbt && popd pushd play-java-fileupload-example && scripts/test-sbt && popd pushd play-java-forms-example && scripts/test-sbt && popd -#if [ "$MATRIX_SCALA" != "3.x" ]; then -# pushd play-java-grpc-example && scripts/test-sbt && popd -#fi +pushd play-java-grpc-example && scripts/test-sbt && popd pushd play-java-hello-world-tutorial && scripts/test-sbt && popd pushd play-java-jpa-example && scripts/test-sbt && popd pushd play-java-rest-api-example && scripts/test-sbt && popd @@ -24,9 +22,7 @@ pushd play-scala-chatroom-example && scripts/test-sbt && popd pushd play-scala-compile-di-example && scripts/test-sbt && popd pushd play-scala-fileupload-example && scripts/test-sbt && popd pushd play-scala-forms-example && scripts/test-sbt && popd -#if [ "$MATRIX_SCALA" != "3.x" ]; then -# pushd play-scala-grpc-example && scripts/test-sbt && popd -#fi +pushd play-scala-grpc-example && scripts/test-sbt && popd pushd play-scala-hello-world-tutorial && scripts/test-sbt && popd if [ "$MATRIX_SCALA" != "3.x" ]; then pushd play-scala-isolated-slick-example && scripts/test-sbt && popd From 7ab4bd8005df2784d6a14be564ef50897639d1e1 Mon Sep 17 00:00:00 2001 From: Matthias Kurz Date: Wed, 10 Jan 2024 14:07:52 +0100 Subject: [PATCH 41/42] Re-enable sbt-rjs and disable http port an example --- play-java-jpa-example/project/plugins.sbt | 2 +- .../test/integration/GuiceOneHttpsServerPerTest.scala | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/play-java-jpa-example/project/plugins.sbt b/play-java-jpa-example/project/plugins.sbt index c3f4a7c38..fe3f78964 100644 --- a/play-java-jpa-example/project/plugins.sbt +++ b/play-java-jpa-example/project/plugins.sbt @@ -5,7 +5,7 @@ addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.1") addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.2") addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.1.2") addSbtPlugin("com.typesafe.sbt" % "sbt-jshint" % "1.0.6") -// addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.10") +addSbtPlugin("com.typesafe.sbt" % "sbt-rjs" % "1.0.10") addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.1.4") addSbtPlugin("com.typesafe.sbt" % "sbt-mocha" % "1.1.2") addSbtPlugin("io.github.irundaia" % "sbt-sassify" % "1.5.2") diff --git a/play-scala-tls-example/test/integration/GuiceOneHttpsServerPerTest.scala b/play-scala-tls-example/test/integration/GuiceOneHttpsServerPerTest.scala index 073831cb2..43da3a110 100644 --- a/play-scala-tls-example/test/integration/GuiceOneHttpsServerPerTest.scala +++ b/play-scala-tls-example/test/integration/GuiceOneHttpsServerPerTest.scala @@ -45,7 +45,7 @@ trait GuiceOneHttpsServerPerTest extends TestSuiteMixin with ServerProvider with synchronized { privateApp = newAppForTest(test) } val testServer = new TestServer( - ServerConfig(port = Some(0), sslPort = Some(httpsPort), mode = Mode.Test, rootDir = app.path), + ServerConfig(port = None, sslPort = Some(httpsPort), mode = Mode.Test, rootDir = app.path), app, None ) From 6d15cdc703eea9241def02eca1ae65d62f0f1e20 Mon Sep 17 00:00:00 2001 From: Scala Steward Date: Sat, 13 Jan 2024 04:22:59 +0000 Subject: [PATCH 42/42] guice 7.0.0 (was 6.0.0) --- play-scala-isolated-slick-example/build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/play-scala-isolated-slick-example/build.sbt b/play-scala-isolated-slick-example/build.sbt index d871f76f7..bed4d310a 100644 --- a/play-scala-isolated-slick-example/build.sbt +++ b/play-scala-isolated-slick-example/build.sbt @@ -12,7 +12,7 @@ val FlywayVersion = "9.21.1" (ThisBuild / libraryDependencies) ++= Seq( "javax.inject" % "javax.inject" % "1", - "com.google.inject" % "guice" % "6.0.0" + "com.google.inject" % "guice" % "7.0.0" ) (ThisBuild / scalaVersion) := "2.13.12"