@@ -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