【问题标题】:SBT: plugins.sbt in subproject is ignored?SBT:子项目中的 plugins.sbt 被忽略了吗?
【发布时间】:2014-10-05 05:24:09
【问题描述】:

我有一个多项目 SBT 构建。当我使用所需的 addSbtPlugin 声明将 plugin.sbt 添加到 subproject/project 时,sbt 不会加载这些插件。多项目中的所有插件是否都应该是全局的 - 添加到 <root>/project/plugins.sbt 而不是子项目中? 理想情况下,我希望仅在特定子项目下执行一些插件任务:subproject/somePluginTask

我有 SBT 0.13.5

【问题讨论】:

    标签: scala sbt


    【解决方案1】:

    乌龟一路向下

    Getting Started Guide 中所述,sbt 中的构建是位于级别project/ 目录中的构建的根项目。由于您有一个表示顶级多项目的构建,因此查看的唯一目录是 <root>/project/

    经典插件

    在 sbt 0.13.5 之前,best practice guide 建议插件不要覆盖 settings 并提供类似 obfuscateSettings 的内容,因此您可以在项目级别选择插件。换句话说,插件是在构建级别添加的,但插件设置仅在您愿意时才加载到每个项目中。您使用的插件可能会也可能不会遵循本指南。

    自动插件

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

    lazy val app = (project in file("app"))
      .enablePlugins(HelloPlugin)
    

    【讨论】:

    猜你喜欢
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    • 2020-07-07
    • 2020-04-18
    • 1970-01-01
    • 1970-01-01
    • 2013-09-03
    相关资源
    最近更新 更多