build.sbt (46 lines of code) (raw):
import ReleaseTransformations.*
import sbtversionpolicy.withsbtrelease.ReleaseVersion
val scala_2_12: String = "2.12.20"
val scala_2_13: String = "2.13.16"
ThisBuild / scalacOptions := Seq("-deprecation", "-release:11")
ThisBuild / scalaVersion := scala_2_13
ThisBuild / crossScalaVersions := Seq(
scalaVersion.value,
scala_2_12,
)
val awsSdk2Version = "2.31.20"
lazy val root = (project in file("."))
.settings(
licenses := Seq(License.Apache2),
organization := "com.gu",
name := "mobile-logstash-encoder",
libraryDependencies ++= Seq(
"software.amazon.awssdk" % "autoscaling" % awsSdk2Version,
"software.amazon.awssdk" % "ec2" % awsSdk2Version,
"net.logstash.logback" % "logstash-logback-encoder" % "8.1",
"com.gu" %% "simple-configuration-core" % "5.1.0",
"ch.qos.logback" % "logback-core" % "1.5.18",
"com.fasterxml.jackson.core" % "jackson-core" % "2.19.0",
"com.fasterxml.jackson.core" % "jackson-databind" % "2.19.0",
"io.netty" % "netty-codec" % "4.2.0.Final",
"io.netty" % "netty-codec-http" % "4.2.0.Final",
"io.netty" % "netty-codec-http2" % "4.2.0.Final",
"io.netty" % "netty-common" % "4.2.0.Final",
"org.specs2" %% "specs2-core" % "4.21.0" % "test"
),
releaseVersion := ReleaseVersion.fromAggregatedAssessedCompatibilityWithLatestRelease().value,
releaseCrossBuild := true, // true if you cross-build the project for multiple Scala versions
releaseProcess := Seq[ReleaseStep](
checkSnapshotDependencies,
inquireVersions,
runClean,
runTest,
setReleaseVersion,
commitReleaseVersion,
tagRelease,
setNextVersion,
commitNextVersion
),
Test / testOptions +=
Tests.Argument(TestFrameworks.ScalaTest, "-u", s"test-results/scala-${scalaVersion.value}", "-o")
)