2017-04-02 21:51:11 +02:00
|
|
|
|
|
|
|
|
import sbt._
|
|
|
|
|
import sbt.Keys._
|
|
|
|
|
|
|
|
|
|
import com.typesafe.tools.mima.plugin.MimaKeys._
|
|
|
|
|
|
2017-06-18 20:02:05 +02:00
|
|
|
import org.scalajs.sbtplugin.ScalaJSPlugin.autoImport._
|
|
|
|
|
|
2017-04-02 21:51:11 +02:00
|
|
|
object Mima {
|
|
|
|
|
|
2017-05-15 15:32:52 +02:00
|
|
|
// Important: the line with the "binary compatibility versions" comment below is matched during releases
|
|
|
|
|
def binaryCompatibilityVersions = Set(
|
|
|
|
|
"1.0.0-RC1",
|
|
|
|
|
"1.0.0-RC2",
|
|
|
|
|
"1.0.0-RC3",
|
2017-06-18 19:53:58 +02:00
|
|
|
"1.0.0-RC4",
|
2017-06-21 09:38:28 +02:00
|
|
|
"1.0.0-RC5",
|
2017-06-25 15:13:46 +02:00
|
|
|
"1.0.0-RC6",
|
2017-07-18 17:43:40 +02:00
|
|
|
"1.0.0-RC7",
|
2017-07-20 00:23:14 +02:00
|
|
|
"1.0.0-RC8",
|
2017-08-05 15:32:06 +02:00
|
|
|
"1.0.0-RC9",
|
2017-08-09 15:41:45 +02:00
|
|
|
"1.0.0-RC10",
|
2017-08-30 12:57:51 +02:00
|
|
|
"1.0.0-RC11",
|
2017-09-20 15:13:49 +02:00
|
|
|
"1.0.0-RC12",
|
2017-10-28 13:33:10 +02:00
|
|
|
"1.0.0-RC12-1",
|
2017-10-29 15:08:20 +01:00
|
|
|
"1.0.0-RC13",
|
2017-12-12 02:05:09 +01:00
|
|
|
"1.0.0-RC14",
|
2017-12-14 13:50:01 +01:00
|
|
|
"1.0.0",
|
2018-02-01 23:54:53 +01:00
|
|
|
"1.0.1-M1",
|
2017-05-15 15:32:52 +02:00
|
|
|
"" // binary compatibility versions
|
|
|
|
|
)
|
2017-04-02 21:51:11 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
lazy val previousArtifacts = Seq(
|
|
|
|
|
mimaPreviousArtifacts := {
|
2017-05-15 15:32:52 +02:00
|
|
|
binaryCompatibilityVersions.collect {
|
|
|
|
|
case ver if ver.nonEmpty =>
|
2017-06-18 20:02:05 +02:00
|
|
|
organization.value %%% moduleName.value % ver
|
2017-05-15 15:32:52 +02:00
|
|
|
}
|
2017-04-02 21:51:11 +02:00
|
|
|
}
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
lazy val coreFilters = {
|
|
|
|
|
mimaBinaryIssueFilters ++= {
|
|
|
|
|
import com.typesafe.tools.mima.core._
|
2017-04-11 15:19:27 +02:00
|
|
|
|
2017-04-02 21:51:11 +02:00
|
|
|
Seq(
|
2017-04-11 15:19:27 +02:00
|
|
|
// ignore shaded-stuff related errors
|
|
|
|
|
(pb: Problem) => pb.matchName.forall(!_.startsWith("coursier.shaded.")),
|
|
|
|
|
// was private, now removed
|
|
|
|
|
ProblemFilters.exclude[MissingClassProblem]("coursier.ivy.PropertiesPattern$Parser$"),
|
|
|
|
|
// made private so that the shaded fastparse stuff doesn't leak
|
2017-09-04 02:01:36 +02:00
|
|
|
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.ivy.PropertiesPattern.parser"),
|
|
|
|
|
// corresponds to a default value of a private method, not sure why this error is raised
|
|
|
|
|
ProblemFilters.exclude[IncompatibleResultTypeProblem]("coursier.maven.Pom.coursier$maven$Pom$$module$default$2")
|
2017-04-02 21:51:11 +02:00
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
lazy val cacheFilters = {
|
|
|
|
|
mimaBinaryIssueFilters ++= {
|
|
|
|
|
import com.typesafe.tools.mima.core._
|
|
|
|
|
|
2017-06-05 18:57:24 +02:00
|
|
|
Seq(
|
|
|
|
|
// these are private, don't know why they end-up appearing here
|
|
|
|
|
// (probably related to https://github.com/typesafehub/migration-manager/issues/34)
|
|
|
|
|
(pb: Problem) => pb.matchName.forall(!_.startsWith("coursier.TermDisplay#DownloadInfo")),
|
|
|
|
|
(pb: Problem) => pb.matchName.forall(!_.startsWith("coursier.TermDisplay$DownloadInfo")),
|
|
|
|
|
(pb: Problem) => pb.matchName.forall(!_.startsWith("coursier.TermDisplay#CheckUpdateInfo")),
|
|
|
|
|
(pb: Problem) => pb.matchName.forall(!_.startsWith("coursier.TermDisplay#Info"))
|
|
|
|
|
)
|
2017-04-02 21:51:11 +02:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|