Skip to content

Commit

Permalink
Add support for Scalacheck 1.16.0 (#53)
Browse files Browse the repository at this point in the history
  • Loading branch information
mdedetrich authored Oct 3, 2022
1 parent b92aaff commit 90e4202
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 5 deletions.
20 changes: 19 additions & 1 deletion build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,12 @@ def commonSettings(subProject: Option[String]): Seq[Setting[_]] = {
Seq(
name := artifact.value,

mimaPreviousArtifacts := Set(organization.value %% artifact.value % mimaPreviousVersion.value),
mimaPreviousArtifacts := {
if (ScalaCheckAxis.current.value.scalaCheckVersion == ScalaCheckAxis.v1_16.scalaCheckVersion)
Set.empty
else
Set(organization.value %% artifact.value % mimaPreviousVersion.value)
},

scalacOptions ++= Seq(
// "-Xfatal-warnings", // some methods in Scala 2.13 are deprecated, but I don't want to maintain to copies of source
Expand Down Expand Up @@ -110,6 +115,14 @@ lazy val `core` = projectMatrix
ScalaCheckAxis.current.value.scalaTestPlusScalaCheck(scalaVersion.value)
)
)
.customRow(
scalaVersions = ScalaCheckAxis.v1_16.scalaVersions,
axisValues = Seq(ScalaCheckAxis.v1_16, VirtualAxis.jvm),
settings = Seq(
libraryDependencies +=
ScalaCheckAxis.current.value.scalaTestPlusScalaCheck(scalaVersion.value)
)
)

lazy val `joda` = projectMatrix
.settings(commonSettings(subProject = Some("joda")))
Expand Down Expand Up @@ -141,3 +154,8 @@ lazy val `joda` = projectMatrix
axisValues = Seq(ScalaCheckAxis.v1_15, VirtualAxis.jvm),
settings = Nil
)
.customRow(
scalaVersions = ScalaCheckAxis.v1_16.scalaVersions,
axisValues = Seq(ScalaCheckAxis.v1_16, VirtualAxis.jvm),
settings = Nil
)
12 changes: 8 additions & 4 deletions project/Dependencies.scala
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,13 @@ object Dependencies {
// ScalaTest and always pull in the appropriate ScalaTestPlus artifact for ScalaCheck >= 1.14
final private val ScalaTest_3_0 = "3.0.5"
final private val ScalaTest_3_2 = "3.2.9"
final private val scalaTest_3_2_14 = "3.2.14"

private def scalaTestPlusScalaCheckVersion(scalaVer: String) = CrossVersion.partialVersion(scalaVer) match {
case Some((3, _)) => "3.2.10.0"
case _ => "3.2.2.0"
private def scalaTestPlusScalaCheckVersion(scalaVer: String, scalaCheckVersion: String) =
(CrossVersion.partialVersion(scalaVer), scalaCheckVersion) match {
case (_, ScalaCheckAxis.v1_16.scalaCheckVersion) => "3.2.14.0"
case (Some((3, _)),_) => "3.2.10.0"
case _ => "3.2.2.0"
}

final private val IzumiReflectVersion = "1.1.2"
Expand Down Expand Up @@ -57,14 +60,15 @@ object Dependencies {
"org.scalatest" %% "scalatest" % scalaTestVersion % Test

def scalaTestPlusScalaCheck(scalaVer: String): ModuleID =
"org.scalatestplus" %% s"scalacheck-$id" % scalaTestPlusScalaCheckVersion(scalaVer) % Test
"org.scalatestplus" %% s"scalacheck-$id" % scalaTestPlusScalaCheckVersion(scalaVer, scalaCheckVersion) % Test
}

object ScalaCheckAxis extends CurrentAxis[ScalaCheckAxis] {
val v1_12 = ScalaCheckAxis("1-12", "1.12.6", ScalaTest_2_2, Seq(Scala_2_11))
val v1_13 = ScalaCheckAxis("1-13", "1.13.5", ScalaTest_3_0, Seq(Scala_2_11, Scala_2_12))
val v1_14 = ScalaCheckAxis("1-14", "1.14.3", ScalaTest_3_2, Seq(Scala_2_11, Scala_2_12, Scala_2_13))
val v1_15 = ScalaCheckAxis("1-15", "1.15.4", ScalaTest_3_2, Seq(Scala_2_12, Scala_2_13, Scala_3))
val v1_16 = ScalaCheckAxis("1-16", "1.16.0", scalaTest_3_2_14, Seq(Scala_2_12, Scala_2_13, Scala_3))
}

abstract class CurrentAxis[T: ClassTag] {
Expand Down

0 comments on commit 90e4202

Please sign in to comment.