Update MIMA settings after 1.0.0-RC1 release (#492)

* Update MIMA settings after 1.0.0-RC1 release

* Adjust things for MIMA after 1.0.0-RC1 release
This commit is contained in:
Alexandre Archambault 2017-04-11 15:19:27 +02:00 committed by GitHub
parent dacf8a78a5
commit 9bc69527dd
2 changed files with 20 additions and 80 deletions

View File

@ -120,28 +120,28 @@ object PropertiesPattern {
implicit def fromString(s: String): ChunkOrProperty = Const(s)
}
private object Parser {
private def parser: Parser[Seq[ChunkOrProperty]] = {
private val notIn = s"[]{}()$$".toSet
private val chars = P(CharsWhile(c => !notIn(c)).!)
private val noHyphenChars = P(CharsWhile(c => !notIn(c) && c != '-').!)
val notIn = s"[]{}()$$".toSet
val chars = P(CharsWhile(c => !notIn(c)).!)
val noHyphenChars = P(CharsWhile(c => !notIn(c) && c != '-').!)
private val constant = P(chars).map(ChunkOrProperty.Const)
val constant = P(chars).map(ChunkOrProperty.Const)
private lazy val property: Parser[ChunkOrProperty.Prop] =
lazy val property: Parser[ChunkOrProperty.Prop] =
P(s"$${" ~ noHyphenChars ~ ("-" ~ chunks).? ~ "}")
.map { case (name, altOpt) => ChunkOrProperty.Prop(name, altOpt) }
private lazy val variable: Parser[ChunkOrProperty.Var] = P("[" ~ chars ~ "]").map(ChunkOrProperty.Var)
lazy val variable: Parser[ChunkOrProperty.Var] = P("[" ~ chars ~ "]").map(ChunkOrProperty.Var)
private lazy val optional: Parser[ChunkOrProperty.Opt] = P("(" ~ chunks ~ ")")
lazy val optional: Parser[ChunkOrProperty.Opt] = P("(" ~ chunks ~ ")")
.map(l => ChunkOrProperty.Opt(l: _*))
lazy val chunks: Parser[Seq[ChunkOrProperty]] = P((constant | property | variable | optional).rep)
.map(_.toVector) // "Vector" is more readable than "ArrayBuffer"
}
def parser: Parser[Seq[ChunkOrProperty]] = Parser.chunks
chunks
}
def parse(pattern: String): String \/ PropertiesPattern =

View File

@ -6,76 +6,26 @@ import com.typesafe.tools.mima.plugin.MimaKeys._
object Mima {
def binaryCompatibilityVersion = "1.0.0-M14"
def binaryCompatibility212Version = "1.0.0-M15"
def binaryCompatibilityVersion = "1.0.0-RC1"
lazy val previousArtifacts = Seq(
mimaPreviousArtifacts := {
val version = scalaBinaryVersion.value match {
case "2.12" => binaryCompatibility212Version
case _ => binaryCompatibilityVersion
}
Set(organization.value %% moduleName.value % version)
Set(organization.value %% moduleName.value % binaryCompatibilityVersion)
}
)
lazy val coreFilters = {
mimaBinaryIssueFilters ++= {
import com.typesafe.tools.mima.core._
Seq(
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.maven.MavenRepository.defaultPublications"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.maven.MavenRepository.defaultPackaging"),
ProblemFilters.exclude[MissingClassProblem]("coursier.maven.MavenSource$DocSourcesArtifactExtensions"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.core.compatibility.package.listWebPageDirectoryElements"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.core.compatibility.package.listWebPageSubDirectories"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.core.compatibility.package.listWebPageFiles"),
ProblemFilters.exclude[MissingTypesProblem]("coursier.core.Project$"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.core.Project.apply"),
ProblemFilters.exclude[IncompatibleResultTypeProblem]("coursier.core.Project.copy$default$13"),
ProblemFilters.exclude[IncompatibleResultTypeProblem]("coursier.core.Project.copy$default$12"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.core.Project.copy"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.core.Project.this"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.maven.MavenRepository.copy$default$5"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.maven.MavenRepository.packagingBlacklist"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.maven.MavenRepository.copy"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.maven.MavenRepository.this"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.maven.MavenRepository.apply$default$5"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.maven.MavenRepository.ignorePackaging"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.maven.MavenRepository.<init>$default$5"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.maven.MavenRepository.apply"),
ProblemFilters.exclude[FinalClassProblem]("coursier.core.Activation$Os"),
ProblemFilters.exclude[FinalClassProblem]("coursier.core.Version"),
ProblemFilters.exclude[FinalClassProblem]("coursier.core.Authentication"),
ProblemFilters.exclude[FinalClassProblem]("coursier.core.VersionInterval"),
ProblemFilters.exclude[FinalClassProblem]("coursier.ivy.Pattern"),
ProblemFilters.exclude[FinalClassProblem]("coursier.ivy.Pattern$Chunk$Opt"),
ProblemFilters.exclude[FinalClassProblem]("coursier.ivy.PropertiesPattern$ChunkOrProperty$Const"),
ProblemFilters.exclude[FinalClassProblem]("coursier.ivy.PropertiesPattern$ChunkOrProperty$Opt"),
ProblemFilters.exclude[FinalClassProblem]("coursier.ivy.PropertiesPattern"),
ProblemFilters.exclude[FinalClassProblem]("coursier.ivy.Pattern$Chunk$Var"),
ProblemFilters.exclude[FinalClassProblem]("coursier.ivy.IvyRepository"),
ProblemFilters.exclude[FinalClassProblem]("coursier.ivy.Pattern$Chunk$Const"),
ProblemFilters.exclude[FinalClassProblem]("coursier.ivy.PropertiesPattern$ChunkOrProperty$Prop"),
ProblemFilters.exclude[FinalClassProblem]("coursier.ivy.PropertiesPattern$ChunkOrProperty$Var"),
ProblemFilters.exclude[FinalClassProblem]("coursier.maven.MavenRepository"),
ProblemFilters.exclude[FinalClassProblem]("coursier.maven.MavenSource"),
ProblemFilters.exclude[IncompatibleResultTypeProblem]("coursier.package#Resolution.apply$default$9"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.package#Resolution.apply"),
ProblemFilters.exclude[IncompatibleResultTypeProblem]("coursier.core.Resolution.copy$default$9"),
ProblemFilters.exclude[IncompatibleResultTypeProblem]("coursier.core.Resolution.copyWithCache$default$8"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.core.Resolution.copy"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.core.Resolution.profileActivation"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.core.Resolution.copyWithCache"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.core.Resolution.this"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.core.Activation.copy"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.core.Activation.this"),
ProblemFilters.exclude[MissingTypesProblem]("coursier.core.Activation$"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.core.Activation.apply"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.core.Resolution.profiles"),
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.core.Resolution.apply")
// 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")
)
}
}
@ -84,17 +34,7 @@ object Mima {
mimaBinaryIssueFilters ++= {
import com.typesafe.tools.mima.core._
Seq(
ProblemFilters.exclude[DirectMissingMethodProblem]("coursier.TermDisplay#UpdateDisplayRunnable.cleanDisplay"),
ProblemFilters.exclude[FinalClassProblem]("coursier.TermDisplay$DownloadInfo"),
ProblemFilters.exclude[FinalClassProblem]("coursier.TermDisplay$CheckUpdateInfo"),
ProblemFilters.exclude[FinalClassProblem]("coursier.util.Base64$B64Scheme"),
ProblemFilters.exclude[MissingClassProblem]("coursier.TermDisplay$Message$Stop$"),
ProblemFilters.exclude[MissingClassProblem]("coursier.TermDisplay$Message"),
ProblemFilters.exclude[MissingClassProblem]("coursier.TermDisplay$Message$"),
ProblemFilters.exclude[MissingClassProblem]("coursier.TermDisplay$Message$Update$"),
ProblemFilters.exclude[MissingClassProblem]("coursier.TermDisplay$UpdateDisplayThread")
)
Seq()
}
}