forked from alexander-myltsev/stalagmite
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sbt
82 lines (74 loc) · 2.42 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
inThisBuild(
Seq(
organization := "com.fommil",
sonatypeGithub := ("fommil", "stalagmite"),
licenses := Seq(LGPL3),
scalaVersion := "2.12.3"
)
)
enablePlugins(NeoJmh)
inConfig(Jmh)(
sensibleTestSettings ++
scalafmtSettings ++
HeaderPlugin.toBeScopedSettings
)
libraryDependencies ++= Seq(
"com.google.guava" % "guava" % "22.0" % "test",
"com.google.guava" % "guava-testlib" % "18.0" % "test",
"org.ensime" %% "pcplod" % "1.2.1" % "test",
"org.typelevel" %% "cats" % "0.9.0" % "test",
"org.typelevel" %% "kittens" % "1.0.0-M10" % "test",
"com.github.alexarchambault" %% "scalacheck-shapeless_1.13" % "1.1.6" % "test",
"com.github.fommil" %% "spray-json-shapeless" % "1.4.0" % "test",
"org.scalameta" %% "testkit" % "1.8.0" % "test",
"org.scalameta" %% "scalameta" % "1.8.0" % Provided
) ++ shapeless.value.map(_ % "test")
addCompilerPlugin(
"org.scalameta" % "paradise" % "3.0.0-M10" cross CrossVersion.full
)
scalacOptions += "-Xplugin-require:macroparadise"
javaOptions in Test ++= Seq(
s"""-Dpcplod.settings=${(scalacOptions in Test).value.mkString(",")}""",
s"""-Dpcplod.classpath=${(fullClasspath in Test).value
.map(_.data)
.mkString(",")}"""
)
scalacOptions in Test ++= Seq(
"-Yno-imports",
"-Yno-predef"
)
scalacOptions in Jmh -= "-Yno-imports"
scalacOptions in Jmh -= "-Yno-predef"
scalafmtOnCompile in ThisBuild := true
scalafmtConfig in ThisBuild := file("project/scalafmt.conf")
scalafmtVersion in ThisBuild := "1.1.0"
addCommandAlias("fmt", ";sbt:scalafmt ;scalafmt ;test:scalafmt ;jmh:scalafmt")
// WORKAROUND https://github.com/scalameta/paradise/issues/10
scalacOptions in (Compile, console) ~= (_ filterNot (_ contains "paradise"))
// WORKAROUND https://github.com/scalameta/paradise/issues/216
sources in (Compile, doc) := Nil
wartremoverWarnings in (Compile, compile) := Seq(
Wart.AsInstanceOf,
Wart.EitherProjectionPartial,
Wart.IsInstanceOf,
Wart.TraversableOps,
Wart.NonUnitStatements,
Wart.Null,
Wart.OptionPartial,
Wart.Return,
Wart.StringPlusAny,
Wart.Throw,
Wart.TryPartial,
Wart.Var,
Wart.FinalCaseClass,
Wart.ExplicitImplicitTypes
)
wartremoverWarnings in (Test, compile) := Seq(
Wart.EitherProjectionPartial,
Wart.TraversableOps,
Wart.Return,
Wart.StringPlusAny,
Wart.TryPartial,
Wart.FinalCaseClass,
Wart.ExplicitImplicitTypes
)