-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathbuild.sbt
53 lines (43 loc) · 1015 Bytes
/
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
name := "S99"
def Scala212 = "2.12.20"
val isScala3 = Def.setting(
CrossVersion.partialVersion(scalaVersion.value).exists(_._1 == 3)
)
scalaVersion := Scala212
crossScalaVersions := Seq(Scala212, "2.13.16", "3.6.4")
libraryDependencies ++= Seq(
"org.scalatest" %% "scalatest-funspec" % "3.2.19" % "test",
"org.scalacheck" %% "scalacheck" % "1.18.1" % "test"
)
val unusedWarnings = Def.setting(
List("-Ywarn-unused:imports")
)
scalacOptions ++= Seq(
"-deprecation",
"-unchecked",
"-language:existentials",
"-language:higherKinds",
"-language:implicitConversions"
)
scalacOptions ++= {
if (isScala3.value) {
Seq(
)
} else {
unusedWarnings.value ++ Seq(
"-Xsource:3",
"-Xlint"
)
}
}
scalacOptions ++= {
CrossVersion.partialVersion(scalaVersion.value) match {
case Some((2, 11 | 12)) =>
Seq("-Yno-adapted-args", "-Xfuture")
case _ =>
Nil
}
}
Seq(Compile, Test).flatMap(c =>
(c / console / scalacOptions) --= unusedWarnings.value
)