From 4db3c0a6eaab8f785a1fd665bf8b39a5f94a1b71 Mon Sep 17 00:00:00 2001 From: Tobias Binna Date: Mon, 3 Jun 2024 19:09:15 +0800 Subject: [PATCH] Migrate to Play 3 - Update dependencies, SBT version - Update to Play version 3 and compatible Slick version - Update to the latest Java LTS version 21 Closes #37 --- .github/workflows/ci.yml | 4 +- build.sbt | 26 ++++++++----- .../src/test/resources/logback-test.xml | 17 ++++++++ .../play/slick/ContainerDbConfiguration.scala | 0 .../play/slick/PostgresContainerTest.scala | 0 .../SlickAtlassianHostRepositoryIt.scala | 0 .../SlickForgeInstallationRepositoryIt.scala | 0 .../play/slick/SlickRepositoryIt.scala | 0 .../slick/fixtures/AtlassianHostFixture.scala | 0 .../slick/generators/AtlassianHostGen.scala | 0 project/CommonSettings.scala | 4 +- project/Dependencies.scala | 39 +++++++++++-------- project/build.properties | 2 +- project/plugins.sbt | 2 +- src/it/resources/logback-test.xml | 14 ------- version.sbt | 2 +- 16 files changed, 64 insertions(+), 46 deletions(-) create mode 100644 integration/src/test/resources/logback-test.xml rename {src/it => integration/src/test}/scala/io/toolsplus/atlassian/connect/play/slick/ContainerDbConfiguration.scala (100%) rename {src/it => integration/src/test}/scala/io/toolsplus/atlassian/connect/play/slick/PostgresContainerTest.scala (100%) rename {src/it => integration/src/test}/scala/io/toolsplus/atlassian/connect/play/slick/SlickAtlassianHostRepositoryIt.scala (100%) rename {src/it => integration/src/test}/scala/io/toolsplus/atlassian/connect/play/slick/SlickForgeInstallationRepositoryIt.scala (100%) rename {src/it => integration/src/test}/scala/io/toolsplus/atlassian/connect/play/slick/SlickRepositoryIt.scala (100%) rename {src/it => integration/src/test}/scala/io/toolsplus/atlassian/connect/play/slick/fixtures/AtlassianHostFixture.scala (100%) rename {src/it => integration/src/test}/scala/io/toolsplus/atlassian/connect/play/slick/generators/AtlassianHostGen.scala (100%) delete mode 100644 src/it/resources/logback-test.xml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9066e72..ba97017 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,10 +9,10 @@ jobs: - uses: actions/setup-java@v3 with: distribution: 'temurin' - java-version: '11' + java-version: '21' cache: 'sbt' - name: Compile, test - run: sbt clean coverage test IntegrationTest/test coverageReport + run: sbt clean coverage test integration/test coverageReport - name: Upload coverage to Codecov uses: codecov/codecov-action@v3 env: diff --git a/build.sbt b/build.sbt index 0c49bc5..e1a2a93 100644 --- a/build.sbt +++ b/build.sbt @@ -2,14 +2,14 @@ import ReleaseTransformations._ val commonSettings = Seq( organization := "io.toolsplus", - scalaVersion := "2.13.2" + scalaVersion := "2.13.14", ) -val integrationTestSettings = Defaults.itSettings ++ Seq( - IntegrationTest / fork := true, - IntegrationTest / testOptions += Tests.Argument(TestFrameworks.ScalaTest, - "-u", - "target/test-reports") +val integrationTestSettings = Seq( + Test / fork := true, + Test / testOptions += Tests.Argument(TestFrameworks.ScalaTest, + "-u", + "target/test-reports") ) lazy val publishSettings = Seq( @@ -19,7 +19,7 @@ lazy val publishSettings = Seq( licenses := Seq( "Apache 2.0" -> url("https://www.apache.org/licenses/LICENSE-2.0")), publishMavenStyle := true, - publishArtifact in Test := false, + Test / publishArtifact := false, pomIncludeRepository := { _ => false }, @@ -79,7 +79,15 @@ lazy val `atlassian-connect-play-slick` = project .in(file(".")) .settings(libraryDependencies ++= Dependencies.root) .settings(commonSettings: _*) - .settings(integrationTestSettings: _*) .settings(publishSettings) .settings(moduleSettings(project)) - .configs(IntegrationTest) + +lazy val `integration` = project + .in(file("integration")) + .settings(libraryDependencies ++= Dependencies.integration) + .settings(commonSettings: _*) + .settings(integrationTestSettings: _*) + .settings( + publish / skip := true, + ) + .dependsOn(`atlassian-connect-play-slick`) diff --git a/integration/src/test/resources/logback-test.xml b/integration/src/test/resources/logback-test.xml new file mode 100644 index 0000000..6779d7d --- /dev/null +++ b/integration/src/test/resources/logback-test.xml @@ -0,0 +1,17 @@ + + + + + + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + \ No newline at end of file diff --git a/src/it/scala/io/toolsplus/atlassian/connect/play/slick/ContainerDbConfiguration.scala b/integration/src/test/scala/io/toolsplus/atlassian/connect/play/slick/ContainerDbConfiguration.scala similarity index 100% rename from src/it/scala/io/toolsplus/atlassian/connect/play/slick/ContainerDbConfiguration.scala rename to integration/src/test/scala/io/toolsplus/atlassian/connect/play/slick/ContainerDbConfiguration.scala diff --git a/src/it/scala/io/toolsplus/atlassian/connect/play/slick/PostgresContainerTest.scala b/integration/src/test/scala/io/toolsplus/atlassian/connect/play/slick/PostgresContainerTest.scala similarity index 100% rename from src/it/scala/io/toolsplus/atlassian/connect/play/slick/PostgresContainerTest.scala rename to integration/src/test/scala/io/toolsplus/atlassian/connect/play/slick/PostgresContainerTest.scala diff --git a/src/it/scala/io/toolsplus/atlassian/connect/play/slick/SlickAtlassianHostRepositoryIt.scala b/integration/src/test/scala/io/toolsplus/atlassian/connect/play/slick/SlickAtlassianHostRepositoryIt.scala similarity index 100% rename from src/it/scala/io/toolsplus/atlassian/connect/play/slick/SlickAtlassianHostRepositoryIt.scala rename to integration/src/test/scala/io/toolsplus/atlassian/connect/play/slick/SlickAtlassianHostRepositoryIt.scala diff --git a/src/it/scala/io/toolsplus/atlassian/connect/play/slick/SlickForgeInstallationRepositoryIt.scala b/integration/src/test/scala/io/toolsplus/atlassian/connect/play/slick/SlickForgeInstallationRepositoryIt.scala similarity index 100% rename from src/it/scala/io/toolsplus/atlassian/connect/play/slick/SlickForgeInstallationRepositoryIt.scala rename to integration/src/test/scala/io/toolsplus/atlassian/connect/play/slick/SlickForgeInstallationRepositoryIt.scala diff --git a/src/it/scala/io/toolsplus/atlassian/connect/play/slick/SlickRepositoryIt.scala b/integration/src/test/scala/io/toolsplus/atlassian/connect/play/slick/SlickRepositoryIt.scala similarity index 100% rename from src/it/scala/io/toolsplus/atlassian/connect/play/slick/SlickRepositoryIt.scala rename to integration/src/test/scala/io/toolsplus/atlassian/connect/play/slick/SlickRepositoryIt.scala diff --git a/src/it/scala/io/toolsplus/atlassian/connect/play/slick/fixtures/AtlassianHostFixture.scala b/integration/src/test/scala/io/toolsplus/atlassian/connect/play/slick/fixtures/AtlassianHostFixture.scala similarity index 100% rename from src/it/scala/io/toolsplus/atlassian/connect/play/slick/fixtures/AtlassianHostFixture.scala rename to integration/src/test/scala/io/toolsplus/atlassian/connect/play/slick/fixtures/AtlassianHostFixture.scala diff --git a/src/it/scala/io/toolsplus/atlassian/connect/play/slick/generators/AtlassianHostGen.scala b/integration/src/test/scala/io/toolsplus/atlassian/connect/play/slick/generators/AtlassianHostGen.scala similarity index 100% rename from src/it/scala/io/toolsplus/atlassian/connect/play/slick/generators/AtlassianHostGen.scala rename to integration/src/test/scala/io/toolsplus/atlassian/connect/play/slick/generators/AtlassianHostGen.scala diff --git a/project/CommonSettings.scala b/project/CommonSettings.scala index 18f8743..9896bb8 100644 --- a/project/CommonSettings.scala +++ b/project/CommonSettings.scala @@ -4,7 +4,7 @@ import sbt.Keys._ object CommonSettings extends AutoPlugin { override def projectSettings = Seq( - parallelExecution in Test := false, - fork in Test := true + Test / parallelExecution := false, + Test / fork := true ) } \ No newline at end of file diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 8b3b549..e98be23 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -4,35 +4,42 @@ object Dependencies { val root = Seq( Library.playSlick, Library.atlassianConnectApi, - Library.playSlickEvolutions % "test, it", - Library.scalaTest % "test, it", - Library.scalaCheck % "test, it", - Library.scalaTestPlusScalaCheck % "test, it", + Library.playSlickEvolutions % "test", + Library.scalaTest % "test", + Library.scalaCheck % "test", + Library.scalaTestPlusScalaCheck % "test", Library.h2 % "test", - Library.postgres % "it", - Library.testcontainersScala % "it", - Library.testcontainersScalaPostgresql % "it" + ) + + val integration = Seq( + Library.playSlickEvolutions % "test", + Library.scalaTest % "test", + Library.scalaCheck % "test", + Library.postgres % "test", + Library.testcontainersScala % "test", + Library.testcontainersScalaPostgresql % "test", + Library.scalaTestPlusScalaCheck % "test", ) } object Version { - val atlassianConnectPlay = "0.7.0" - val playSlick = "5.1.0" - val scalaTestPlusPlay = "5.1.0" - val scalaCheck = "1.14.3" - val scalaTestPlusScalaCheck = "3.1.2.0" + val atlassianConnectPlay = "0.8.0" + val playSlick = "6.1.0" + val scalaTestPlusPlay = "7.0.1" + val scalaCheck = "1.18.0" + val scalaTestPlusScalaCheck = "3.2.18.0" val h2 = "1.4.197" val postgres = "42.6.0" - val testcontainersScala = "0.41.0" + val testcontainersScala = "0.41.3" } object Library { val atlassianConnectApi = "io.toolsplus" %% "atlassian-connect-play-api" % Version.atlassianConnectPlay - val playSlick = "com.typesafe.play" %% "play-slick" % Version.playSlick - val playSlickEvolutions = "com.typesafe.play" %% "play-slick-evolutions" % Version.playSlick + val playSlick = "org.playframework" %% "play-slick" % Version.playSlick + val playSlickEvolutions = "org.playframework" %% "play-slick-evolutions" % Version.playSlick val scalaTest = "org.scalatestplus.play" %% "scalatestplus-play" % Version.scalaTestPlusPlay val scalaCheck = "org.scalacheck" %% "scalacheck" % Version.scalaCheck - val scalaTestPlusScalaCheck = "org.scalatestplus" %% "scalacheck-1-14" % Version.scalaTestPlusScalaCheck + val scalaTestPlusScalaCheck = "org.scalatestplus" %% "scalacheck-1-17" % Version.scalaTestPlusScalaCheck val h2 = "com.h2database" % "h2" % Version.h2 val postgres = "org.postgresql" % "postgresql" % Version.postgres val testcontainersScala = "com.dimafeng" %% "testcontainers-scala-scalatest" % Version.testcontainersScala diff --git a/project/build.properties b/project/build.properties index cb6a5a8..be54e77 100644 --- a/project/build.properties +++ b/project/build.properties @@ -1 +1 @@ -sbt.version = 1.3.13 +sbt.version = 1.10.0 diff --git a/project/plugins.sbt b/project/plugins.sbt index 4448fc3..e47b38d 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -1,4 +1,4 @@ -addSbtPlugin("org.scoverage" % "sbt-scoverage" % "1.6.1") +addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.12") addSbtPlugin("org.scalameta" % "sbt-scalafmt" % "2.4.0") addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.13") addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "3.9.2") diff --git a/src/it/resources/logback-test.xml b/src/it/resources/logback-test.xml deleted file mode 100644 index afaebf8..0000000 --- a/src/it/resources/logback-test.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n - - - - - - - \ No newline at end of file diff --git a/version.sbt b/version.sbt index 0731f9c..151c905 100644 --- a/version.sbt +++ b/version.sbt @@ -1 +1 @@ -version in ThisBuild := "0.4.3-SNAPSHOT" +ThisBuild / version := "0.4.3-SNAPSHOT"