SBT:子项目中的plugins.sbt被忽略了吗?

dmi*_*try 12 scala sbt

我有一个多项目SBT构建.当我加入plugin.sbtsubproject/project与期望的addSbtPlugin声明,SBT不会加载这些插件.是否打算将多项目中的所有插件全局添加<root>/project/plugins.sbt到子项目中而不是添加到子项目中?理想情况下,我想在特定子项目下只有一些插件任务:subproject/somePluginTask.

我有SBT 0.13.5

Eug*_*ota 16

海龟一路下来

如" 入门指南"中所述,sbt中的内部版本是位于project/该级别目录中的内部版本的根项目.由于您有一个表达顶级多项目的构建,因此唯一可以查看的目录是<root>/project/.

经典插件

在sbt 0.13.5之前,最佳实践指南建议插件不要覆盖settings并提供类似的东西obfuscateSettings,你可以在项目级别选择加入插件.换句话说,插件是在构建级别添加的,但插件设置仅在您希望的情况下加载到每个项目.您正在使用的插件可能会也可能不会遵循本指南.

自动插件

sbt 0.13.5中引入的主要功能是自动插件,它不仅可以让您更轻松地在每个项目级别启用插件,还可以在自动加载时禁用它们.

lazy val app = (project in file("app"))
  .enablePlugins(HelloPlugin)
Run Code Online (Sandbox Code Playgroud)