【问题标题】:How to know available tasks and settings of installed plugin in sbt?如何知道 sbt 中已安装插件的可用任务和设置?
【发布时间】:2014-04-24 08:25:53
【问题描述】:

使用sbt-git 插件进行以下设置:

> about
[info] This is sbt 0.13.2
[info] The current project is {file:/Users/jacek/oss/sbt-git/}sbt-git 0.6.4-SNAPSHOT
[info] The current project is built against Scala 2.10.3
[info] Available Plugins: com.typesafe.sbt.SbtGit
[info] sbt, sbt plugins, and build definitions are using Scala 2.10.3

如何查询插件的可用任务和设置?我想说 - 在 sbt shell 上显示插件的任务和设置。可能的?怎么样?

【问题讨论】:

    标签: sbt


    【解决方案1】:

    如何查询插件的可用任务和设置?

    它不是特定于插件的,但请尝试在 shell 中键入 taskssettings。它应该是一个相对较短的列表,您可以从中找出一些东西。

    【讨论】:

    • 我只能将其归类为解决方法,因为我无法知道任务或设置的来源(除非我使用inspect)。对于这样一个简单的任务来说太多了(没有双关语)。
    【解决方案2】:

    这里的诀窍是插件只是 jar,任务和设置只是 Java/Scala 值。所以从字面上看,插件 jar 中的任何方法都可以返回任务和设置。 sbt 只知道你添加到项目中的设置和任务。但要添加它们,您必须了解从中获取设置的方法和字段。

    现在,插件的文档和源代码是您找到可以添加的内容的方式。通常,README 是一个很好的起点。

    当前 sbt 在插件对象上有一种神奇的方法,称为“设置”,其中包含自动添加到所有项目的设置。但是,插件指南建议不要使用此功能,因为插件无法知道它们的设置是否对构建中的每个项目都有意义。好多插件都没用。

    在即将发布的 sbt 版本中,有一个新的 AutoPlugin 功能可以解决这个问题,并允许插件仅将自身自动添加到具有某些功能的项目中。例如,插件可能仅将自身添加到 Java 项目或仅添加到 Play 项目。

    不过,您只能查询 sbt 中添加的设置,而不是所有可用的设置。

    【讨论】:

      猜你喜欢
      • 2016-11-13
      • 2023-03-26
      • 2016-07-02
      • 2020-03-06
      • 2017-03-08
      • 2018-10-29
      • 2012-11-01
      • 2012-07-13
      • 1970-01-01
      相关资源
      最近更新 更多