在SBT中,如何使用Github URL添加Sbt插件?

11

目前,我使用了像这样的插件:

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

如果我在 GitHub 上 fork 了这个插件(假设是 https://github.com/myname/play-yeoman.git),并进行了一些更改,那么有没有更简单的方法来使用我的 fork 版本的插件呢?我真的需要在 maven/ivy 仓库上注册这个 fork 吗?

谢谢!


2
sbt文档中提到了使用lazy val yeomanPlugin = uri("sit://github.com/myname/play-yeoman"),你考虑过吗?你正在开发sbt插件吗? - Nader Ghanbari
1
只是为了补充Nader的评论:1d) 项目依赖 - sbt文档 - Salem
2个回答

6
使用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在末尾有提交哈希值。这非常有用,可以确保项目中使用已知工作的特定版本源代码,而不是最新未知状态的源代码。


1
GitHub 仓库是私有的时,它是如何工作的?我如何提供用户/密码或 SSH 密钥? - mkurz
@mkurz,我自己没有做过,但是这个链接似乎有一些解决方案:https://dev59.com/r3bZa4cB1Zd3GeqPMPxp#18880397 - l p

1

按照以下步骤操作:

  1. 将插件版本后缀改为 -SNAPSHOT,例如:version := "1.0.0-SNAPSHOT"
  2. 从命令行运行sbt publishLocal
  3. 在你的 plugins.sbt 中引用快照版本。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接