-
Notifications
You must be signed in to change notification settings - Fork 23
/
Copy pathbuild.sbt
62 lines (56 loc) · 1.83 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
//
// DEBUGGER API PROJECT CONFIGURATION
//
lazy val debuggerApi = project
.in(file("debugger-api"))
.configs(IntegrationTest)
.settings(Common.settings: _*)
.settings(Defaults.itSettings: _*)
.settings(Seq(
name := "debugger-api",
// NOTE: Fork needed to avoid mixing in sbt classloader, which is causing
// LinkageError to be thrown for JDI-based classes
fork in Test := true,
fork in IntegrationTest := true,
libraryDependencies ++= Seq(
"org.slf4j" % "slf4j-api" % "1.7.5",
"org.slf4j" % "slf4j-log4j12" % "1.7.5" % "test,it",
"log4j" % "log4j" % "1.2.17" % "test,it",
"org.scalatest" %% "scalatest" % "2.2.1" % "test,it",
"org.scalamock" %% "scalamock-scalatest-support" % "3.2.1" % "test,it"
),
// JDK Dependency (just for sbt, must exist on classpath for execution,
// cannot be redistributed)
internalDependencyClasspath in Compile +=
{ Attributed.blank(Build.JavaTools) },
internalDependencyClasspath in Runtime +=
{ Attributed.blank(Build.JavaTools) },
internalDependencyClasspath in Test +=
{ Attributed.blank(Build.JavaTools) },
internalDependencyClasspath in IntegrationTest +=
{ Attributed.blank(Build.JavaTools) }
): _*)
.dependsOn(debuggerTest % "test->compile;it->compile")
//
// DEBUGGER TEST CODE PROJECT CONFIGURATION
//
lazy val debuggerTest = project
.in(file("debugger-test"))
.settings(Common.settings: _*)
.settings(
// Do not publish the test project
publishArtifact := false,
publishLocal := {}
)
//
// MAIN PROJECT CONFIGURATION
//
lazy val root = project
.in(file("."))
.settings(Common.settings: _*)
.settings(
name := "scala-debugger",
// Do not publish the aggregation project
publishArtifact := false,
publishLocal := {}
).aggregate(debuggerApi, debuggerTest)