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 只在这种情况下发出警告,并继续尝试所有其他版本,以便程序员之后可以获得兼容性矩阵?
为您提供有关此问题的更多背景信息。我想尝试的项目是:
... github 操作作为兼容性验证的主要 CI
您可以使用 sbt-projectmatrix 插件 (https://github.com/sbt/sbt-projectmatrix) 将每个版本定义为一个(子)项目。
广泛用于处理涉及跨版本的复杂场景。
然后您可以通过 运行 sbt test
.
快速查看哪个(子)项目失败了
假设如果我将 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 只在这种情况下发出警告,并继续尝试所有其他版本,以便程序员之后可以获得兼容性矩阵?
为您提供有关此问题的更多背景信息。我想尝试的项目是:
... github 操作作为兼容性验证的主要 CI
您可以使用 sbt-projectmatrix 插件 (https://github.com/sbt/sbt-projectmatrix) 将每个版本定义为一个(子)项目。
广泛用于处理涉及跨版本的复杂场景。
然后您可以通过 运行 sbt test
.