-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBuild.scala
56 lines (49 loc) · 1.49 KB
/
Build.scala
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
import sbt._
import Keys._
object BuildSettings {
val buildSettings = Defaults.defaultSettings ++ Seq(
version := "0.1",
scalaVersion := "2.10.2",
scalacOptions ++= Seq("-deprecation", "-feature" /*, "-Ymacro-debug-lite" */),
resolvers += Resolver.sonatypeRepo("snapshots"),
addCompilerPlugin("org.scala-lang.plugins" % "macro-paradise_2.10.2" % "2.0.0-SNAPSHOT")
)
}
object Dependencies {
val reflect = (scalaVersion)("org.scala-lang" % "scala-reflect" % _)
val scalatest = "org.scalatest" % "scalatest_2.10" % "2.0.M5b"
val kiama = "com.googlecode.kiama" %% "kiama" % "1.5.1"
val shapeless = "com.chuusai" % "shapeless_2.10.2" % "2.0.0-M1"
}
object FreshScalaBuild extends Build {
import BuildSettings._
import Dependencies._
lazy val root: Project = Project(
"root",
file("."),
settings = buildSettings
) aggregate(core, examples, benchmark)
lazy val core: Project = Project(
"core",
file("core"),
settings = buildSettings ++ Seq(
name := "fresh-scala",
mainClass := None,
parallelExecution in Test := false,
libraryDependencies <+= reflect,
libraryDependencies += scalatest,
libraryDependencies += kiama,
libraryDependencies += shapeless
)
)
lazy val examples: Project = Project(
"examples",
file("examples"),
settings = buildSettings
) dependsOn(core)
lazy val benchmark: Project = Project(
"benchmark",
file("benchmark"),
settings = buildSettings
) dependsOn(core)
}