summaryrefslogtreecommitdiff
path: root/build.sbt
diff options
context:
space:
mode:
authorJack2022-11-11 06:53:04 +0000
committerJack2022-11-11 06:53:04 +0000
commit3ce953c81f06519351c48277e3474b5720ec07ff (patch)
treeac79dcb80d0528c2ae86ca21da4cf424715ab645 /build.sbt
parentadccde9998c91875e5490cff6d5822ffacc593ed (diff)
parentc8046636a25474be4c547c6fe9c6d742ea7b1d13 (diff)
Merge branch '3.5.x' into 3.5-release
Diffstat (limited to 'build.sbt')
-rw-r--r--build.sbt43
1 files changed, 33 insertions, 10 deletions
diff --git a/build.sbt b/build.sbt
index 3269867a..c90f260b 100644
--- a/build.sbt
+++ b/build.sbt
@@ -18,8 +18,8 @@ lazy val commonSettings = Seq (
organization := "edu.berkeley.cs",
version := "3.5.5",
autoAPIMappings := true,
- scalaVersion := "2.12.16",
- crossScalaVersions := Seq("2.13.6", "2.12.16"),
+ scalaVersion := "2.12.17",
+ crossScalaVersions := Seq("2.13.10", "2.12.17"),
scalacOptions := Seq("-deprecation", "-feature"),
libraryDependencies += "org.scala-lang" % "scala-reflect" % scalaVersion.value,
// Macros paradise is integrated into 2.13 but requires a scalacOption
@@ -110,6 +110,7 @@ lazy val pluginScalaVersions = Seq(
"2.12.14",
"2.12.15",
"2.12.16",
+ "2.12.17",
"2.13.0",
"2.13.1",
"2.13.2",
@@ -118,7 +119,9 @@ lazy val pluginScalaVersions = Seq(
"2.13.5",
"2.13.6",
"2.13.7",
- "2.13.8"
+ "2.13.8",
+ "2.13.9",
+ "2.13.10",
)
lazy val plugin = (project in file("plugin")).
@@ -137,12 +140,20 @@ lazy val plugin = (project in file("plugin")).
}
).
settings(
+ // Given that the plugin is 1) a compile-time only dependency and 2) package chisel3.internal,
+ // I'm not really sure why we both checking binary compatbility
+ mimaBinaryIssueFilters ++= Seq(
+ // MyTypingTransformer is private (https://github.com/lightbend/mima/issues/53)
+ ProblemFilters.exclude[DirectMissingMethodProblem]("chisel3.internal.plugin.BundleComponent#MyTypingTransformer.isBundle"),
+ ProblemFilters.exclude[DirectMissingMethodProblem]("chisel3.internal.plugin.BundleComponent#MyTypingTransformer.getConstructorAndParams")
+ ),
mimaPreviousArtifacts := {
- // There is not yet a 2.12.16 artifact, so suppress until 3.5.4 is released
- if (scalaVersion.value == "2.12.16") {
+ // There are not yet artifacts for 2.12.17, 2.13.9, nor 2.13.10; suppress until 3.5.5 is released
+ val skipVersions = Seq("2.12.17", "2.13.9", "2.13.10")
+ if (skipVersions.contains(scalaVersion.value)) {
Set()
} else {
- Set("edu.berkeley.cs" % "chisel3-plugin" % "3.5.3" cross CrossVersion.full)
+ Set("edu.berkeley.cs" % "chisel3-plugin" % "3.5.4" cross CrossVersion.full)
}
}
)
@@ -162,7 +173,7 @@ lazy val macros = (project in file("macros")).
settings(name := "chisel3-macros").
settings(commonSettings: _*).
settings(publishSettings: _*).
- settings(mimaPreviousArtifacts := Set("edu.berkeley.cs" %% "chisel3-macros" % "3.5.3"))
+ settings(mimaPreviousArtifacts := Set("edu.berkeley.cs" %% "chisel3-macros" % "3.5.4"))
lazy val firrtlRef = ProjectRef(workspaceDirectory / "firrtl", "firrtl")
@@ -177,8 +188,10 @@ lazy val core = (project in file("core")).
).
settings(publishSettings: _*).
settings(
- mimaPreviousArtifacts := Set("edu.berkeley.cs" %% "chisel3-core" % "3.5.3"),
+ mimaPreviousArtifacts := Set("edu.berkeley.cs" %% "chisel3-core" % "3.5.4"),
mimaBinaryIssueFilters ++= Seq(
+ // This is not a problem because the relevant method is implemented (and final) in Vec and Record
+ ProblemFilters.exclude[ReversedMissingMethodProblem]("chisel3.Aggregate.elementsIterator"),
// Modified package private methods (https://github.com/lightbend/mima/issues/53)
ProblemFilters.exclude[DirectMissingMethodProblem]("chisel3.Data._computeName"),
ProblemFilters.exclude[DirectMissingMethodProblem]("chisel3.Data.forceName"),
@@ -188,6 +201,17 @@ lazy val core = (project in file("core")).
ProblemFilters.exclude[DirectMissingMethodProblem]("chisel3.VerificationStatement.forceName"),
ProblemFilters.exclude[DirectMissingMethodProblem]("chisel3.experimental.BaseModule._computeName"),
ProblemFilters.exclude[DirectMissingMethodProblem]("chisel3.experimental.BaseModule.forceName"),
+ ProblemFilters.exclude[DirectMissingMethodProblem]("chisel3.VerificationStatement.failureMessage"),
+ ProblemFilters.exclude[DirectMissingMethodProblem]("chisel3.Data.setRef"),
+ ProblemFilters.exclude[DirectMissingMethodProblem]("chisel3.MemBase.setRef"),
+ ProblemFilters.exclude[DirectMissingMethodProblem]("chisel3.VerificationStatement.setRef"),
+ ProblemFilters.exclude[DirectMissingMethodProblem]("chisel3.experimental.BaseModule.setRef"),
+ // Methods in inner class defined within package private object
+ ProblemFilters.exclude[IncompatibleResultTypeProblem]("chisel3.internal.firrtl.Converter#WhenFrame.outer"),
+ ProblemFilters.exclude[IncompatibleMethTypeProblem]("chisel3.internal.firrtl.Converter#WhenFrame.copy"),
+ ProblemFilters.exclude[IncompatibleResultTypeProblem]("chisel3.internal.firrtl.Converter#WhenFrame.copy$default$2"),
+ ProblemFilters.exclude[IncompatibleMethTypeProblem]("chisel3.internal.firrtl.Converter#WhenFrame.this"),
+ ProblemFilters.exclude[IncompatibleMethTypeProblem]("chisel3.internal.firrtl.Converter#WhenFrame.apply"),
)
).
settings(
@@ -218,7 +242,7 @@ lazy val chisel = (project in file(".")).
dependsOn(core).
aggregate(macros, core, plugin).
settings(
- mimaPreviousArtifacts := Set("edu.berkeley.cs" %% "chisel3" % "3.5.3"),
+ mimaPreviousArtifacts := Set("edu.berkeley.cs" %% "chisel3" % "3.5.4"),
mimaBinaryIssueFilters ++= Seq(
// Modified package private methods (https://github.com/lightbend/mima/issues/53)
ProblemFilters.exclude[DirectMissingMethodProblem]("chisel3.stage.ChiselOptions.this"),
@@ -276,7 +300,6 @@ lazy val docs = project // new documentation project
.settings(commonSettings)
.settings(
scalacOptions ++= Seq(
- "-Xfatal-warnings",
"-language:reflectiveCalls",
"-language:implicitConversions"
),