-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathbuild.sbt
More file actions
64 lines (55 loc) · 2.13 KB
/
build.sbt
File metadata and controls
64 lines (55 loc) · 2.13 KB
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
import sbt._
import Settings._
scalaVersion in ThisBuild := scalaVersionUsed
lazy val root = project.root
.setName("Workshop exercises")
.setDescription("Task, State, Free, Validation workshop")
.setInitialCommand("_")
.configureRoot
.aggregate(common, validation, state, free, task, `summary-cats`, `summary-scalaz`)
lazy val common = project.from("common")
.setName("workshop-common")
.setDescription("Common utils used in exercises")
.configureModule
lazy val validation = project.from("validation")
.setName("workshop-validation")
.setDescription("Validation monad exercises")
.setInitialCommand("validation._")
.configureModule
.dependsOn(common)
.settings(mainClass in (Compile, run) := Some("workshop.validation.Main"))
lazy val state = project.from("state")
.setName("workshop-state")
.setDescription("State monad exercises")
.setInitialCommand("state._")
.configureModule
.dependsOn(common)
.settings(mainClass in (Compile, run) := Some("workshop.state.Main"))
lazy val free = project.from("free")
.setName("workshop-free")
.setDescription("Free monad exercises")
.setInitialCommand("free._")
.configureModule
.dependsOn(common)
.settings(mainClass in (Compile, run) := Some("workshop.free.Main"))
lazy val task = project.from("task")
.setName("workshop-task")
.setDescription("Task monad exercises")
.setInitialCommand("task._")
.configureModule
.dependsOn(common)
.settings(mainClass in (Compile, run) := Some("workshop.task.Main"))
lazy val `summary-cats` = project.from("summary-cats")
.setName("workshop-summary-cats")
.setDescription("Demo of a complete Cats program")
.setInitialCommand("summary._")
.configureModule
.dependsOn(common, validation, state, free, task)
.settings(mainClass in (Compile, run) := Some("workshop.summary.CatsMain"))
lazy val `summary-scalaz` = project.from("summary-scalaz")
.setName("workshop-summary-scalaz")
.setDescription("Demo of a complete Scalaz program")
.setInitialCommand("summary._")
.configureModule
.dependsOn(common, validation, state, free, task)
.settings(mainClass in (Compile, run) := Some("workshop.summary.ScalazMain"))