-
Notifications
You must be signed in to change notification settings - Fork 14
/
build.sbt
83 lines (73 loc) · 2.3 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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
import sbt.Keys._
lazy val cqlAst = project
.in(file("cql-ast"))
.settings(name := "cql-ast")
lazy val cqlParser = project
.in(file("cql-parser"))
.settings(name := "cql-parser")
.settings(libraryDependencies ++= Vector(
Library.scalaTest % Test,
Library.scalaParserCombinators
))
.dependsOn(cqlAst)
lazy val troySchema = project
.in(file("troy-schema"))
.settings(name := "troy-schema")
.dependsOn(cqlParser % "test->test;compile->compile")
.settings(libraryDependencies ++= Vector(
Library.scalaTest % Test
))
lazy val troy = project
.in(file("troy-macro"))
.settings(libraryDependencies ++= Vector(
Library.scalaReflect,
Library.scalaTest % Test,
Library.cassandraUnit % Test
))
.dependsOn(troyDriver, troySchema % "test->test;compile->compile")
.settings(Defaults.coreDefaultSettings ++ Seq(
unmanagedClasspath in Test ++= (unmanagedResources in Test).value,
parallelExecution in Test := false
): _*)
/**
* Post 1.0 era
*/
lazy val typelevelUtils = project
.in(file("typelevel-utils"))
.settings(name := "typelevel-utils")
.settings(libraryDependencies ++= Vector(
Library.shapeless
))
lazy val tast = project
.in(file("typelevel-ast"))
.dependsOn(typelevelUtils % "test->test;compile->compile")
.settings(name := "typelevel-ast")
lazy val troyDriver = project
.in(file("troy-driver"))
.dependsOn(tast)
.settings(name := "troy-driver")
.settings(libraryDependencies ++= Vector(
Library.scalaReflect,
Library.scalaTest % Test,
Library.mockito % Test,
Library.cassandraDriverCore,
Library.shapeless
))
lazy val troyMeta = project
.in(file("troy-meta"))
.settings(name := "troy-meta")
.settings(libraryDependencies ++= Vector(
Library.scalaMeta,
Library.scalaTest % Test,
Library.cassandraUnit % Test
))
.dependsOn(troyDriver, troySchema)
.settings(Defaults.coreDefaultSettings ++ Seq(
unmanagedClasspath in Test ++= (unmanagedResources in Test).value,
parallelExecution in Test := false,
resolvers += Resolver.sonatypeRepo("snapshots"),
addCompilerPlugin(Library.macroParadise)
): _*)
lazy val root = project.in(file("."))
.settings(name := "troy-root", publishArtifact := false, publish := {}, publishLocal := {})
.aggregate(troy, troyDriver, troySchema, cqlParser, cqlAst)