源码依赖插件

Note

文档中的食谱部分以最少说明聚焦于目标。

目标

我想使用托管在 git 仓库上的插件,而无需发布到中央仓库。

步骤

  1. 在 git 仓库中托管 sbt 2.x 插件,并使用 sbt 2.x 构建。

  2. 将以下内容添加到 project/plugins.sbt

    // In project/plugins.sbt
    lazy val jmhRef = ProjectRef(
      uri("https://github.com/eed3si9n/sbt-jmh.git#303c3e98e1d1523e6a4f99abe09c900165028edb"),
      "plugin")
    BareBuildSyntax.dependsOn(jmhRef)
    
  3. 当您启动 sbt 时,会在 $HOME/.sbt/2/staging/ 下自动克隆该仓库。

上例中,https://github.com/eed3si9n/sbt-jmh.git 是托管在 GitHub 上的插件的 HTTP 端点,303c3e98e1d1523e6a4f99abe09c900165028edb 是默认分支上的提交 id。