sbt中,如何让跨版本插件顺利失败?

In sbt, how to make cross-version plugin to fail smoothly?

假设如果我将 sbt 交叉版本与 may scala 版本一起使用:

crossScalaVersions ++= List(
//  "2.13.6",
  "2.13.4",
  "2.13.3",
  "2.13.2",
  "2.13.1",
  "2.12.6",
  "2.12.7",
  "2.12.8",
  "2.12.9",
  "2.12.10",
  "2.12.11",
  "2.12.12",
  "2.12.13",
  "2.12.14",
)

某些版本不兼容(这是预期的行为)。当我 运行 "sbt +test" 时,构建过程总是在第一个兼容性错误早期失败。因此,它不会 100% 提供有关哪些版本兼容的信息。

有没有办法让 sbt 只在这种情况下发出警告,并继续尝试所有其他版本,以便程序员之后可以获得兼容性矩阵?

为您提供有关此问题的更多背景信息。我想尝试的项目是:

https://github.com/tek/splain

... github 操作作为兼容性验证的主要 CI

您可以使用 sbt-projectmatrix 插件 (https://github.com/sbt/sbt-projectmatrix) 将每个版本定义为一个(子)项目。

广泛用于处理涉及跨版本的复杂场景。

然后您可以通过 运行 sbt test.

快速查看哪个(子)项目失败了