Skip to content

Commit

Permalink
update mima settings
Browse files Browse the repository at this point in the history
  • Loading branch information
xuwei-k committed May 12, 2024
1 parent 4ff99fa commit 8f86a85
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 123 deletions.
106 changes: 0 additions & 106 deletions build.sbt
Expand Up @@ -53,10 +53,6 @@ lazy val scalateUtil = scalateProject("util")
libraryDependencies ++= scalaTest.value.map(_ % Test),
Test / parallelExecution := false,
(Test / unmanagedSourceDirectories) += (Test / sourceDirectory).value / s"scala_${scalaBinaryVersion.value}",
mimaBinaryIssueFilters ++= Seq(
ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.fusesource.scalate.util.SourceMapInstaller#Writer.baos"),
ProblemFilters.exclude[DirectMissingMethodProblem]("org.fusesource.scalate.util.SourceMapInstaller#Writer.<clinit>")
),
)
.enablePlugins(MimaPlugin)

Expand All @@ -65,104 +61,6 @@ lazy val scalateCore = scalateProject("core")
.published
.settings(
mimaSettings,
mimaBinaryIssueFilters ++= Seq(
ProblemFilters.exclude[DirectMissingMethodProblem]("org.fusesource.scalate.support.ScalaCompiler#LoggingReporter.printMessage"),
ProblemFilters.exclude[DirectMissingMethodProblem]("org.fusesource.scalate.scuery.support.LastChildSelector.childElements"),
ProblemFilters.exclude[DirectMissingMethodProblem]("org.fusesource.scalate.scuery.support.LastChildSelector.filterNode"),
ProblemFilters.exclude[DirectMissingMethodProblem]("org.fusesource.scalate.scuery.support.AnySelector.childElements"),
ProblemFilters.exclude[DirectMissingMethodProblem]("org.fusesource.scalate.scuery.support.AnySelector.filterNode"),
ProblemFilters.exclude[DirectMissingMethodProblem]("org.fusesource.scalate.scuery.support.FirstChildSelector.childElements"),
ProblemFilters.exclude[DirectMissingMethodProblem]("org.fusesource.scalate.scuery.support.FirstChildSelector.filterNode"),
ProblemFilters.exclude[DirectMissingMethodProblem]("org.fusesource.scalate.scuery.support.RootSelector.childElements"),
ProblemFilters.exclude[DirectMissingMethodProblem]("org.fusesource.scalate.scuery.support.RootSelector.filterNode"),
ProblemFilters.exclude[DirectMissingMethodProblem]("org.fusesource.scalate.scuery.support.NoNamespaceSelector.childElements"),
ProblemFilters.exclude[DirectMissingMethodProblem]("org.fusesource.scalate.scuery.support.NoNamespaceSelector.filterNode"),
ProblemFilters.exclude[DirectMissingMethodProblem]("org.fusesource.scalate.support.Precompiler.<clinit>"),
ProblemFilters.exclude[DirectMissingMethodProblem]("org.fusesource.scalate.support.SiteGenerator.<clinit>")
),
// Somehow, MiMa in scalate-core project fails to recognize the classes that came from scalate-util project
mimaBinaryIssueFilters ++= Seq(
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.IOUtil$InvalidDirectiveException"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.Files"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.URLResource$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.ClassLoaders"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.ClassPathBuilder$AntLikeClassLoader$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.Resource"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.IOUtil$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.FileResourceLoader$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.SourceMapStratum"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.SourceCodeHelper"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.ClassLoaders$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.ClassPathBuilder"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.JavaInterops"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.Lazy"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.SourceResource$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.SourceMapInstaller$Writer"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.WriteableResource"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.SourceMap$SmapParser$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.Measurements$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.ResourceNotFoundException$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.UnitOfMeasure"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.Logging"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.Log$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.UriResource"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.Objects$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.SourceMap$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.Strings$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.UriResource$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.ResourceLoader"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.XmlHelper"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.TextResource"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.Measurements"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.FileResource$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.SourceMapStratum$LineInfo$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.Threads"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.ProductReflector"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.XmlHelper$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.SourceMapInstaller$Writer$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.SourceMapInstaller$Reader$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.Objects"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.ClassFinder"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.ClassFinder$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.Constraints$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.SourceMap"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.ResourceLoader$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.StringResource"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.Threads$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.SourceCodeHelper$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.ObjectPool"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.URIs$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.ProductReflector$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.SourceResource"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.DelegateResource"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.UnitOfMeasure$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.SourceMapStratum$LineInfo"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.SourceMapInstaller"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.JavaInterops$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.URIs"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.FileResourceLoader"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.Resource$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.Constraints"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.ClassPathBuilder$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.URLResource"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.Files$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.StringResource$"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.ResourceNotFoundException"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.IOUtil"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.SourceMapInstaller$Reader"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.Strings"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.Log"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.FileResource"),
ProblemFilters.exclude[MissingClassProblem]("org.fusesource.scalate.util.SourceMapInstaller$"),
ProblemFilters.exclude[MissingClassProblem]("org.scalatra.scalate.core.buildinfo.BuildInfo"),
ProblemFilters.exclude[MissingClassProblem]("org.scalatra.scalate.core.buildinfo.BuildInfo$")
),
mimaBinaryIssueFilters ++= Seq(
ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.fusesource.scalate.support.Precompiler.info"),
ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.fusesource.scalate.support.Precompiler.info_="),
ProblemFilters.exclude[IncompatibleResultTypeProblem]("org.fusesource.scalate.support.SiteGenerator.info"),
ProblemFilters.exclude[IncompatibleMethTypeProblem]("org.fusesource.scalate.support.SiteGenerator.info_="),
),
resolvers += "sonatype staging" at "https://oss.sonatype.org/content/repositories/staging",
libraryDependencies ++= Seq(
javaxServlet % Optional,
Expand Down Expand Up @@ -190,10 +88,6 @@ lazy val scalateTest = scalateProject("test")
.dependsOn(scalateCore)
.settings(
libraryDependencySchemes += "org.scala-lang.modules" %% "scala-xml" % "always",
mimaBinaryIssueFilters ++= Seq(
ProblemFilters.exclude[MissingTypesProblem]("org.fusesource.scalate.test.TemplateTestSupport"),
ProblemFilters.exclude[MissingTypesProblem]("org.fusesource.scalate.test.FunSuiteSupport"),
),
libraryDependencies ++= Seq(
jettyServer,
jettyWebapp,
Expand Down
19 changes: 2 additions & 17 deletions project/MimaSettings.scala
Expand Up @@ -22,28 +22,13 @@ object MimaSettings {
// - in this case, the incompatibility won't be detected
//

// NOTE: will start validating bin-compatibility since 1.9
// val previousVersions = (0 to 7).map(patch => s"1.10.$patch").toSet
val previousVersions = Set.empty[String]
val previousVersions = Set("1.10.1")

val mimaSettings = Seq(
ThisBuild / mimaBinaryIssueFilters ++= Seq(
ProblemFilters.exclude[IncompatibleSignatureProblem]("org.fusesource.scalate.*"),
ProblemFilters.exclude[ReversedMissingMethodProblem]("org.fusesource.scalate.mustache.Scope.hasVariable")
),
ThisBuild / mimaReportSignatureProblems := true,
ThisBuild / mimaFailOnNoPrevious := false,
mimaPreviousArtifacts := {
CrossVersion.partialVersion(scalaVersion.value) match {
case Some((2, scalaMajor)) if scalaMajor <= 12 =>
previousVersions.map { organization.value % s"${name.value}_${scalaBinaryVersion.value}" % _ }
case Some((2, 13)) =>
previousVersions.filterNot((0 to 3).map("1.9." + _).toSet).map {
organization.value % s"${name.value}_${scalaBinaryVersion.value}" % _
}
case _ =>
Set.empty
}
previousVersions.map { organization.value % s"${name.value}_${scalaBinaryVersion.value}" % _ }
},
(Test / test) := {
mimaReportBinaryIssues.value
Expand Down

0 comments on commit 8f86a85

Please sign in to comment.