如果只有插件的源可用,如何在sbt项目中使用插件?

kur*_*roz 7 scala sbt

我想使用sbt-scrooge插件,但它的repo现在不可用 - http://koofr.github.com/.

我以为我会将这个插件的源代码直接包含在我自己的repo中(作为git子模块).

我试过了:

git submodule add https://github.com/bancek/sbt-scrooge.git project/sbt-scrooge
Run Code Online (Sandbox Code Playgroud)

并补充说:

addSbtPlugin("net.koofr" % "sbt-scrooge" % "3.0.45")
Run Code Online (Sandbox Code Playgroud)

project/plugins.sbt.但它不起作用 - 抛出以下异常:

sbt.ResolveException:未解析的依赖项:net.koofr#sbt-scrooge; 3.0.45:未找到

这样做的正确方法是什么?

我知道我可以将sbt-scrooge签出到本地文件系统,然后sbt publish-local将本地ivy2repo 添加到sbt作为解析器.但我只是想知道是否有其他方法可以做到这一点.

Nic*_*tot 7

正如这里所解释的那样你可以把它放在你的project/plugins.sbt:

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

lazy val scroogePlugin = file("sbt-scrooge") 
Run Code Online (Sandbox Code Playgroud)

或者简单地说(不创建本地子模块):

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

lazy val scroogePlugin = uri("https://github.com/bancek/sbt-scrooge.git") 
Run Code Online (Sandbox Code Playgroud)