-
Notifications
You must be signed in to change notification settings - Fork 23
/
build.sbt
90 lines (77 loc) · 2.54 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
// ---------------------------------------------------------------------------
// Basic settings
name := "grizzled-scala"
version := "4.11.0"
organization := "org.clapper"
licenses := Seq("ASF" -> url("https://www.apache.org/licenses/LICENSE-2.0"))
homepage := Some(url("http://software.clapper.org/grizzled-scala/"))
description := "A general-purpose Scala utility library"
scalaVersion := "2.13.0"
crossScalaVersions := Seq("2.11.12", "2.12.8", "2.13.0")
unmanagedSourceDirectories in Compile += {
val sourceDir = (sourceDirectory in Compile).value
CrossVersion.partialVersion(scalaVersion.value) match {
case Some((2, n)) if n >= 13 => sourceDir / "scala-2.13"
case _ => sourceDir / "pre-scala-2.13"
}
}
// ---------------------------------------------------------------------------
// Additional compiler options and plugins
autoCompilerPlugins := true
scalacOptions ++= Seq("-deprecation", "-feature", "-unchecked")
bintrayPackageLabels := Seq("library", "grizzled", "scala")
wartremoverErrors in (Compile, compile) ++= Seq(
Wart.ArrayEquals,
// Wart.Any,
Wart.AnyVal,
Wart.AsInstanceOf,
Wart.EitherProjectionPartial,
Wart.Enumeration,
Wart.ExplicitImplicitTypes,
Wart.FinalCaseClass,
Wart.FinalVal,
Wart.IsInstanceOf,
Wart.JavaConversions,
Wart.LeakingSealed,
Wart.MutableDataStructures,
// Wart.NonUnitStatements,
// Wart.Nothing,
Wart.Null,
Wart.Option2Iterable,
Wart.OptionPartial,
Wart.PublicInference,
Wart.Return,
Wart.StringPlusAny,
Wart.Throw,
Wart.TraversableOps,
Wart.TryPartial,
Wart.Var,
Wart.While
)
// ---------------------------------------------------------------------------
// Dependencies
libraryDependencies ++= Seq(
"org.scala-lang.modules" %% "scala-collection-compat" % "2.0.0",
"org.scalatest" %% "scalatest" % "3.0.8" % Test
)
parallelExecution in Test := true
// ---------------------------------------------------------------------------
// Other tasks
// ---------------------------------------------------------------------------
// Publishing criteria
// Don't set publishTo. The Bintray plugin does that automatically.
publishMavenStyle := true
publishArtifact in Test := false
pomIncludeRepository := { _ => false }
pomExtra :=
<scm>
<url>git@github.com:bmc/grizzled-scala.git/</url>
<connection>scm:git:git@github.com:bmc/grizzled-scala.git</connection>
</scm>
<developers>
<developer>
<id>bmc</id>
<name>Brian Clapper</name>
<url>http://www.clapper.org/bmc</url>
</developer>
</developers>