From 85c6753e6f641ee88d2e91b3444fa9a328894759 Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Fri, 7 Jan 2022 02:02:00 +0000 Subject: [PATCH 1/3] Add tlCursedVersions setting --- .../main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/mima/src/main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala b/mima/src/main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala index e1d9808a..83210095 100644 --- a/mima/src/main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala +++ b/mima/src/main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala @@ -32,10 +32,16 @@ object TypelevelMimaPlugin extends AutoPlugin { lazy val tlVersionIntroduced = settingKey[Map[String, String]]( "A map scalaBinaryVersion -> version e.g. Map('2.13' -> '1.5.2', '3' -> '1.7.1') used to indicate that a particular crossScalaVersions value was introduced in a given version (default: empty).") + lazy val tlCursedVersions = + settingKey[Set[String]]("Versions to exclude from bin-compat checks (default: empty)") } import autoImport._ + override def buildSettings = Seq( + tlCursedVersions := Set.empty + ) + override def projectSettings = Seq[Setting[_]]( tlVersionIntroduced := Map.empty, mimaPreviousArtifacts := { From 44b4ceba3e5360ba8c54fcbb63ee2f6058b4204f Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Fri, 7 Jan 2022 02:04:01 +0000 Subject: [PATCH 2/3] Actually use the setting :) --- mima/src/main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala | 1 + 1 file changed, 1 insertion(+) diff --git a/mima/src/main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala b/mima/src/main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala index 83210095..e69d3b51 100644 --- a/mima/src/main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala +++ b/mima/src/main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala @@ -59,6 +59,7 @@ object TypelevelMimaPlugin extends AutoPlugin { .map(v => V(v).getOrElse(sys.error(s"Version must be semver format: $v"))) val previous = GitHelper .previousReleases() + .filterNot(tlCursedVersions.value) .filterNot(_.isPrerelease) .filter(v => introduced.forall(v >= _)) .filter(current.mustBeBinCompatWith(_)) From 4f29f5c7d6e052d2f45544bd3ed5972dceb0ebc9 Mon Sep 17 00:00:00 2001 From: Arman Bilge Date: Fri, 7 Jan 2022 02:08:25 +0000 Subject: [PATCH 3/3] Fix compile --- mima/src/main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mima/src/main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala b/mima/src/main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala index e69d3b51..f2fe2879 100644 --- a/mima/src/main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala +++ b/mima/src/main/scala/org/typelevel/sbt/TypelevelMimaPlugin.scala @@ -59,7 +59,7 @@ object TypelevelMimaPlugin extends AutoPlugin { .map(v => V(v).getOrElse(sys.error(s"Version must be semver format: $v"))) val previous = GitHelper .previousReleases() - .filterNot(tlCursedVersions.value) + .filterNot(tlCursedVersions.value.flatMap(V.unapply(_)).contains(_)) .filterNot(_.isPrerelease) .filter(v => introduced.forall(v >= _)) .filter(current.mustBeBinCompatWith(_))