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

import ReleaseTransformations.* import sbtversionpolicy.withsbtrelease.ReleaseVersion name := "simple-configuration" val awsSdkVersion = "2.31.20" scalaVersion := "2.13.16" val sharedSettings = Seq( scalaVersion := "2.13.16", crossScalaVersions := Seq("3.3.5", scalaVersion.value, "2.12.20"), licenses := Seq(License.Apache2), organization := "com.gu", scalacOptions := Seq("-release:11") ) val core = project .settings(sharedSettings) .settings( name := "simple-configuration-core", libraryDependencies ++= Seq( "software.amazon.awssdk" % "ec2" % awsSdkVersion, "software.amazon.awssdk" % "autoscaling" % awsSdkVersion, "com.typesafe" % "config" % "1.4.3", "org.slf4j" % "slf4j-api" % "2.0.17" ) ) val s3 = project .settings(sharedSettings) .dependsOn(core) .settings( name := "simple-configuration-s3", libraryDependencies ++= Seq("software.amazon.awssdk" % "s3" % awsSdkVersion) ) val ssm = project .settings(sharedSettings) .dependsOn(core) .settings( name := "simple-configuration-ssm", libraryDependencies ++= Seq( "software.amazon.awssdk" % "ssm" % awsSdkVersion ) ) lazy val root = project .in(file(".")) .aggregate(core, s3, ssm) .settings( publish / skip := true, releaseCrossBuild := true, releaseVersion := ReleaseVersion.fromAggregatedAssessedCompatibilityWithLatestRelease().value, releaseProcess := Seq[ReleaseStep]( checkSnapshotDependencies, inquireVersions, runClean, runTest, setReleaseVersion, commitReleaseVersion, tagRelease, setNextVersion, commitNextVersion ) )