-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.sbt
More file actions
64 lines (58 loc) · 2.71 KB
/
build.sbt
File metadata and controls
64 lines (58 loc) · 2.71 KB
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
60
61
62
63
64
/*
* Copyright 2020 CJWW Development
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import com.typesafe.config.ConfigFactory
import com.typesafe.sbt.packager.docker.Cmd
import scala.util.Try
val appName = "natter"
val btVersion: String = Try(ConfigFactory.load.getString("version")).getOrElse("0.1.0")
val dependencies: Seq[ModuleID] = Seq(
guice,
"com.google.firebase" % "firebase-admin" % "6.12.2",
"org.scalatestplus.play" %% "scalatestplus-play" % "5.0.0" % Test,
"org.mockito" % "mockito-core" % "3.2.4" % Test
)
lazy val microservice = Project(appName, file("."))
.enablePlugins(PlayScala)
.configs(IntegrationTest)
.settings(PlayKeys.playDefaultPort := 6161)
.settings(PlayKeys.devSettings += "play.server.http.idleTimeout" -> "infinite")
.settings(inConfig(IntegrationTest)(Defaults.itSettings): _*)
.settings(
version := btVersion,
scalaVersion := "2.13.1",
organization := "com.cjww-dev.apps",
resolvers ++= Seq(
"scalaz-bintray" at "https://dl.bintray.com/scalaz/releases",
"cjww-dev" at "https://dl.bintray.com/cjww-development/releases"
),
libraryDependencies ++= dependencies,
bintrayOrganization := Some("cjww-development"),
bintrayReleaseOnPublish in ThisBuild := true,
bintrayRepository := "releases",
bintrayOmitLicense := true,
Keys.fork in IntegrationTest := false,
unmanagedSourceDirectories in IntegrationTest := (baseDirectory in IntegrationTest)(base => Seq(base / "it")).value,
parallelExecution in IntegrationTest := false,
dockerRepository := Some("cjwwdevelopment"),
dockerCommands := Seq(
Cmd("FROM", "openjdk:8u181-jdk"),
Cmd("WORKDIR", "/opt/docker"),
Cmd("ADD", "--chown=daemon:daemon opt /opt"),
Cmd("USER", "daemon"),
Cmd("ENTRYPOINT", s"""["/opt/docker/bin/$appName"]"""),
Cmd("CMD", """[]""")
)
)