Skip to content

Commit dc4995e

Browse files
authored
Merge pull request #1365 from yadavan88/upgrade-play-scala3
Upgrade play modules to scala 3
2 parents 2cab73e + dc94c92 commit dc4995e

File tree

33 files changed

+63
-55
lines changed

33 files changed

+63
-55
lines changed

play-scala/application-tests/app/com/baeldung/arrival/db/manager/DbManager.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import scala.concurrent.Future
77

88
trait DbManager {
99

10-
def dbConfig: DatabaseConfig[_]
10+
def dbConfig: DatabaseConfig[?]
1111

1212
def execute[T](dbio: DBIO[T]): Future[T] = dbConfig.db.run(dbio)
1313

play-scala/application-tests/app/com/baeldung/arrival/db/repository/SlickArrivalRepository.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class SlickArrivalRepository @Inject() (val dbProfile: JdbcProfile)(implicit
2626
origin,
2727
destination,
2828
plane
29-
) <> ((Arrival.apply _).tupled, Arrival.unapply)
29+
) <> ((Arrival.apply).tupled, Arrival.unapply)
3030
}
3131

3232
/** The starting point for all queries on the people table.

play-scala/application-tests/app/com/baeldung/arrival/service/ArrivalDecoratorService.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class ArrivalDecoratorService @Inject() (configuration: Configuration) {
1919
private val maximumMediumNameLength =
2020
configuration.get[Int]("medium-name-max")
2121

22-
def decorate(undecorated: Arrival): Arrival with Size = new Arrival(
22+
def decorate(undecorated: Arrival): Arrival & Size = new Arrival(
2323
undecorated.planeId,
2424
undecorated.origin,
2525
undecorated.destination,

play-scala/application-tests/build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ version := "1.0-SNAPSHOT"
55

66
enablePlugins(PlayScala)
77

8-
scalaVersion := ScalaVersions.scala2Version
8+
scalaVersion := ScalaVersions.scala3Version
99

1010
libraryDependencies += guice
1111
libraryDependencies += "com.h2database" % "h2" % "1.4.200"

play-scala/application-tests/test/com/baeldung/arrival/actions/SourceActionsUnitTest.scala

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import play.api.http.Status.{BAD_REQUEST, NO_CONTENT}
77
import play.api.mvc.Headers
88
import play.api.mvc.Results.NoContent
99
import play.api.test.{FakeRequest, Helpers}
10+
import play.api.mvc.{Action, AnyContent}
1011

1112
class SourceActionsUnitTest
1213
extends AnyWordSpec
@@ -20,15 +21,17 @@ class SourceActionsUnitTest
2021

2122
"SourceAction" should {
2223
"return BAD_REQUEST status for missing source header" in {
23-
val testee = SourceAction(anyContentParser)(globalEc) { _ => NoContent }
24+
val testee: Action[AnyContent] =
25+
SourceAction(anyContentParser)(globalEc) { _ => NoContent }
2426

2527
whenReady(testee.apply(FakeRequest())) { result =>
2628
assert(result.header.status === BAD_REQUEST)
2729
}
2830
}
2931

3032
"return NO_CONTENT status for when source header is present" in {
31-
val testee = SourceAction(anyContentParser)(globalEc) { _ => NoContent }
33+
val testee: Action[AnyContent] =
34+
SourceAction(anyContentParser)(globalEc) { _ => NoContent }
3235
whenReady(
3336
testee.apply(FakeRequest().withHeaders(Headers("source" -> "foo")))
3437
) { result =>

play-scala/application-tests/test/com/baeldung/arrival/service/ArrivalDecoratorServiceUnitTest.scala

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,13 @@ class ArrivalDecoratorServiceUnitTest extends MixedPlaySpec {
1717
)
1818
.build()
1919
) {
20-
private val testee = app.injector.instanceOf[ArrivalDecoratorService]
21-
private val arrival = Arrival(1L, "Athens", "Heathrow", "12345")
22-
assert(testee.decorate(arrival).short)
23-
assert(!testee.decorate(arrival).medium)
24-
assert(!testee.decorate(arrival).long)
20+
override def running() = {
21+
val testee = app.injector.instanceOf[ArrivalDecoratorService]
22+
val arrival = Arrival(1L, "Athens", "Heathrow", "12345")
23+
assert(testee.decorate(arrival).short)
24+
assert(!testee.decorate(arrival).medium)
25+
assert(!testee.decorate(arrival).long)
26+
}
2527
}
2628

2729
"mark as medium an arrival with plane name length = 5 with overridden configuration" in new App(
@@ -37,11 +39,13 @@ class ArrivalDecoratorServiceUnitTest extends MixedPlaySpec {
3739
)
3840
.build()
3941
) {
40-
private val testee = app.injector.instanceOf[ArrivalDecoratorService]
41-
private val arrival = Arrival(1L, "Athens", "Heathrow", "12345")
42-
assert(!testee.decorate(arrival).short)
43-
assert(testee.decorate(arrival).medium)
44-
assert(!testee.decorate(arrival).long)
42+
override def running() = {
43+
val testee = app.injector.instanceOf[ArrivalDecoratorService]
44+
val arrival = Arrival(1L, "Athens", "Heathrow", "12345")
45+
assert(!testee.decorate(arrival).short)
46+
assert(testee.decorate(arrival).medium)
47+
assert(!testee.decorate(arrival).long)
48+
}
4549
}
4650
}
4751

play-scala/application-tests/test/com/baeldung/arrival/service/isolated/InMemoryDbManager.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import slick.dbio.{DBIO, SuccessAction}
77
import scala.concurrent.Future
88

99
class InMemoryDbManager extends DbManager {
10-
override def dbConfig: DatabaseConfig[_] = ???
10+
override def dbConfig: DatabaseConfig[?] = ???
1111

1212
override def execute[T](dbio: DBIO[T]): Future[T] =
1313
Future.successful(dbio.asInstanceOf[SuccessAction[T]].value)

play-scala/async-tasks/build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ version := "1.0-SNAPSHOT"
55

66
enablePlugins(PlayScala)
77

8-
scalaVersion := ScalaVersions.scala2Version
8+
scalaVersion := ScalaVersions.scala3Version
99

1010
libraryDependencies += guice

play-scala/caching-in-play/build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ version := "1.0-SNAPSHOT"
55

66
enablePlugins(PlayScala)
77

8-
scalaVersion := ScalaVersions.scala2Version
8+
scalaVersion := ScalaVersions.scala3Version
99

1010
libraryDependencies += guice
1111
libraryDependencies += caffeine

play-scala/configuration-access/build.sbt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ version := "1.0-SNAPSHOT"
55

66
enablePlugins(PlayScala)
77

8-
scalaVersion := ScalaVersions.scala2Version
8+
scalaVersion := ScalaVersions.scala3Version
99

1010
libraryDependencies += guice
1111
libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.1" % Test
12-
libraryDependencies += "org.mockito" % "mockito-scala_2.13" % "1.17.31" % Test
12+
libraryDependencies += "org.scalatestplus" %% "mockito-3-4" % "3.2.10.0"
1313

1414
// Adds additional packages into Twirl
1515
//TwirlKeys.templateImports += "com.baeldung.controllers._"

play-scala/configuration-access/test/controllers/HomeControllerUnitTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package controllers
22

3-
import org.mockito.MockitoSugar
43
import org.scalatestplus.play._
54
import org.scalatestplus.play.guice._
65
import play.api.test.Helpers._
76
import play.api.test._
87
import services.MyService
8+
import org.scalatestplus.mockito.MockitoSugar
99

1010
/** Add your spec here. You can mock out a whole application including requests,
1111
* plugins etc.

play-scala/configuration-access/test/services/MyServiceUnitTest.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ package services
22

33
import java.util.{Calendar, Date, TimeZone}
44

5-
import org.mockito.MockitoSugar
65
import org.scalatestplus.play._
76
import org.scalatestplus.play.guice._
87
import play.api.test._
8+
import org.scalatestplus.mockito.MockitoSugar
99

1010
class MyServiceUnitTest
1111
extends PlaySpec

play-scala/custom-error-handling/build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ version := "1.0-SNAPSHOT"
55

66
enablePlugins(PlayScala)
77

8-
scalaVersion := ScalaVersions.scala2Version
8+
scalaVersion := ScalaVersions.scala3Version
99

1010
libraryDependencies += guice
1111
libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.1" % Test

play-scala/dependency-injection/app/macwire/components/OrderComponents.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import macwire.services.{
1212
OrderService
1313
}
1414

15-
trait OrderComponents extends {
15+
trait OrderComponents {
1616

1717
lazy val p1: OrderPipelineProcessor = (order: Order) =>
1818
println("Processor 1 processed")

play-scala/dependency-injection/build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ version := "1.0-SNAPSHOT"
44

55
enablePlugins(PlayScala)
66

7-
scalaVersion := ScalaVersions.scala2Version
7+
scalaVersion := ScalaVersions.scala3Version
88

99
libraryDependencies += guice
1010
libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.1" % Test

play-scala/dependency-injection/test/guice/service/ServiceWithRemoteCallUnitTest.scala

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,10 @@ class ServiceWithRemoteCallUnitTest
2020
.overrides(new MockApiModule, new ServiceModule)
2121
.build()
2222
new App(application) {
23-
val srv = app.injector.instanceOf[ServiceWithRemoteCall]
24-
assert(srv.call() == "Mock remote api call")
23+
override def running() = {
24+
val srv = app.injector.instanceOf[ServiceWithRemoteCall]
25+
assert(srv.call() == "Mock remote api call")
26+
}
2527
}
2628
}
2729

@@ -30,8 +32,10 @@ class ServiceWithRemoteCallUnitTest
3032
.overrides(new ApiModule, new ServiceModule)
3133
.build()
3234
new App(application) {
33-
val srv = app.injector.instanceOf[ServiceWithRemoteCall]
34-
assert(srv.call() == "Real remote api call")
35+
override def running() = {
36+
val srv = app.injector.instanceOf[ServiceWithRemoteCall]
37+
assert(srv.call() == "Real remote api call")
38+
}
3539
}
3640
}
3741

play-scala/introduction-to-play/build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ version := "1.0-SNAPSHOT"
55

66
enablePlugins(PlayScala)
77

8-
scalaVersion := ScalaVersions.scala2Version
8+
scalaVersion := ScalaVersions.scala3Version
99

1010
libraryDependencies += guice
1111
libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.1" % Test

play-scala/introduction-to-play/conf/routes

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# ~~~~
55

66
# An example controller showing a sample home page
7-
GET / controllers.HomeController.index
7+
GET / controllers.HomeController.index()
88
GET /sum/:first/:second controllers.HomeController.printSum(first: Long, second: Long)
99

1010
# Map static resources from the /public folder to the /assets URL path

play-scala/play-static-assets/build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ version := "1.0-SNAPSHOT"
66
enablePlugins(PlayScala)
77
enablePlugins(SbtWeb)
88

9-
scalaVersion := ScalaVersions.scala2Version
9+
scalaVersion := ScalaVersions.scala3Version
1010

1111
libraryDependencies += guice
1212
libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.1" % Test

play-scala/play-templates/app/controllers/MenuController.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ class MenuController @Inject() (
1010
cc: ControllerComponents
1111
) extends AbstractController(cc) {
1212

13-
def availableProducts = Action { implicit request =>
13+
def availableProducts = Action {
1414
val products = List(
1515
Product("coffee", 8.99, true),
1616
Product("cake", 12.00, true),

play-scala/play-templates/app/controllers/ViewTemplateController.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ case class Article(title: String, url: String)
88
class ViewTemplateController @Inject() (cc: ControllerComponents)
99
extends AbstractController(cc) {
1010

11-
def index = Action { implicit request =>
11+
def index = Action {
1212
val articles = List(
1313
(
1414
"Introduction to Play Framework",
@@ -22,7 +22,7 @@ class ViewTemplateController @Inject() (cc: ControllerComponents)
2222
Ok(views.html.Baeldung.index(articles))
2323
}
2424

25-
def withClass = Action { implicit request =>
25+
def withClass = Action {
2626
val articles = List(
2727
Article(
2828
"Introduction to Play Framework",

play-scala/play-templates/build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ version := "1.0-SNAPSHOT"
55

66
enablePlugins(PlayScala)
77

8-
scalaVersion := ScalaVersions.scala2Version
8+
scalaVersion := ScalaVersions.scala3Version
99

1010
libraryDependencies += guice
1111
libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.1" % Test

play-scala/play-templates/test/controllers/MenuControllerUnitTest.scala

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,12 @@ class MenuControllerUnitTest
1717

1818
val controller = new MenuController(template, stubControllerComponents())
1919

20-
val result = controller
21-
.availableProducts()
20+
val result = controller.availableProducts
2221
.apply(
2322
FakeRequest(GET, "/menu")
2423
)
2524

26-
contentAsString(result) must include("coffee 8,99 €")
25+
contentAsString(result) `must` include("coffee 8,99 €")
2726
}
2827
}
2928
}

play-scala/play-templates/test/controllers/ViewTemplateControllerUnitTest.scala

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ class ViewTemplateControllerUnitTest
1313

1414
"should return two articles" in {
1515
val controller = new ViewTemplateController(stubControllerComponents())
16-
val result = controller
17-
.index()
16+
val result = controller.index
1817
.apply(
1918
FakeRequest(GET, "/template")
2019
)
@@ -27,8 +26,7 @@ class ViewTemplateControllerUnitTest
2726

2827
"with_class function returns the same two articles" in {
2928
val controller = new ViewTemplateController(stubControllerComponents())
30-
val result = controller
31-
.withClass()
29+
val result = controller.withClass
3230
.apply(
3331
FakeRequest(GET, "/withclass")
3432
)

play-scala/rest-api/app/controllers/TodoListController.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ class TodoListController @Inject() (
5454
}
5555

5656
// curl -v -d '{"description": "some new item"}' -H 'Content-Type: application/json' -X POST localhost:9000/todo
57-
def addNewItem() = Action { implicit request =>
57+
def addNewItem(): Action[AnyContent] = Action { request =>
5858
val content = request.body
5959
val jsonObject = content.asJson
6060

play-scala/rest-api/build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ version := "1.0-SNAPSHOT"
55

66
enablePlugins(PlayScala)
77

8-
scalaVersion := ScalaVersions.scala2Version
8+
scalaVersion := ScalaVersions.scala3Version
99

1010
libraryDependencies += guice
1111
libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.1" % Test

play-scala/rest-api/conf/routes

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
# Map static resources from the /public folder to the /assets URL path
99

10-
GET /todo controllers.TodoListController.getAll
10+
GET /todo controllers.TodoListController.getAll()
1111
GET /todo/:itemId controllers.TodoListController.getById(itemId: Long)
1212
PUT /todo/done/:itemId controllers.TodoListController.markAsDone(itemId: Long)
13-
DELETE /todo/done controllers.TodoListController.deleteAllDone
14-
POST /todo controllers.TodoListController.addNewItem
13+
DELETE /todo/done controllers.TodoListController.deleteAllDone()
14+
POST /todo controllers.TodoListController.addNewItem()

sbt-standalone/build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name := "SCALA-156"
22

33
version := "0.1"
44

5-
scalaVersion := "2.13.6"
5+
scalaVersion := "3.4.1"
66

77
// Setting target for Scala
88
scalacOptions += "-target:17"
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
sbt.version=1.9.7
1+
sbt.version=1.10.0

scala-graalvm/scala-graalvm-http-app/build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ organization := "com.baeldung"
33

44
version := "1.0-SNAPSHOT"
55

6-
scalaVersion := "2.13.14"
6+
scalaVersion := "3.4.1"
77
libraryDependencies ++= Seq(
88
"com.typesafe.akka" %% "akka-actor" % "2.8.0",
99
"com.typesafe.akka" %% "akka-stream" % "2.8.0",
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
sbt.version=1.7.2
1+
sbt.version=1.10.0

scala-sbt/intro-to-sbt/build.sbt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import Dependencies._
22

3-
ThisBuild / scalaVersion := "2.13.14"
3+
ThisBuild / scalaVersion := "3.4.1"
44
ThisBuild / version := "0.1.0-SNAPSHOT"
55

66
lazy val printHello = taskKey[Unit]("prints hello")
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
sbt.version=1.6.2
1+
sbt.version=1.10.0

0 commit comments

Comments
 (0)