@@ -16,19 +16,31 @@ lazy val rho = project
16
16
17
17
lazy val `rho-core` = project
18
18
.in(file(" core" ))
19
- .settings(rhoPreviousArtifacts(lastVersion = " 0.19.0" , " core" ))
20
- .settings(buildSettings : _* )
19
+ .settings(mimaConfiguration)
20
+ .settings(buildSettings ++ Seq (
21
+ Compile / unmanagedSourceDirectories ++= {
22
+ val baseDir = baseDirectory.value
23
+
24
+ val mainSrcDir = " src/main/scala"
25
+ CrossVersion .partialVersion(scalaVersion.value) match {
26
+ case Some ((2 , minor)) if minor <= 12 => Seq (baseDir / s " $mainSrcDir-2.12- " )
27
+ case Some ((2 , minor)) if minor >= 13 => Seq (baseDir / s " $mainSrcDir-2.13+ " )
28
+ case _ => Nil
29
+ }
30
+ },
31
+ libraryDependencies ++= Seq (" org.scala-lang.modules" %% " scala-collection-compat" % " 2.0.0" )
32
+ ): _* )
21
33
22
34
lazy val `rho-hal` = project
23
35
.in(file(" hal" ))
24
36
.settings(buildSettings :+ halDeps : _* )
25
- .settings(rhoPreviousArtifacts(lastVersion = " 0.19.0 " , " hal " ) )
37
+ .settings(mimaConfiguration )
26
38
.dependsOn(`rho-core`)
27
39
28
40
lazy val `rho-swagger` = project
29
41
.in(file(" swagger" ))
30
42
.settings(buildSettings :+ swaggerDeps : _* )
31
- .settings(rhoPreviousArtifacts(lastVersion = " 0.19.0 " , " swagger " ) )
43
+ .settings(mimaConfiguration )
32
44
.dependsOn(`rho-core` % " compile->compile;test->test" )
33
45
34
46
lazy val docs = project
@@ -46,7 +58,7 @@ lazy val docs = project
46
58
version.value,
47
59
apiVersion.value
48
60
),
49
- scalacOptions in (ScalaUnidoc , unidoc) += " -Ypartial-unification " ,
61
+ scalacOptions in (ScalaUnidoc , unidoc) ++= versionSpecificEnabledFlags(scalaVersion.value) ,
50
62
unidocProjectFilter in (ScalaUnidoc , unidoc) := inProjects(
51
63
`rho-core`,
52
64
`rho-hal`,
@@ -77,18 +89,22 @@ lazy val `rho-examples` = project
77
89
): _* )
78
90
.dependsOn(`rho-swagger`, `rho-hal`)
79
91
80
- lazy val compileFlags = Seq (
92
+ lazy val compilerFlags = Seq (
81
93
" -feature" ,
82
94
" -deprecation" ,
83
95
" -unchecked" ,
84
96
" -language:higherKinds" ,
85
97
" -language:existentials" ,
86
98
" -language:implicitConversions" ,
87
99
" -Ywarn-unused" ,
88
- " -Ypartial-unification" ,
89
100
" -Xfatal-warnings"
90
101
)
91
102
103
+ def versionSpecificEnabledFlags (version : String ) = (CrossVersion .partialVersion(version) match {
104
+ case Some ((2 , 13 )) => Seq .empty[String ]
105
+ case _ => Seq (" -Ypartial-unification" )
106
+ })
107
+
92
108
/* Don't publish setting */
93
109
lazy val dontPublish = packagedArtifacts := Map .empty
94
110
@@ -99,9 +115,9 @@ lazy val license = licenses in ThisBuild := Seq(
99
115
100
116
lazy val buildSettings = publishing ++
101
117
Seq (
102
- scalaVersion := " 2.12.8 " ,
103
- crossScalaVersions := Seq (scalaVersion.value, " 2.11.12 " ),
104
- scalacOptions ++= compileFlags ,
118
+ scalaVersion := " 2.13.1 " ,
119
+ crossScalaVersions := Seq (scalaVersion.value, " 2.12.10 " ),
120
+ scalacOptions := compilerFlags ++ versionSpecificEnabledFlags(scalaVersion.value) ,
105
121
resolvers += Resolver .sonatypeRepo(" snapshots" ),
106
122
fork in run := true ,
107
123
organization in ThisBuild := " org.http4s" ,
0 commit comments