-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.sbt
More file actions
52 lines (48 loc) · 2.1 KB
/
build.sbt
File metadata and controls
52 lines (48 loc) · 2.1 KB
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
lazy val root = (project in file("."))
.aggregate(`akka-http`, avro4s, `jsoniter-scala`, `test`)
.settings(
// root intentionally does not contain any code, so don't publish
ReleaseSettings.disabled,
// crossScalaVersions must be set to Nil on the aggregating project
// https: //www.scala-sbt.org/1.x/docs/Cross-Build.html#Cross+building+a+project
crossScalaVersions := Nil,
name := "vacade-root"
)
lazy val `akka-http` = (project in file("akka-http"))
.settings(
ReleaseSettings.libraryOptimized("com.github.cerst.vacade.akka.http"),
crossScalaVersions := CommonValues.crossScalaVersions,
libraryDependencies ++= Dependencies.`akka-http`,
name := "vacade-akka-http"
)
lazy val avro4s = (project in file("avro4s"))
.settings(
ReleaseSettings.libraryOptimized("com.github.cerst.vacade.avro4s"),
crossScalaVersions := CommonValues.crossScalaVersions,
libraryDependencies ++= Dependencies.avro4s,
name := "vacade-avro4s"
)
lazy val `jsoniter-scala` = (project in file("jsoniter-scala"))
.settings(
ReleaseSettings.libraryOptimized("com.github.cerst.vacade.jsoniter_scala"),
crossScalaVersions := CommonValues.crossScalaVersions,
libraryDependencies ++= Dependencies.`jsoniter-scala`,
name := "vacade-jsoniter-scala"
)
// have a separate project for tests
// * allows to declare test classes only once and
// * works around the problem of not being able to use macro-code in the same compilation unit which declared them
// (by declaring test type in src/main of this module and then having tests as usual)
// can't put tests into the original modules as this would cause a circular dependency
lazy val `test` = (project in file("test"))
.dependsOn(`akka-http`, avro4s, `jsoniter-scala`)
.settings(
ReleaseSettings.disabled,
crossScalaVersions := CommonValues.crossScalaVersions,
libraryDependencies ++= Dependencies.`test`(scalaVersion.value),
name := "test",
scalacOptions ++= (CrossVersion.partialVersion(scalaVersion.value) match {
case Some((2, 13)) => Seq("-Ymacro-annotations")
case _ => Seq()
})
)