build.sbt (51 lines of code) (raw):
import com.typesafe.sbt.packager.archetypes.systemloader.ServerLoader.Systemd
organization := "com.gu"
description := "podcasts RSS feed"
scalaVersion := "2.13.10"
scalacOptions ++= Seq("-deprecation", "-feature", "-unchecked")
routesGenerator := InjectedRoutesGenerator
val root = Project("podcasts-rss", file("."))
.enablePlugins(PlayScala, JavaServerAppPackaging, SystemdPlugin)
.settings(
libraryDependencies ++= Seq(
"org.jsoup" % "jsoup" % "1.18.1",
"com.gu" %% "content-api-client" % "31.0.3",
"com.squareup.okhttp3" % "okhttp" % "4.12.0", // SNYK-JAVA-ORGJETBRAINSKOTLIN-2393744, SNYK-JAVA-COMSQUAREUPOKIO-5820002
"software.amazon.awssdk" % "secretsmanager" % "2.25.32", // SNYK-JAVA-IONETTY-1042268
"org.scalactic" %% "scalactic" % "3.2.19",
"org.scalatest" %% "scalatest" % "3.2.19" % "test",
"net.logstash.logback" % "logstash-logback-encoder" % "7.4",
"com.gu" %% "content-api-models-json" % "25.0.0" % "test", // keeping in line with imports from content-api-client
"com.gu" %% "simple-configuration-core" % "2.0.0",
"com.gu.play-secret-rotation" %% "play-v30" % "8.2.1",
"com.gu.play-secret-rotation" %% "aws-parameterstore-sdk-v2" % "8.2.1",
//AWS SDK v2 clients
"software.amazon.awssdk" % "url-connection-client" % "2.26.22", //only used at startup. For operations we use akka http client
"joda-time" % "joda-time" % "2.12.7"
),
maintainer := "Guardian Content Platforms <content-platforms.dev@theguardian.com>",
version := "1.0",
Debian / serverLoading := Some (Systemd),
daemonUser := "content-api",
daemonGroup := "content-api",
linuxPackageMappings += packageTemplateMapping(s"/var/run/${name.value}")() withUser (daemonUser.value) withGroup (daemonGroup.value),
Test / testOptions += Tests.Argument(
TestFrameworks.ScalaTest,
"-u", sys.env.getOrElse("SBT_JUNIT_OUTPUT", "junit"),
"-o"
)
)
Universal / packageName := normalizedName.value
dependencyOverrides ++=Seq(
"com.fasterxml.jackson.dataformat" % "jackson-dataformat-cbor" % "2.17.1",
"com.fasterxml.jackson.datatype" % "jackson-datatype-jdk8" % "2.17.2",
"com.fasterxml.jackson.datatype" % "jackson-datatype-jsr310" % "2.17.2",
"com.fasterxml.jackson.module" % "jackson-module-parameter-names" % "2.17.2",
"com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.17.2",
"com.fasterxml.jackson.core" % "jackson-core" % "2.17.2",
"com.fasterxml.jackson.core" % "jackson-annotations" % "2.17.2",
"com.fasterxml.jackson.core" % "jackson-databind" % "2.17.0",
"com.fasterxml.jackson.module" %% "jackson-module-scala" % "2.17.2"
)
excludeDependencies ++= Seq(
ExclusionRule("software.amazon.awssdk", "apache-client")
)