mirror of https://github.com/sbt/sbt.git
76 lines
2.3 KiB
Scala
76 lines
2.3 KiB
Scala
|
|
import sbt._
|
|
import sbt.Keys._
|
|
|
|
import com.typesafe.tools.mima.plugin.MimaKeys._
|
|
|
|
import org.scalajs.sbtplugin.ScalaJSPlugin.autoImport._
|
|
|
|
object Mima {
|
|
|
|
// 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",
|
|
"1.0.0-RC4",
|
|
"1.0.0-RC5",
|
|
"1.0.0-RC6",
|
|
"1.0.0-RC7",
|
|
"1.0.0-RC8",
|
|
"1.0.0-RC9",
|
|
"1.0.0-RC10",
|
|
"1.0.0-RC11",
|
|
"1.0.0-RC12",
|
|
"1.0.0-RC12-1",
|
|
"1.0.0-RC13",
|
|
"1.0.0-RC14",
|
|
"1.0.0",
|
|
"1.0.1-M1",
|
|
"" // binary compatibility versions
|
|
)
|
|
|
|
|
|
lazy val previousArtifacts = Seq(
|
|
mimaPreviousArtifacts := {
|
|
binaryCompatibilityVersions.collect {
|
|
case ver if ver.nonEmpty =>
|
|
organization.value %%% moduleName.value % ver
|
|
}
|
|
}
|
|
)
|
|
|
|
lazy val coreFilters = {
|
|
mimaBinaryIssueFilters ++= {
|
|
import com.typesafe.tools.mima.core._
|
|
|
|
Seq(
|
|
// 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
|
|
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")
|
|
)
|
|
}
|
|
}
|
|
|
|
lazy val cacheFilters = {
|
|
mimaBinaryIssueFilters ++= {
|
|
import com.typesafe.tools.mima.core._
|
|
|
|
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"))
|
|
)
|
|
}
|
|
}
|
|
|
|
}
|