8

有没有办法为特定任务禁用 SBT 插件(AutoPlugin)。

例如,我想在打包时禁用插件 Scoverage。

我试过:

coverageEnabled in `package` := false

但这不起作用。所以我寻找一种完全禁用插件的方法。

4

1 回答 1

3

不。在执行任务时(在本例中为packageBin任务),任务依赖关系图已从所有自动插件加载,并且每个设置/任务都不知道它是否来自插件。一般来说,从今天(0.13.9)开始,您不能在 sbt 中动态启用或禁用插件。

一些插件可能会专门添加扩展点来覆盖某些行为(例如,test in assembly),但内置任务(例如packageBin不知道插件)。

我试图提出一个名为build level的概念,这可能与这里有关,但它没有流行起来。

于 2016-01-02T01:00:59.140 回答