-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sbt
60 lines (52 loc) · 1.69 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
import sbt.Keys._
import Dependencies._
name := "mesa"
Compile / doc / scalacOptions += "-no-java-comments"
// factor out common settings across the sub-projects
lazy val commonSettings = Seq(
organization := "gov.nasa",
version := "1.1",
scalaVersion := "2.13.8",
Compile / mainClass := Some("gov.nasa.mesa.core.MesaMain"),
Compile / doc / scalacOptions += "-no-java-comments",
// uncomment to get the full stack trace for failed tests
//testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-oF"),
libraryDependencies ++=
Seq(
typesafeConfig,
akkaActor,
akkaTestkit,
scalaTest,
flexmarkAll,
scalaTestPlus,
scalaCheck,
jodaTime,
raceCore,
raceNetJms,
raceAir,
raceWw,
raceWwAir,
raceTestKit
),
commands ++= Commands.stagingCmds
)
lazy val subProjectSettings = commonSettings ++ Seq(
unmanagedBase := (unmanagedBase in LocalRootProject).value
)
lazy val dautProject =
RootProject(uri(sys.props.getOrElse("daut_uri", daut)))
lazy val tracecontractProject =
RootProject(uri(sys.props.getOrElse("tracecontract_uri", tracecontract)))
// root project aggregates the sub-projects
lazy val root = Project("mesa", file("."))
.aggregate(mesaCore, mesaNextgen)
.dependsOn(mesaCore, mesaNextgen)
.enablePlugins(JavaAppPackaging)
.settings(commonSettings)
lazy val mesaCore = Project("mesa-core", file("mesa-core"))
.dependsOn(dautProject, tracecontractProject)
.settings(subProjectSettings)
// mesa-nas provides runtime verification for national airspace system properties
lazy val mesaNextgen = Project("mesa-nextgen", file("mesa-nextgen"))
.dependsOn(mesaCore)
.settings(subProjectSettings)