我想为 Scala 项目创建一个 sbt 插件。
请任何人建议我我们如何开始?
我参考了插件文档,但无法理解步骤。
成为 sbt 插件作者的第一步是了解 sbt 构建定义。最好的资源是入门指南。对于插件,您必须了解作用域的概念。我的一些博客文章(例如sbt 0.10 v2.0 的非官方指南和使用 sbt 0.13 穿越第四维度)讨论了该主题。
接下来,尝试阅读现有插件的源代码:
sbt-appengine
添加定义appengineSettings
,构建用户可以将其包含在他或她的构建定义中以添加appengineDeploy
和其他与应用引擎相关的任务。sbt-man
另一方面覆盖settings
并添加man
命令。这些大致是插件的两种模式。一旦你完全理解了它们,试着制作你自己的插件。
另一个灵感来源是 sbt 本身的来源。每当我编写插件时,我都会参考Defaults.scala以了解 sbt 如何实现我感兴趣的特定任务。一旦你感到舒服,你也应该阅读插件最佳实践。