-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sbt
62 lines (50 loc) · 1.87 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
val commonSettings = Seq(
organization := "com.htmlism",
scalaVersion := "2.13.15",
crossScalaVersions := Seq("2.12.20", "2.13.15"),
scalacOptions += "-Xsource:3"
)
lazy val core = Project("spawning-pool-core", file("spawning-pool-core"))
.settings(commonSettings*)
.settings(specs2*)
.settings(betterConsole)
lazy val coreAlpha =
Project("spawning-pool-core-alpha", file("spawning-pool-core-alpha"))
.settings(commonSettings*)
.settings(fs2*)
.settings(specs2*)
.settings(betterConsole)
lazy val coreCats =
Project("spawning-pool-scalaz", file("spawning-pool-scalaz"))
.settings(commonSettings*)
.dependsOn(coreAlpha)
lazy val shapelessMutation = Project("spawning-pool-shapeless-mutation", file("spawning-pool-shapeless-mutation"))
.settings(commonSettings*)
.settings(shapeless)
.dependsOn(coreAlpha)
lazy val benchmark = project
.settings(commonSettings*)
.dependsOn(core)
lazy val storage =
module("storage")
.settings(description := "Support for persisting populations")
.withEffectMonad
.withYaml
lazy val root = Project("spawning-pool", file("."))
.settings(commonSettings*)
.aggregate(core, benchmark, coreAlpha, storage)
publishArtifact := false
lazy val fs2 = Seq(libraryDependencies += "co.fs2" %% "fs2-core" % "2.0.0")
lazy val shapeless = Seq(
libraryDependencies ++= Seq("com.chuusai" %% "shapeless" % "2.3.3") ++
(CrossVersion.partialVersion(scalaVersion.value) match {
case Some((2, 10)) =>
Seq(compilerPlugin("org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full))
case _ => Nil
})
)
lazy val specs2 = Seq(
libraryDependencies += "org.specs2" %% "specs2-core" % "4.10.6" % "test",
libraryDependencies += "org.scalacheck" %% "scalacheck" % "1.17.0" % "test"
)
lazy val betterConsole = console / initialCommands := "import com.htmlism.spawningpool._"