From eee9420d21d29a9ac958e386980d73b670d433e6 Mon Sep 17 00:00:00 2001 From: Jack Koenig Date: Thu, 23 May 2024 16:16:24 -0700 Subject: [PATCH] Waive false binary compatibility failure Also move waivers from files to build.sbt. --- build.sbt | 14 ++++++++++++-- .../src/main/mima-filters/6.0.0.backwards.excludes | 2 -- .../src/main/mima-filters/6.1.0.backwards.excludes | 5 ----- .../src/main/mima-filters/6.2.0.backwards.excludes | 2 -- 4 files changed, 12 insertions(+), 11 deletions(-) delete mode 100644 unipublish/src/main/mima-filters/6.0.0.backwards.excludes delete mode 100644 unipublish/src/main/mima-filters/6.1.0.backwards.excludes delete mode 100644 unipublish/src/main/mima-filters/6.2.0.backwards.excludes diff --git a/build.sbt b/build.sbt index f84ab4993da..66097e8cbd7 100644 --- a/build.sbt +++ b/build.sbt @@ -1,5 +1,7 @@ // See LICENSE for license details. +import com.typesafe.tools.mima.core._ + enablePlugins(SiteScaladocPlugin) addCommandAlias("fmt", "; scalafmtAll ; scalafmtSbt") @@ -7,8 +9,7 @@ addCommandAlias("fmtCheck", "; scalafmtCheckAll ; scalafmtSbtCheck") // Previous versions are read from project/previous-versions.txt // If this file is empty or does not exist, no binary compatibility checking will be done -// Add waivers to the directory defined by key `mimaFiltersDirectory` in files named: .backwards.excludes -// eg. unipublish/src/main/mima-filters/5.0.0.backwards.excludes +// Add waivers to mimaBinaryIssueFilters below. val previousVersions = settingKey[Set[String]]("Previous versions for binary compatibility checking") ThisBuild / previousVersions := { val file = new java.io.File("project", "previous-versions.txt") @@ -378,6 +379,15 @@ lazy val unipublish = }, // This is a pseudo-project with no class files, use the package jar instead mimaCurrentClassfiles := (Compile / packageBin).value, + // MiMa waivers + mimaBinaryIssueFilters ++= Seq( + // chisel3.properties.Path is sealed + ProblemFilters.exclude[ReversedAbstractMethodProblem]("chisel3.properties.Path.convert"), + // chisel3.HasTarget is sealed + ProblemFilters.exclude[ReversedMissingMethodProblem]("chisel3.package#HasTarget.suggestName"), + // chisel3.internal.firrtl.ir.LitArg is package private + ProblemFilters.exclude[ReversedMissingMethodProblem]("chisel3.internal.firrtl.ir#LitArg.cloneWithValue"), + ), // Forward doc command to unidoc Compile / doc := (ScalaUnidoc / doc).value, // Include unidoc as the ScalaDoc for publishing diff --git a/unipublish/src/main/mima-filters/6.0.0.backwards.excludes b/unipublish/src/main/mima-filters/6.0.0.backwards.excludes deleted file mode 100644 index 4fd14a3ebb7..00000000000 --- a/unipublish/src/main/mima-filters/6.0.0.backwards.excludes +++ /dev/null @@ -1,2 +0,0 @@ -# chisel3.properties.Path is sealed -ProblemFilters.exclude[ReversedAbstractMethodProblem]("chisel3.properties.Path.convert") diff --git a/unipublish/src/main/mima-filters/6.1.0.backwards.excludes b/unipublish/src/main/mima-filters/6.1.0.backwards.excludes deleted file mode 100644 index 2074db6deca..00000000000 --- a/unipublish/src/main/mima-filters/6.1.0.backwards.excludes +++ /dev/null @@ -1,5 +0,0 @@ -# chisel3.HasTarget is sealed -ProblemFilters.exclude[ReversedMissingMethodProblem]("chisel3.package#HasTarget.suggestName") - -# chisel3.properties.Path is sealed -ProblemFilters.exclude[ReversedAbstractMethodProblem]("chisel3.properties.Path.convert") diff --git a/unipublish/src/main/mima-filters/6.2.0.backwards.excludes b/unipublish/src/main/mima-filters/6.2.0.backwards.excludes deleted file mode 100644 index 4fd14a3ebb7..00000000000 --- a/unipublish/src/main/mima-filters/6.2.0.backwards.excludes +++ /dev/null @@ -1,2 +0,0 @@ -# chisel3.properties.Path is sealed -ProblemFilters.exclude[ReversedAbstractMethodProblem]("chisel3.properties.Path.convert")