-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.sbt
39 lines (33 loc) · 1.13 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
name := "Practical Droste"
scalaVersion := "2.12.8"
version := "0.0.1-SNAPSHOT"
val V = new {
val droste = "0.6.0"
val kindProjector = "0.9.9"
val macroParadise = "2.1.1"
val betterMonadicFor = "0.2.4"
}
scalacOptions ++= Seq(
"-feature",
"-deprecation",
"-language:implicitConversions",
"-language:higherKinds",
"-language:postfixOps",
"-Ypartial-unification"
)
libraryDependencies ++= Seq(
"io.higherkindness" %% "droste-core" % V.droste,
"io.higherkindness" %% "droste-macros" % V.droste,
("com.lihaoyi" % "ammonite" % "1.5.0" % "test").cross(CrossVersion.full)
)
scalafmtOnCompile := true
sourceGenerators in Test += Def.task {
val file = (sourceManaged in Test).value / "amm.scala"
IO.write(file, """object amm extends App { ammonite.Main.main(args) }""")
Seq(file)
}.taskValue
libraryDependencies ++= Seq(
compilerPlugin("org.spire-math" % "kind-projector" % V.kindProjector cross CrossVersion.binary),
compilerPlugin("com.olegpy" %% "better-monadic-for" % V.betterMonadicFor),
compilerPlugin("org.scalamacros" % "paradise" % V.macroParadise cross CrossVersion.patch)
)