-
Notifications
You must be signed in to change notification settings - Fork 4
/
build.sbt
67 lines (56 loc) · 2.2 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
import Settings._
import Testing._
val compileAndTest = "compile->compile;test->test"
lazy val workbenchUtil = project.in(file("util"))
.settings(utilSettings:_*)
.disablePlugins(RevolverPlugin)
.withTestSettings
lazy val rawlsModel = project.in(file("model"))
.settings(modelSettings:_*)
.disablePlugins(RevolverPlugin)
.withTestSettings
lazy val workbenchMetrics = project.in(file("metrics"))
.settings(metricsSettings:_*)
.disablePlugins(RevolverPlugin)
.dependsOn(workbenchUtil % compileAndTest)
.withTestSettings
lazy val workbenchGoogle = project.in(file("google"))
.settings(googleSettings:_*)
.disablePlugins(RevolverPlugin)
.dependsOn(rawlsModel)
.dependsOn(workbenchUtil % compileAndTest)
.dependsOn(workbenchMetrics % compileAndTest)
.withTestSettings
lazy val rawlsCore = project.in(file("core"))
.settings(rawlsCoreSettings:_*)
.disablePlugins(RevolverPlugin)
.dependsOn(workbenchUtil % compileAndTest)
.dependsOn(rawlsModel)
.dependsOn(workbenchGoogle)
.dependsOn(workbenchMetrics % compileAndTest)
.withTestSettings
lazy val pact4s = project.in(file("pact4s"))
.settings(pact4sSettings)
.dependsOn(rawlsCore % compileAndTest)
lazy val rawls = project.in(file("."))
.settings(rootSettings:_*)
.aggregate(workbenchUtil)
.aggregate(workbenchGoogle)
.aggregate(rawlsModel)
.aggregate(workbenchMetrics)
.aggregate(rawlsCore)
.dependsOn(rawlsCore)
.withTestSettings
// This appears to do some magic to configure itself. It consistently fails in some environments
// unless it is loaded after the settings definitions above.
Revolver.settings
Global / excludeLintKeys += debugSettings // To avoid lint warning
reStart / mainClass := Some("org.broadinstitute.dsde.rawls.Boot")
// When JAVA_OPTS are specified in the environment, they are usually meant for the application
// itself rather than sbt, but they are not passed by default to the application, which is a forked
// process. This passes them through to the "re-start" command, which is probably what a developer
// would normally expect.
reStart / javaOptions ++= sys.env.getOrElse("JAVA_OPTS", "")
.concat(" -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5050")
.split(" ")
.toSeq