build.sbt (32 lines of code) (raw):

import com.typesafe.sbt.packager.archetypes.systemloader.ServerLoader.Systemd enablePlugins(JavaServerAppPackaging, SystemdPlugin) name := "sanity-tests" version := "1.0" scalaVersion := "2.13.15" scalacOptions ++= Seq("-feature", "-release:11") routesGenerator := InjectedRoutesGenerator lazy val root = (project in file(".")) .enablePlugins(PlayScala) .disablePlugins(PlayNettyServer) val AwsVersion = "2.27.24" libraryDependencies ++= Seq( "org.quartz-scheduler" % "quartz" % "2.5.0", "org.scalatest" %% "scalatest" % "3.2.19", ws, "software.amazon.awssdk" % "s3" % AwsVersion, "software.amazon.awssdk" % "cloudwatch" % AwsVersion, "net.logstash.logback" % "logstash-logback-encoder" % "8.0", "joda-time" % "joda-time" % "2.13.0", //to fix "object joda is not a member.." error that appeared after dependency override akka-http-core_2.13 ) dependencyOverrides ++= Seq( "org.scala-lang.modules" %% "scala-xml" % "2.3.0", //this version is wanted by scalatest, which has more use for it in this project than play. "com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.17.3", "ch.qos.logback" % "logback-classic" % "1.5.12", "ch.qos.logback" % "logback-core" % "1.5.12", ) testOptions ++= Seq("-u", "target/junit-test-reports").map(Tests.Argument(_)) Universal / packageName := normalizedName.value maintainer := "Guardian Content Platforms <content-platforms.dev@theguardian.com>" Debian / serverLoading := Some(Systemd) Debian / daemonUser := "content-api" Debian / daemonGroup := "content-api"