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

Anu*_*ngh 7 plugins sbt scala-2.9

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

请任何人建议我如何开始?

我提到了插件文档,但无法理解步骤.

Eug*_*ota 5

成为sbt插件作者的第一步是了解sbt构建定义。最好的资源是《入门指南》。对于插件,了解作用域的概念至关重要。我的一些博客文章(如sbt 0.10 v2.0的非官方指南)sbt 0.13穿越第4维讨论了该主题。

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

  • sbt / sbt-appengine

    • sbt-appengineappengineSettingsadd defines ,构建用户可以将其包括在他或她的构建定义中以添加appengineDeploy和其他与appengine相关的任务。
  • sbt / sbt-man

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

这些大致是插件的两种模式。完全理解它们后,请尝试制作自己的插件。

另一个灵感来源是sbt本身。每当我编写插件时,我都将查阅Defaults.scala以查看sbt如何实现我感兴趣的特定任务。一旦感到舒适,您还应该阅读Plugins Best Practices