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

时间:2015-12-15 10:46:18

标签: sbt sbt-plugin

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

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

我尝试过:

coverageEnabled in `package` := false

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

1 个答案:

答案 0 :(得分:3)

没有。在执行任务时(在这种情况下为packageBin任务),任务依赖图已从所有自动插件加载,并且每个设置/任务都不知道它是来自插件还是不。一般情况下,您无法在今天(0.13.9)动态启用或禁用sbt中的插件。

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

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