Switch projects which use CrossVersion.full/"org.scala-lang" to CrossVersion.patch/scalaOrganization.value #135
Description
Please note: the list of projects below is not complete — add any projects you think might benefit from being built and tested with Typelevel Scala
To use Typelevel Scala versions which are not exactly aligned with the corresponding Lightbend Scala version (ie. because they include an additional -bin-patch-nnn
suffix in their version) we need to modify project builds which use CrossVersion.full
(which includes the suffix) to use CrossVersion.patch
(which doesn't) where appropriate (eg. for macro-paradise and other compiler plugins).
Please note that CrossVersion.patch
was added in SBT 0.13.13, so projects which aren't already on that version will also need to be upgraded to that version or later.
We must also replace explicit compiler dependencies of the form,
"org.scala-lang" % "scala-reflect" % scalaVersion.value % "provided"
"org.scala-lang" % "scala-compiler" % scalaVersion.value % "provided"
with dependendencies parametrized by scalaOrganization
,
scalaOrganization.value % "scala-reflect" % scalaVersion.value % "provided"
scalaOrganization.value % "scala-compiler" % scalaVersion.value % "provided"
The general form of the changes are as shown in the completed/PR'd examples below ...
Please add projects and their status to this list,
- algebra — Change CrossVersion.full to use CrossVersion.patch for Typelevel Scala compatibility. algebra#202
- argonaut — Use CrossVersion.patch and scalaOrganization.value. argonaut-io/argonaut#271
- argonaut-shapeless — Switch from CrossVersion.full to CrossVersion.patch for TLS compatibility alexarchambault/argonaut-shapeless#86
- cats — Switch from CrossVersion.full to CrossVersion.patch for TLS compatibi… cats#1541
- circe — Change CrossVersion.full to use CrossVersion.patch for Typelevel Scala compatibility. circe/circe#580
- config — Cross version lambdista/config#9
- discipline — no changes needed
- dogs — Use CrossVersion.patch. cats-collections#88
- doobie — sbt 0.13.13; crossVersion.full -> .patch doobie#472
- finch — Use scalaOrganization.value. finagle/finch#756
- fs2 — Updated for CrossVersion patch and scalaOrganization fs2#820
- http4s — Added option for compatibility with typelevel scala http4s/http4s#942
- kittens — https://github.com/milessabin/kittens/pull/35
- libisabelle – larsrh/libisabelle@453a5e4
- monix — Switch from CrossVersion.full/"org.scala-lang" to CrossVersion.patch/scalaOrganization.value monix/monix#323
- monocle — update CrossVersion.patch and scalaOrganization.value optics-dev/Monocle#506
- pureconfig — Change use of CrossVersion.full to CrossVersion.patch. pureconfig/pureconfig#158
- refined — Change CrossVersion.full to use CrossVersion.patch for Typelevel Scala compatibility. fthomas/refined#261
- sbt-sensible — https://github.com/fommil/sbt-sensible/pull/8
- sbt-tls-crossproject — Switch to CrossVersion.patch sbt-tls-crossproject#3
- scalacheck — no changes needed
- scalacheck-shapeless — Update CrossVersion.patch. alexarchambault/scalacheck-shapeless#57
- scalaz — Change CrossVersion.full to CrossVersion.patch scalaz/scalaz#1325
- scodec — update sbt.version to 0.13.13; switch to CrossVersion.patch scodec/scodec#96
- seals — Use CrossVersion.patch instead of .full durban/seals#52
- shapeless — milessabin/shapeless@546f045
- shapeless-contrib — Change CrossVersion.full to use CrossVersion.patch for Typelevel Scala compatibility. shapeless-contrib#41
- singleton-ops — switch to CrossVersion.patch; use scalaOrganization.value fthomas/singleton-ops#28
- slickless — no changes needed
- specs2 — etorreborre/specs2@b16c2af
- spire — Use CrossVersion.patch and scalaOrganization.value. spire#638
- spray-json-shapeless — https://github.com/fommil/spray-json-shapeless/pull/34
- tut — "org.scala-lang" -> scalaOrganization.value tpolecat/tut#146
- frameless
- scalatest