-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sbt
59 lines (53 loc) · 1.96 KB
/
build.sbt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import com.typesafe.sbt.packager.docker.Cmd
import com.typesafe.sbt.packager.docker.DockerPlugin.autoImport.dockerUpdateLatest
Global / onChangedBuildSource := ReloadOnSourceChanges
ThisBuild / turbo := true
ThisBuild / organization := "cz.jenda"
val installBashCommands = Seq(
Cmd("USER", "root"),
Cmd("RUN", "apk", "add", "--update", "bash", "&&", "rm", "-rf", "/var/cache/apk/*"),
Cmd("USER", "daemon")
)
lazy val containerSettings = Seq(
dockerBaseImage := "adoptopenjdk/openjdk11:alpine-jre",
dockerUpdateLatest := true,
dockerExposedPorts := Seq(8080),
dockerEntrypoint := Seq("bin/tracker-backend", "-Dconfig.file=/application.conf"),
Docker / packageName := "tracker-server"
)
lazy val commonSettings = BuildSettings.common ++ Seq(
version := sys.props.getOrElse("version", "1.0-SNAPSHOT"),
libraryDependencies ++= Seq(
Dependencies.logbackClassic,
Dependencies.scalaTest % Test
),
Test / publishArtifact := false
)
lazy val root = project
.in(file("."))
.settings(commonSettings)
.settings(containerSettings)
.settings(
libraryDependencies ++= Seq(
Dependencies.circeGenericExtras,
Dependencies.circeLiteral,
Dependencies.circeParser,
Dependencies.http4sCirce,
Dependencies.mysql,
Dependencies.log4cats,
Dependencies.rabbitmq,
Dependencies.rabbitmqCirce,
Dependencies.rabbitmqPureconfig,
Dependencies.sstBundleMonixHttp4sBlaze,
Dependencies.sstDoobieHikariPureConfig,
Dependencies.sstDoobieHikari,
Dependencies.sstFlywayPureConfig,
Dependencies.sstJvm
),
name := "tracker-backend",
Compile / mainClass := Some("cz.jenda.tracker.Main"),
dockerCommands ++= installBashCommands
)
.enablePlugins(JavaAppPackaging, UniversalPlugin, DockerPlugin)
addCommandAlias("check", "; scalafmtSbtCheck; scalafmtCheckAll; compile:scalafix --check; test:scalafix --check; test")
addCommandAlias("fix", "; compile:scalafix; test:scalafix; scalafmtSbt; scalafmtAll")