-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sbt
80 lines (67 loc) · 1.68 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
ThisBuild / version := "0.1.0-SNAPSHOT"
ThisBuild / scalaVersion := "2.13.10"
lazy val macroSettings = Seq(
libraryDependencies ++= Seq(
scalaOrganization.value % "scala-reflect" % scalaVersion.value,
),
)
lazy val compilerSettings = Seq(
libraryDependencies ++= Seq(
scalaOrganization.value % "scala-compiler" % scalaVersion.value,
),
)
lazy val macroAnnotationSettings = Seq(
scalacOptions ++= Seq(
"-Ymacro-annotations",
),
)
lazy val macroExpandSettings = Seq(
scalacOptions ++= Seq(
"-Ymacro-debug-lite",
),
)
lazy val testSettings = Seq(
libraryDependencies ++= Seq(
"org.scalatest" %% "scalatest" % "3.2.14" % Test,
)
)
lazy val defMacroMacros = (project in file("def-macros/macro-macros"))
.settings(
macroSettings,
)
lazy val defMacros = (project in file("def-macros/macros"))
.settings(
macroSettings,
macroExpandSettings,
)
.dependsOn(defMacroMacros)
lazy val defCore = (project in file("def-macros/core"))
.settings(
macroExpandSettings,
testSettings,
)
.dependsOn(defMacros)
lazy val annotationMacroMacros = (project in file("macro-annotations/macro-macros"))
.settings(
macroSettings,
macroAnnotationSettings,
)
lazy val annotationMacros = (project in file("macro-annotations/macros"))
.settings(
macroSettings,
macroAnnotationSettings,
macroExpandSettings,
)
.dependsOn(annotationMacroMacros)
lazy val annotationCore = (project in file("macro-annotations/core"))
.settings(
macroAnnotationSettings,
macroExpandSettings,
testSettings,
)
.dependsOn(annotationMacros)
lazy val runtime = (project in file("runtime"))
.settings(
macroSettings,
compilerSettings,
)