-
Notifications
You must be signed in to change notification settings - Fork 2
/
build.sbt
executable file
·95 lines (87 loc) · 2.72 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
import Dependencies.Library
import play.sbt.{ PlayLayoutPlugin, PlayScala }
import sbt._
////*******************************
//// Test module
////*******************************
val test: Project = Project(id = "app-test", base = file("app-test"))
.settings(
libraryDependencies ++= Seq(
Library.Play.test,
Library.Play.specs2,
Library.Akka.testkit,
Library.Specs2.matcherExtra,
Library.scalaGuice,
Library.playReactiveMongo,
Library.embedMongo,
filters
)
)
////*******************************
//// Core module
////*******************************
val core: Project = Project(id = "app-core", base = file("app-core"))
.dependsOn(test % Test)
.settings(
libraryDependencies ++= Seq(
Library.scalaGuice,
Library.apacheCommonsIO,
Library.playReactiveMongo
)
)
.enablePlugins(PlayScala, DisablePackageSettings)
.disablePlugins(PlayLayoutPlugin)
////*******************************
//// Auth module
////*******************************
val auth: Project = Project(id = "app-auth", base = file("app-auth"))
.dependsOn(core, test % Test)
.settings(
libraryDependencies ++= Seq(
Library.Silhouette.core,
Library.Silhouette.passwordBcrypt,
Library.Silhouette.persistence,
Library.Silhouette.cryptoJca,
Library.Silhouette.persistenceReactiveMongo,
Library.scalaGuice,
Library.ficus,
Library.playMailer,
Library.playMailerGuice,
Library.akkaQuartzScheduler,
Library.Silhouette.testkit % Test,
Library.Specs2.matcherExtra % Test,
Library.Akka.testkit % Test,
ws,
guice,
specs2 % Test
)
)
.enablePlugins(PlayScala, DisablePackageSettings)
.disablePlugins(PlayLayoutPlugin)
////*******************************
//// Admin module
////*******************************
val admin: Project = Project(id = "app-admin", base = file("app-admin"))
.dependsOn(auth % "compile->compile;test->test", test % Test)
.enablePlugins(PlayScala, DisablePackageSettings)
.disablePlugins(PlayLayoutPlugin)
////*******************************
//// Coach module
////*******************************
val coach: Project = Project(id = "app-coach", base = file("app-coach"))
.dependsOn(auth % "compile->compile;test->test", test % Test)
.enablePlugins(PlayScala, DisablePackageSettings)
.disablePlugins(PlayLayoutPlugin)
////*******************************
//// Root module
////*******************************
val root: Project = Project(id = "drimt", base = file("."))
.aggregate(test, core, auth, admin)
.dependsOn(auth, admin)
.settings(
libraryDependencies ++= Seq(
filters
)
)
.enablePlugins(PlayScala, NpmSettings, PackageSettings)
.disablePlugins(PlayLayoutPlugin)