-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.sbt
48 lines (40 loc) · 1.36 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
import sbt.Keys._
import sbtassembly.AssemblyPlugin.autoImport._
lazy val commonSettings = Seq(
libraryDependencies += "junit" % "junit" % "4.12" % "test",
autoScalaLibrary := false
)
lazy val artifacts: File = root.base / "artifacts"
lazy val root = project.in(file("."))
.aggregate(utils, services, admin, web)
.settings(
clean <<= clean map { nothing =>
IO.delete(artifacts)
}
)
lazy val utils = project.in(file("utils"))
.settings(commonSettings: _*)
lazy val services = project.in(file("services"))
.settings(commonSettings: _*)
.dependsOn(utils)
lazy val admin = project.in(file("admin"))
.settings(commonSettings: _*)
.settings(
assemblyJarName in assembly := "admin.jar",
assemblyOutputPath in assembly := artifacts / "admin.jar",
assemblyOption in assembly := (assemblyOption in assembly).value.copy(includeScala = false)
)
.settings(
sbt.Keys.`package` <<= (sbt.Keys.`package` in Compile) dependsOn assembly,
assembly <<= assembly dependsOn (compile in Compile)
)
.dependsOn(services)
lazy val web = project.in(file("web"))
.settings(commonSettings: _*)
.settings(libraryDependencies += "javax.servlet" % "servlet-api" % "2.5" % "provided")
.enablePlugins(WarPlugin)
.settings(
webappWebInfClasses := true,
artifactPath in sbt.Keys.`package` := artifacts / "web.war"
)
.dependsOn(services)