如何开始创建一个sbt插件?

时间:2013-02-05 05:59:00

标签: plugins sbt scala-2.9

我想为Scala项目创建一个sbt插件。

请有人建议我们如何开始吗?

我提到了Plugins文档但无法理解步骤。

1 个答案:

答案 0 :(得分:4)

成为sbt插件作者的第一步是理解sbt构建定义。最好的资源是Getting Started guide。对于插件,您必须了解范围界定的概念。我的一些博客文章如an unofficial guide to sbt 0.10 v2.0traveling through the 4th dimension with sbt 0.13讨论了这个主题。

接下来,尝试阅读现有插件的源代码:

  • sbt/sbt-appengine

    • sbt-appengine添加了定义appengineSettings,构建用户可以在其构建定义中包含该定义,以添加appengineDeploy和其他与appengine相关的任务。
  • sbt/sbt-man

      另一方面,
    • sbt-man会覆盖settings并添加man命令。

这些插件大致有两种模式。一旦你完全理解它们,尝试制作自己的插件。

另一个灵感来源是sbt本身的来源。每当我写一个插件时,我都会咨询Defaults.scala以了解sbt如何实现我感兴趣的特定任务。一旦你感到舒服,你也应该阅读Plugins Best Practices。 / p>