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

import com.typesafe.sbt.packager.docker import com.typesafe.sbt.packager.docker.DockerPermissionStrategy import com.typesafe.sbt.packager.docker._ name := "pluto_versions_manager" version := "1.0" lazy val `pluto_versions_manager` = (project in file(".")) .enablePlugins(PlayScala, plugins.JUnitXmlReportPlugin) .enablePlugins(AshScriptPlugin) //needed for alpine-based images .settings( version := sys.props.getOrElse("build.number","DEV"), dockerExposedPorts := Seq(9000), dockerUsername := sys.props.get("docker.username"), dockerRepository := Some("guardianmultimedia"), Docker / mappings ++= Seq( (baseDirectory.value / "/dockerfile-customisation/sysctl-local.conf") -> "dockerfile-customisation/sysctl-local.conf" ), Docker / packageName := "guardianmultimedia/pluto-versions-manager", Docker / dockerCommands ++= Seq( Cmd("USER", "root"), Cmd("COPY", "dockerfile-customisation/sysctl-local.conf", "/etc/sysctl.d/local.conf"), Cmd("USER", "demiourgos728") ), packageName := "pluto-versions-manager", dockerBaseImage := "amazoncorretto:11-alpine", dockerPermissionStrategy := DockerPermissionStrategy.CopyChown, dockerAlias := docker.DockerAlias(None,Some("guardianmultimedia"),"pluto-versions-manager",Some(sys.props.getOrElse("build.number","DEV"))), scalacOptions ++= Seq("-deprecation", "-feature"), ) resolvers += "Akka Snapshot Repository" at "https://repo.akka.io/snapshots/" scalaVersion := "2.13.9" libraryDependencies ++= Seq( specs2 % Test , guice ) val circeVersion = "0.14.0" libraryDependencies ++= Seq( "io.circe" %% "circe-core", "io.circe" %% "circe-generic", "io.circe" %% "circe-parser" ).map(_ % circeVersion) libraryDependencies += "io.circe" %% "circe-yaml" % "0.14.0" libraryDependencies += "com.dripower" %% "play-circe" % "2814.2" libraryDependencies += "io.skuber" %% "skuber" % "2.6.7" libraryDependencies += "com.typesafe.akka" %% "akka-http" % "10.5.2" libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.2.13" libraryDependencies += "org.bouncycastle" % "bc-fips" % "1.0.2.4" //authentication libraryDependencies ++= Seq( "com.nimbusds" % "nimbus-jose-jwt" % "9.37.2", ) //testing Test / testOptions ++= Seq( Tests.Argument("junitxml", "junit.outdir", sys.env.getOrElse("SBT_JUNIT_OUTPUT","/tmp")), Tests.Argument("console") ) libraryDependencies ++= Seq( "com.novocode" % "junit-interface" % "0.11" % Test, "org.specs2" %% "specs2-junit" % "4.12.12" % Test ) val scalacacheVersion = "0.28.0" libraryDependencies ++= Seq ( "com.github.cb372" %% "scalacache-memcached", "com.github.cb372" %% "scalacache-core", "com.github.cb372" %% "scalacache-circe", ).map(_ % scalacacheVersion) libraryDependencies += "com.typesafe.akka" %% "akka-actor-typed" % "2.7.0" libraryDependencies += "com.typesafe.akka" %% "akka-serialization-jackson" % "2.7.0" libraryDependencies += "com.typesafe.akka" %% "akka-slf4j" % "2.7.0" libraryDependencies += "com.typesafe.akka" %% "akka-actor-typed" % "2.7.0" libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.7.0" libraryDependencies += "com.typesafe.akka" %% "akka-protobuf-v3" % "2.7.0" libraryDependencies += "com.typesafe.akka" %% "akka-stream" % "2.7.0"