SBT - 如何禁用特定任务的插件(例如"包")

Mat*_*Mat 8 sbt sbt-plugin

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

例如,我想在打包时禁用插件SCoverage.

我尝试过:

coverageEnabled in `package` := false
Run Code Online (Sandbox Code Playgroud)

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

Eug*_*ota 3

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

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

我试图提出一个称为构建级别的概念,这可能与这里相关,但它没有流行起来。