如何动态加载SBT插件

时间:2016-02-29 12:26:18

标签: sbt

sbt-plugin不能与git worktrees一起使用。

所以我想有条件地加载这个SBT插件。

1 个答案:

答案 0 :(得分:3)

而不是

addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "0.8.5")

plugins.sbt中添加这些行:

libraryDependencies ++= {
    if (baseDirectory.value / "../.git" isDirectory)
        Seq(Defaults.sbtPluginExtra("com.typesafe.sbt" % "sbt-git" % "0.8.5", (sbtBinaryVersion in update).value, (scalaBinaryVersion in update).value))
    else {
        println("sbt-git plugin not loaded")
        Seq.empty
    }
}

使用SBT 0.13.9测试。