-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.sbt
More file actions
74 lines (63 loc) · 2.21 KB
/
build.sbt
File metadata and controls
74 lines (63 loc) · 2.21 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
name := "lib-cipher"
organization := "com.bryzek"
version := "0.0.19"
ThisBuild / javacOptions ++= Seq("-source", "17", "-target", "17")
ThisBuild / organization := "com.bryzek"
ThisBuild / homepage := Some(url("https://github.com/mbryzek/lib-cipher"))
ThisBuild / licenses := Seq("MIT" -> url("https://github.com/mbryzek/lib-cipher/blob/main/LICENSE"))
ThisBuild / developers := List(
Developer("mbryzek", "Michael Bryzek", "mbryzek@alum.mit.edu", url("https://github.com/mbryzek"))
)
ThisBuild / scmInfo := Some(
ScmInfo(url("https://github.com/mbryzek/lib-cipher"), "scm:git@github.com:mbryzek/lib-cipher.git")
)
ThisBuild / publishTo := sonatypePublishToBundle.value
ThisBuild / sonatypeCredentialHost := "central.sonatype.com"
ThisBuild / sonatypeRepository := "https://central.sonatype.com/api/v1/publisher"
ThisBuild / publishMavenStyle := true
// Cross-build for multiple Scala versions
val scala2Version = "2.13.18"
val scala3Version = "3.8.1"
ThisBuild / scalaVersion := scala3Version
ThisBuild / crossScalaVersions := Seq(scala2Version, scala3Version)
lazy val scala2Options = Seq(
"-feature",
"-Xfatal-warnings",
"-Wunused:locals",
"-Wunused:params",
"-Wunused:imports",
"-Wunused:privates",
"-deprecation",
)
lazy val scala3Options = Seq(
"-feature",
"-Werror",
"-Wunused:locals",
"-Wunused:params",
"-Wimplausible-patterns",
"-Wunused:linted",
"-Wunused:imports",
"-Wunused:privates",
)
lazy val root = project
.in(file("."))
.settings(
resolvers += "scalaz-bintray" at "https://dl.bintray.com/scalaz/releases",
scalafmtOnCompile := true,
Compile / packageDoc / mappings := Seq(),
Compile / packageDoc / publishArtifact := true,
testOptions += Tests.Argument("-oDF"),
scalacOptions ++= {
CrossVersion.partialVersion(scalaVersion.value) match {
case Some((2, _)) => scala2Options
case _ => scala3Options
}
},
libraryDependencies ++= Seq(
"com.password4j" % "password4j" % "1.8.4",
"org.springframework.security" % "spring-security-crypto" % "7.0.0",
"org.mindrot" % "jbcrypt" % "0.4",
"commons-codec" % "commons-codec" % "1.21.0",
"org.scalatestplus.play" %% "scalatestplus-play" % "7.0.1" % Test,
),
)