diff --git a/build.sbt b/build.sbt index d75898573..2ae79a4aa 100644 --- a/build.sbt +++ b/build.sbt @@ -19,7 +19,7 @@ val compilerOptions = Seq( ThisBuild / scalacOptions ++= compilerOptions -val playJsonVersion = "2.10.3" +val playJsonVersion = "3.0.2" val specsVersion: String = "4.8.3" val awsSdkVersion: String = "1.12.687" val doobieVersion: String = "0.13.4" @@ -59,7 +59,7 @@ lazy val commoneventconsumer = project libraryDependencies ++= Seq( "org.slf4j" % "slf4j-api" % slf4jVersion, "com.amazonaws" % "aws-java-sdk-athena" % awsSdkVersion, - "com.typesafe.play" %% "play-json" % playJsonVersion, + "org.playframework" %% "play-json" % playJsonVersion, "org.specs2" %% "specs2-core" % specsVersion % "test", "com.fasterxml.jackson.core" % "jackson-databind" % jacksonDatabind, "com.fasterxml.jackson.dataformat" % "jackson-dataformat-cbor" % jacksonCbor, @@ -88,8 +88,8 @@ lazy val common = project ws, "org.typelevel" %% "cats-core" % catsVersion, "joda-time" % "joda-time" % "2.12.7", - "com.typesafe.play" %% "play-json" % playJsonVersion, - "com.typesafe.play" %% "play-json-joda" % playJsonVersion, + "org.playframework" %% "play-json" % playJsonVersion, + "org.playframework" %% "play-json-joda" % playJsonVersion, "com.gu" %% "pa-client" % paClientVersion, "com.amazonaws" % "aws-java-sdk-dynamodb" % awsSdkVersion, "com.amazonaws" % "aws-java-sdk-cloudwatch" % awsSdkVersion, @@ -154,6 +154,11 @@ lazy val registration = project logback, "org.tpolecat" %% "doobie-h2" % doobieVersion % Test ), + excludeDependencies ++= Seq( + // As of Play 3.0, groupId has changed to org.playframework; exclude transitive dependencies to the old artifacts + // Hopefully this workaround can be removed once play-json-extensions either updates to Play 3.0 or is merged into play-json + ExclusionRule(organization = "com.typesafe.play") + ), Debian / packageName := name.value, version := projectVersion ) @@ -174,6 +179,11 @@ lazy val notification = project logback, "com.amazonaws" % "aws-java-sdk-sqs" % awsSdkVersion ), + excludeDependencies ++= Seq( + // As of Play 3.0, groupId has changed to org.playframework; exclude transitive dependencies to the old artifacts + // Hopefully this workaround can be removed once play-json-extensions either updates to Play 3.0 or is merged into play-json + ExclusionRule(organization = "com.typesafe.play") + ), Debian / packageName := name.value, version := projectVersion ) @@ -193,6 +203,11 @@ lazy val report = project libraryDependencies ++= Seq( logback ), + excludeDependencies ++= Seq( + // As of Play 3.0, groupId has changed to org.playframework; exclude transitive dependencies to the old artifacts + // Hopefully this workaround can be removed once play-json-extensions either updates to Play 3.0 or is merged into play-json + ExclusionRule(organization = "com.typesafe.play") + ), Debian / packageName := name.value, version := projectVersion ) @@ -204,7 +219,7 @@ lazy val apiModels = { Project("api-models", file("api-models")).settings(Seq( name := "mobile-notifications-api-models", libraryDependencies ++= Seq( - "com.typesafe.play" %% "play-json" % playJsonVersion, + "org.playframework" %% "play-json" % playJsonVersion, "org.specs2" %% "specs2-core" % specsVersion % "test", "org.specs2" %% "specs2-mock" % specsVersion % "test", "com.fasterxml.jackson.core" % "jackson-databind" % jacksonDatabind, @@ -295,7 +310,10 @@ lazy val schedulelambda = lambda("schedule", "schedulelambda") "io.netty" % "netty-codec-http2" % nettyVersion ), excludeDependencies ++= Seq( - ExclusionRule("com.typesafe.play", "play-ahc-ws_2.13") + ExclusionRule("org.playframework", "play-ahc-ws_2.13"), + // As of Play 3.0, groupId has changed to org.playframework; exclude transitive dependencies to the old artifacts + // Hopefully this workaround can be removed once play-json-extensions either updates to Play 3.0 or is merged into play-json + ExclusionRule(organization = "com.typesafe.play") ), ) } @@ -319,8 +337,11 @@ lazy val football = lambda("football", "football") "io.netty" % "netty-common" % nettyVersion, ), excludeDependencies ++= Seq( - ExclusionRule("com.typesafe.play", "play-ahc-ws_2.13"), - ExclusionRule("software.amazon.awssdk", "ec2") + ExclusionRule("org.playframework", "play-ahc-ws_2.13"), + ExclusionRule("software.amazon.awssdk", "ec2"), + // As of Play 3.0, groupId has changed to org.playframework; exclude transitive dependencies to the old artifacts + // Hopefully this workaround can be removed once play-json-extensions either updates to Play 3.0 or is merged into play-json + ExclusionRule(organization = "com.typesafe.play") ), ) @@ -330,7 +351,7 @@ lazy val eventconsumer = lambda("eventconsumer", "eventconsumer", Some("com.gu.n Seq( description := "Consumes events produced when an app receives a notification", libraryDependencies ++= Seq( - "com.typesafe.play" %% "play-json" % playJsonVersion, + "org.playframework" %% "play-json" % playJsonVersion, "com.amazonaws" % "aws-java-sdk-dynamodb" % awsSdkVersion, "org.scala-lang.modules" %% "scala-java8-compat" % "1.0.2", "io.netty" % "netty-codec-http2" % nettyVersion @@ -417,11 +438,14 @@ lazy val notificationworkerlambda = lambda("notificationworkerlambda", "notifica "com.amazonaws" % "aws-java-sdk-s3" % awsSdkVersion, "com.amazonaws" % "amazon-sqs-java-messaging-lib" % "2.1.2", "com.squareup.okhttp3" % "okhttp" % okHttpVersion, - "com.typesafe.play" %% "play-json" % playJsonVersion, + "org.playframework" %% "play-json" % playJsonVersion, "com.google.oauth-client" % "google-oauth-client" % googleOAuthClient, ), excludeDependencies ++= Seq( - ExclusionRule("com.typesafe.play", "play-ahc-ws_2.13") + ExclusionRule("org.playframework", "play-ahc-ws_2.13"), + // As of Play 3.0, groupId has changed to org.playframework; exclude transitive dependencies to the old artifacts + // Hopefully this workaround can be removed once play-json-extensions either updates to Play 3.0 or is merged into play-json + ExclusionRule(organization = "com.typesafe.play") ), ) @@ -433,7 +457,10 @@ lazy val fakebreakingnewslambda = lambda("fakebreakingnewslambda", "fakebreaking "com.squareup.okhttp3" % "okhttp" % okHttpVersion, ), excludeDependencies ++= Seq( - ExclusionRule("com.typesafe.play", "play-ahc-ws_2.13") + ExclusionRule("org.playframework", "play-ahc-ws_2.13"), + // As of Play 3.0, groupId has changed to org.playframework; exclude transitive dependencies to the old artifacts + // Hopefully this workaround can be removed once play-json-extensions either updates to Play 3.0 or is merged into play-json + ExclusionRule(organization = "com.typesafe.play") ), ) @@ -441,6 +468,9 @@ lazy val reportExtractor = lambda("reportextractor", "reportextractor", Some("co .dependsOn(common) .settings( excludeDependencies ++= Seq( - ExclusionRule("com.typesafe.play", "play-ahc-ws_2.13") + ExclusionRule("org.playframework", "play-ahc-ws_2.13"), + // As of Play 3.0, groupId has changed to org.playframework; exclude transitive dependencies to the old artifacts + // Hopefully this workaround can be removed once play-json-extensions either updates to Play 3.0 or is merged into play-json + ExclusionRule(organization = "com.typesafe.play") ) ) diff --git a/common/src/main/scala/metrics/MetricActor.scala b/common/src/main/scala/metrics/MetricActor.scala index 6c52223c0..d0f7448a6 100644 --- a/common/src/main/scala/metrics/MetricActor.scala +++ b/common/src/main/scala/metrics/MetricActor.scala @@ -1,6 +1,6 @@ package metrics -import akka.actor.Actor +import org.apache.pekko.actor.Actor import com.amazonaws.services.cloudwatch.AmazonCloudWatchClient import com.amazonaws.services.cloudwatch.model.{MetricDatum, PutMetricDataRequest, StandardUnit, StatisticSet} import org.slf4j.{Logger, LoggerFactory} diff --git a/common/src/main/scala/metrics/Metrics.scala b/common/src/main/scala/metrics/Metrics.scala index fb520a8eb..483dccf56 100644 --- a/common/src/main/scala/metrics/Metrics.scala +++ b/common/src/main/scala/metrics/Metrics.scala @@ -1,6 +1,6 @@ package metrics -import akka.actor.{ActorSystem, Props} +import org.apache.pekko.actor.{ActorSystem, Props} import com.amazonaws.regions.{Region, Regions} import com.amazonaws.services.cloudwatch.{AmazonCloudWatch, AmazonCloudWatchClientBuilder} import play.api.Environment diff --git a/notification/app/notification/NotificationApplicationLoader.scala b/notification/app/notification/NotificationApplicationLoader.scala index 3645d2c01..82b933fc1 100644 --- a/notification/app/notification/NotificationApplicationLoader.scala +++ b/notification/app/notification/NotificationApplicationLoader.scala @@ -2,7 +2,7 @@ package notification import _root_.controllers.AssetsComponents import _root_.models.{NewsstandShardConfig, TopicCount} -import akka.actor.ActorSystem +import org.apache.pekko.actor.ActorSystem import aws.{AsyncDynamo, TopicCountsS3} import com.amazonaws.regions.Regions.EU_WEST_1 import com.amazonaws.services.s3.{AmazonS3, AmazonS3ClientBuilder} diff --git a/project/plugins.sbt b/project/plugins.sbt index 532b0fe1a..97d5aee99 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -5,7 +5,7 @@ libraryDependencies ++= Seq( resolvers += "Typesafe repository" at "https://repo.typesafe.com/typesafe/releases/" -addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.9.1") +addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.2") addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.8.1") diff --git a/registration/app/registration/RegistrationApplicationLoader.scala b/registration/app/registration/RegistrationApplicationLoader.scala index a836d3aa6..e5773279d 100644 --- a/registration/app/registration/RegistrationApplicationLoader.scala +++ b/registration/app/registration/RegistrationApplicationLoader.scala @@ -2,7 +2,7 @@ package registration import _root_.controllers.AssetsComponents import _root_.models.NewsstandShardConfig -import akka.actor.ActorSystem +import org.apache.pekko.actor.ActorSystem import cats.effect.IO import com.gu.AppIdentity import com.softwaremill.macwire._ diff --git a/registration/app/registration/controllers/Main.scala b/registration/app/registration/controllers/Main.scala index 4a114d8fe..990e76d89 100644 --- a/registration/app/registration/controllers/Main.scala +++ b/registration/app/registration/controllers/Main.scala @@ -1,9 +1,9 @@ package registration.controllers -import akka.actor.ActorSystem -import akka.pattern.after -import akka.stream.scaladsl.Source -import akka.util.ByteString +import org.apache.pekko.actor.ActorSystem +import org.apache.pekko.pattern.after +import org.apache.pekko.stream.scaladsl.Source +import org.apache.pekko.util.ByteString import cats.data.EitherT import error.{NotificationsError, RequestError} import models._ diff --git a/report/app/report/ReportApplicationLoader.scala b/report/app/report/ReportApplicationLoader.scala index c358f2674..2750df447 100644 --- a/report/app/report/ReportApplicationLoader.scala +++ b/report/app/report/ReportApplicationLoader.scala @@ -1,7 +1,7 @@ package report import _root_.controllers.AssetsComponents -import akka.actor.ActorSystem +import org.apache.pekko.actor.ActorSystem import aws.AsyncDynamo import com.amazonaws.regions.Regions.EU_WEST_1 import com.gu.AppIdentity