-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathbuild.sbt
67 lines (59 loc) · 2.19 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
lazy val root = project.in(file("."))
.aggregate(rdfsCommon, rdfsPublic, rdfsAnonymous, rdfs)
lazy val rdfsCommon = project.in(file("rdfs-common"))
.settings(moduleName := "rdfs-common")
.settings(buildSettings: _*)
.settings(libraryDependencies += "org.w3" %% "banana_jvm" % "0.7.1")
lazy val rdfsPublic = project.in(file("rdfs-public"))
.settings(moduleName := "rdfs-public")
.settings(buildSettings: _*)
.settings(macroProjectSettings: _*)
.settings(libraryDependencies += sesameDependency)
.dependsOn(rdfsCommon)
lazy val rdfsAnonymous = project.in(file("rdfs-anonymous"))
.settings(moduleName := "rdfs-anonymous")
.settings(buildSettings: _*)
.settings(macroProjectSettings: _*)
.settings(libraryDependencies += sesameDependency)
.dependsOn(rdfsCommon)
lazy val rdfs = project.in(file("rdfs"))
.settings(buildSettings: _*)
.settings(
/** See this Stack Overflow question and answer for some discussion of
* why we need this line: http://stackoverflow.com/q/17134244/334519
*/
unmanagedClasspath in Compile <++= unmanagedResources in Compile
)
.dependsOn(rdfsPublic, rdfsAnonymous)
lazy val buildSettings = Seq(
version := "0.1.0-SNAPSHOT",
scalaVersion := "2.11.6",
crossScalaVersions := Seq("2.10.5", "2.11.6"),
scalacOptions ++= Seq(
"-deprecation",
"-feature",
"-unchecked"
),
resolvers ++= Seq(
Resolver.sonatypeRepo("snapshots"),
Resolver.sonatypeRepo("releases")
),
/** We need the Macro Paradise plugin both to support the macro
* annotations used in the public type provider implementation and to
* allow us to use quasiquotes in both implementations. The anonymous
* type providers could easily (although much less concisely) be
* implemented without the plugin.
*/
addCompilerPlugin(paradiseDependency)
)
lazy val sesameDependency = "org.w3" %% "sesame" % "0.7.1"
lazy val paradiseDependency =
"org.scalamacros" % "paradise" % "2.1.0-M5" cross CrossVersion.full
lazy val macroProjectSettings = Seq(
libraryDependencies <+= (scalaVersion)(
"org.scala-lang" % "scala-reflect" % _
),
libraryDependencies ++= (
if (scalaVersion.value.startsWith("2.10")) List(paradiseDependency) else Nil
)
)