【发布时间】:2014-11-07 15:06:56
【问题描述】:
我看到 sbt 0.13.5 版本中有一个AutoPlugin 功能,想用它定义一个简单的 sbt 插件。
但遗憾的是,我也关注了文档(没有详细说明)this question,实际上并没有解决,没有任何运气。
有什么我可以尝试的工作示例吗?
【问题讨论】:
我看到 sbt 0.13.5 版本中有一个AutoPlugin 功能,想用它定义一个简单的 sbt 插件。
但遗憾的是,我也关注了文档(没有详细说明)this question,实际上并没有解决,没有任何运气。
有什么我可以尝试的工作示例吗?
【问题讨论】:
我发现完成这项工作的关键是override val trigger = allRequirements 这一行。我在 SBT 的 scaladays 演示文稿中发现了它,而不是在 SBT 文档中。
在任何其他项目中,我只需将依赖项添加到 project/plugins.sbt 即可启用任务。例如addSbtPlugin("com.github.synesso" % "sbt-spg" % "0.1.0-SNAPSHOT")
声明override val trigger = allRequirements 显然意味着“在满足所有要求时启用插件”,因为我没有覆盖allRequirements,它默认意味着零要求。 (如果你问我,这一切都很奇怪)。
【讨论】: