Skip to content

Commit b3b52d8

Browse files
author
Igor Antonov
committed
Use typelevel scala
1 parent 42eaf6e commit b3b52d8

File tree

1 file changed

+29
-9
lines changed

1 file changed

+29
-9
lines changed

build.sbt

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ lazy val commonSettings = Seq(
1212

1313
version := "5.0.0-SNAPSHOT",
1414

15-
scalaVersion := "2.11.11",
15+
scalaOrganization := "org.typelevel",
16+
scalaVersion := "2.11.11-bin-typelevel-4",
17+
1618
scalacOptions ++= Seq(
1719
"-deprecation",
1820
"-encoding", "UTF-8", // yes, this is 2 args
@@ -23,9 +25,27 @@ lazy val commonSettings = Seq(
2325
"-unchecked",
2426
"-Xlint",
2527
"-Yno-adapted-args",
26-
"-Ywarn-numeric-widen",
27-
"-Ywarn-value-discard",
28-
"-Xfuture"
28+
"-Ywarn-dead-code", // Warn when dead code is identified.
29+
"-Ywarn-extra-implicit", // Warn when more than one implicit parameter section is defined.
30+
"-Ywarn-inaccessible", // Warn about inaccessible types in method signatures.
31+
"-Ywarn-infer-any", // Warn when a type argument is inferred to be `Any`.
32+
"-Ywarn-nullary-override", // Warn when non-nullary `def f()' overrides nullary `def f'.
33+
"-Ywarn-nullary-unit", // Warn when nullary methods return Unit.
34+
"-Ywarn-numeric-widen", // Warn when numerics are widened.
35+
"-Ywarn-unused:implicits", // Warn if an implicit parameter is unused.
36+
"-Ywarn-unused:imports", // Warn if an import selector is not referenced.
37+
"-Ywarn-unused:locals", // Warn if a local definition is unused.
38+
"-Ywarn-unused:params", // Warn if a value parameter is unused.
39+
"-Ywarn-unused:patvars", // Warn if a variable bound in a pattern is unused.
40+
"-Ywarn-unused:privates", // Warn if a private member is unused.
41+
"-Ywarn-value-discard", // Warn when non-Unit expression results are unused.
42+
"-Xfuture",
43+
// Typelevel Scala 4
44+
"-Yinduction-heuristics", // speeds up the compilation of inductive implicit resolution
45+
"-Ykind-polymorphism", // type and method definitions with type parameters of arbitrary kinds
46+
"-Yliteral-types", // literals can appear in type position
47+
"-Xstrict-patmat-analysis", // more accurate reporting of failures of match exhaustivity
48+
"-Xlint:strict-unsealed-patmat" // warn on inexhaustive matches against unsealed traits
2949
),
3050

3151
addCompilerPlugin("org.spire-math" % "kind-projector" % "0.9.4" cross CrossVersion.binary),
@@ -63,7 +83,7 @@ lazy val `client-api` = (project in file("client-api")).
6383
name := s"client-api",
6484
description := s"Redmine REST API Client for Scala ${scalaBinaryVersion.value}: Client API. " +
6585
s"Contains domain classes and API manager traits.",
66-
crossScalaVersions := Seq("2.11.11", "2.12.3"),
86+
crossScalaVersions := Seq("2.11.11-bin-typelevel-4", "2.12.3-bin-typelevel-4"),
6787
libraryDependencies ++= Seq(
6888
Dependencies.monixEval,
6989
Dependencies.catsFree,
@@ -83,7 +103,7 @@ lazy val `client-core` = (project in file("client-core")).
83103
name := s"client-core",
84104
description := s"Redmine REST API Client for Scala ${scalaBinaryVersion.value}: Client Core. " +
85105
s"Contains API manager and JSON serialization implementation.",
86-
crossScalaVersions := Seq("2.11.11", "2.12.3"),
106+
crossScalaVersions := Seq("2.11.11-bin-typelevel-4", "2.12.3-bin-typelevel-4"),
87107
libraryDependencies ++= Seq(
88108
Dependencies.catsFree,
89109
Dependencies.jodaTime,
@@ -104,7 +124,7 @@ lazy val `client-play25-ws` = (project in file("client-play25-ws")).
104124
settings(
105125
name := s"client-play25-ws",
106126
description := s"Redmine REST API Client for Scala ${scalaBinaryVersion.value}: Play-WS 2.5 Web Client",
107-
crossScalaVersions := Seq("2.11.11"),
127+
crossScalaVersions := Seq("2.11.11-bin-typelevel-4"),
108128
libraryDependencies ++= Seq(
109129
Dependencies.play25Ws,
110130
Dependencies.slf4jJdk14 % Test,
@@ -120,7 +140,7 @@ lazy val `client-play26-ws` = (project in file("client-play26-ws")).
120140
settings(
121141
name := s"client-play26-ws",
122142
description := s"Redmine REST API Client for Scala ${scalaBinaryVersion.value}: Play-WS 2.6 Web Client",
123-
crossScalaVersions := Seq("2.11.11","2.12.3"),
143+
crossScalaVersions := Seq("2.11.11-bin-typelevel-4","2.12.3-bin-typelevel-4"),
124144
libraryDependencies ++= Seq(
125145
Dependencies.play26Ws,
126146
Dependencies.slf4jJdk14 % Test,
@@ -136,7 +156,7 @@ lazy val `client-play-ws-standalone` = (project in file("client-play-ws-standalo
136156
settings(
137157
name := s"client-play-ws-standalone",
138158
description := s"Redmine REST API Client for Scala ${scalaBinaryVersion.value}: Play-WS Standalone Web Client",
139-
crossScalaVersions := Seq("2.11.11", "2.12.3"),
159+
crossScalaVersions := Seq("2.11.11-bin-typelevel-4", "2.12.3-bin-typelevel-4"),
140160
libraryDependencies ++= Seq(
141161
Dependencies.playWsStandalone,
142162
Dependencies.slf4jJdk14 % Test,

0 commit comments

Comments
 (0)