-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.sbt
52 lines (48 loc) · 1.63 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
import Common._
val scala2Version = "2.13.10"
val scala3Version = "3.2.2"
lazy val root =
project
.in(file("."))
.settings(commonSettings("dhallj-magnolia-root"))
.settings(publishArtifact := false)
.aggregate(
dhalljMagnolia.projectRefs: _*
)
lazy val dhalljMagnolia = (projectMatrix in file("modules/dhallj-magnolia"))
.settings(commonSettings("dhallj-magnolia"))
.settings(
libraryDependencies ++= Seq(
"org.dhallj" %% "dhall-scala-codec" % "0.10.0-M2",
"org.scalameta" %% "munit" % "0.7.29" % Test,
"org.dhallj" %% "dhall-javagen" % "0.10.0-M2" % Test
),
libraryDependencies ++= {
CrossVersion.partialVersion(scalaVersion.value) match {
case Some((3, _)) =>
Seq("com.softwaremill.magnolia1_3" %% "magnolia" % "1.3.0")
case _ =>
Seq(
"com.softwaremill.magnolia1_2" %% "magnolia" % "1.1.3",
"org.scala-lang" % "scala-reflect" % scala2Version % Provided,
)
}
},
scalacOptions ++= {
CrossVersion.partialVersion(scalaVersion.value) match {
case Some((3, _)) =>
Seq("-Xmax-inlines", "64", "-Wunused:all", "-Yretain-trees")
case _ =>
Seq.empty
}
}
)
.jvmPlatform(scalaVersions = Seq(scala2Version, scala3Version))
lazy val benchmark = (projectMatrix in file("modules/benchmark"))
.settings(commonSettings("benchmark"))
.settings(
scalaVersion := scala3Version
)
.enablePlugins(JmhPlugin)
.dependsOn(dhalljMagnolia)
.jvmPlatform(scalaVersions = Seq(scala3Version))