-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathbuild.sbt
95 lines (85 loc) · 3.25 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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
lazy val scala213 = "2.13.0"
lazy val scala212 = "2.12.8"
lazy val supportedScalaVersions = List(scala213, scala212)
ThisBuild / organization := "com.pagerduty"
ThisBuild / scalaVersion := scala213
lazy val akkaVersion = "2.5.23"
lazy val akkaHttpVersion = "10.1.8"
lazy val scalaMetricsVersion = "2.1.4"
lazy val scalaTestVersion = "3.0.8"
lazy val scalaMockVersion = "4.3.0"
lazy val akkaSupportHttpVersion = "0.7.2"
lazy val logbackVersion = "1.2+"
lazy val sharedSettings = Seq(
crossScalaVersions := supportedScalaVersions,
licenses += ("Apache-2.0", url("https://www.apache.org/licenses/LICENSE-2.0.html")),
bintrayOrganization := Some("pagerduty"),
bintrayRepository := "oss-maven",
publishMavenStyle := true,
resolvers := Seq(
"bintray-pagerduty-oss-maven" at "https://dl.bintray.com/pagerduty/oss-maven",
Resolver.defaultLocal
)
)
lazy val arrivalsApi =
(project in file("arrivals-api"))
.settings(sharedSettings: _*)
.settings(
name := "arrivals-api",
libraryDependencies ++= Seq(
"com.typesafe.akka" %% "akka-actor" % akkaVersion,
"com.typesafe.akka" %% "akka-stream" % akkaVersion,
"com.typesafe.akka" %% "akka-http" % akkaHttpVersion,
"com.pagerduty" %% "akka-support-http" % akkaSupportHttpVersion
)
)
lazy val arrivals =
(project in file("arrivals"))
.dependsOn(arrivalsApi)
.configs(IntegrationTest)
.settings(Defaults.itSettings: _*)
.settings(inConfig(IntegrationTest)(org.scalafmt.sbt.ScalafmtPlugin.scalafmtConfigSettings))
.settings(sharedSettings: _*)
.settings(
name := "arrivals",
libraryDependencies ++= Seq(
"com.lihaoyi" %% "ujson" % "0.7.5",
"com.pagerduty" %% "metrics-api" % scalaMetricsVersion,
"com.typesafe.akka" %% "akka-http-testkit" % akkaHttpVersion % "test",
"com.typesafe.akka" %% "akka-stream-testkit" % akkaVersion % "test",
"org.scalamock" %% "scalamock" % scalaMockVersion % "test",
"org.scalatest" %% "scalatest" % scalaTestVersion % "test,it",
"ch.qos.logback" % "logback-classic" % logbackVersion % "test,it",
"org.scalaj" %% "scalaj-http" % "2.4.2" % "it",
"com.github.tomakehurst" % "wiremock" % "2.22.0" % "it",
"com.typesafe.akka" %% "akka-slf4j" % akkaVersion % "it"
)
)
lazy val arrivalsExample =
(project in file("arrivals-example"))
.dependsOn(arrivals)
.settings(sharedSettings: _*)
.settings(
name := "arrivals-example",
publish / skip := true,
libraryDependencies ++= Seq(
"ch.qos.logback" % "logback-classic" % logbackVersion
)
)
lazy val root =
(project in file("."))
.settings(
// crossScalaVersions must be set to Nil on the aggregating project
crossScalaVersions := Nil,
publish / skip := true,
mappings in makeSite ++= Seq(
file("src/site/.circleci/config.yml") -> ".circleci/config.yml"
),
siteSubdirName in ScalaUnidoc := "api",
addMappingsToSiteDir(mappings in (ScalaUnidoc, packageDoc), siteSubdirName in ScalaUnidoc)
)
.enablePlugins(ScalaUnidocPlugin)
.aggregate(arrivals, arrivalsApi)
scalafmtOnCompile in ThisBuild := true
enablePlugins(GhpagesPlugin)
git.remoteRepo := "[email protected]:PagerDuty/arrivals.git"