要求:SBT 插件代码位于非托管 jar 中,例如lib/unmanaged-sbt-plugin-0.0.1.jar
. 我期待 jar 文件会被 SBT 自动拾取,并且插件可以开箱即用,即:可以从 SBT 命令行访问任务,但事实并非如此。
jar 文件中包含该sbt/sbt.autoplugins
文件,如果从远程仓库拉到本地仓库并通过addSbtPlugin(...)
. 请注意我不能这样做 - 需要lib/unmanaged-sbt-plugin-0.0.1.jar
从本地/远程仓库而不是从本地/远程仓库加载它。
将以下行放入build.sbt
不会使插件工作(也没有错误):
unmanagedJars in Compile += file("lib/unmanaged-sbt-plugin-0.0.1.jar")
的实现addSbtPlugin(...)
很简单(根据http://www.scala-sbt.org/0.12.2/docs/Getting-Started/Using-Plugins.html):
def addSbtPlugin(dependency: ModuleID): Setting[Seq[ModuleID]] =
libraryDependencies <+= (sbtBinaryVersion in update, scalaBinaryVersion in update)
{ (sbtV, scalaV) => sbtPluginExtra(dependency, sbtV, scalaV) }
我想知道上述信息是否可以用来解决我的问题?
先感谢您!