-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sbt
51 lines (41 loc) · 1.67 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
import sbt.Compile
ThisBuild / version := "0.2"
ThisBuild / scalaVersion := "2.13.8"
lazy val scalaXml = "org.scala-lang.modules" %% "scala-xml" % "2.1.0"
lazy val scalaParser = "org.scala-lang.modules" %% "scala-parser-combinators" % "2.1.1"
lazy val phobos = "ru.tinkoff" %% "phobos-core" % "0.15.0-anyrefmap-SNAPSHOT"
lazy val jaxb = "javax.xml.bind" % "jaxb-api" % "2.3.1"
lazy val jaxbactivation = "javax.activation" % "activation" % "1.1.1"
lazy val jaxbruntime = "org.glassfish.jaxb" % "jaxb-runtime" % "2.3.1"
Test / parallelExecution := false
logBuffered := false
fork := true
javaOptions += "-Xmx4G"
val scala2Version = "2.13.8"
val scala3Version = "3.1.2"
lazy val common =
(projectMatrix in file(s"common"))
.jvmPlatform(List(scala2Version, scala3Version))
lazy val scala2 =
(projectMatrix in file(s"scala2"))
.settings(
libraryDependencies ++= List(scalaXml, scalaParser, phobos, jaxb, jaxbactivation, jaxbruntime),
Compile / scalaxb / scalaxbPackageName := "xb",
)
.enablePlugins(ScalaxbPlugin)
.enablePlugins(JmhPlugin)
.dependsOn(common)
.jvmPlatform(List(scala2Version))
lazy val scala3 =
(projectMatrix in file(s"scala3"))
.settings(
libraryDependencies ++= List(phobos),
)
.enablePlugins(JmhPlugin)
.dependsOn(common)
.jvmPlatform(List(scala3Version))
addCommandAlias(
"benchmark",
";scala33 / Jmh / run -rf csv -prof gc -rff ../../../results/scala3-new.csv" +
";scala2 / Jmh / run -rf csv -prof gc -rff ../../../results/scala2.csv",
)