在 SBT 中,如何使用带有 Github URL 的 addSbtPlugin?

In SBT, how to use addSbtPlugin with a Github URL?

目前我使用的插件是这样的:

addSbtPlugin("com.tuplejump" % "sbt-yeoman" % "0.7.1")

但是,我在 github(比方说 https://github.com/myname/play-yeoman.git)上 fork 这个插件并做了一些更改,使用我的 fork 版本的插件会有什么更简单的方法?我真的必须在 maven/ivy 存储库上注册这个分支吗?

谢谢!

按照以下步骤操作:

  1. 为插件版本添加-SNAPSHOT后缀,即version := "1.0.0-SNAPSHOT"
  2. 运行 sbt publishLocal 来自命令行。
  3. 引用您 plugins.sbt 的快照版本。

使用 SBT 0.13.8,我能够替换我的 ./project/plugins.sbt:

中的以下行
addSbtPlugin("net.ground5hark.sbt" %% "sbt-concat" % "0.1.8")

加上下面两行

lazy val root = (project in file(".")).dependsOn(concatPlugin)

lazy val concatPlugin = uri("https://github.com/ground5hark/sbt-concat.git#342acc34195438799b8a278fda94b126238aae17")

不需要其他步骤。另外,请注意 git URI 末尾有一个提交散列。这对于确保 known-to-work 在项目中使用特定版本的源非常有用,而不是源的最新未知状态是什么。