如何将插件作为库添加到我制作的插件中?
How to add a plugin as a library to a plugin I made?
我有一个正在构建的插件,我希望能够覆盖另一个插件的 setting
,比方说 sbt-assembly
。
我希望在我的 AutoPlugin
中能够做到:
import sbtassembly
[...]
override def projectSettings: Seq[Def.Setting[_]] = {
Seq(
assembly := { /* override the task */ }
)
}
我尝试添加 ./build.sbt
:
libraryDependencies += "com.eed3si9n" % "sbt-assembly" % "0.14.9"
但我明白了
(update) sbt.librarymanagement.ResolveException: unresolved dependency: com.eed3si9n#sbt-assembly;0.14.9: not found
我试图在 ./project/plugins.sbt
中添加它,但如果我理解正确,那会将它添加为构建我的插件的构建工具,而不是插件代码中可访问的东西,看来我是因为我无法访问 sbtassembly
包。
有什么建议吗?
谢谢!
我找到了解决办法!
是加上
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.9")
在 build.sbt
中,不在 project/plugins.sbt
中。
我猜sbt-assembly
不是一个库,而是一个插件。所以要添加一个插件,你需要使用addSbtPlugin
。
因为你想在代码中而不是在编译器中,你把它放在 build.sbt
,而不是 project/plugins.sbt
。
我有一个正在构建的插件,我希望能够覆盖另一个插件的 setting
,比方说 sbt-assembly
。
我希望在我的 AutoPlugin
中能够做到:
import sbtassembly
[...]
override def projectSettings: Seq[Def.Setting[_]] = {
Seq(
assembly := { /* override the task */ }
)
}
我尝试添加 ./build.sbt
:
libraryDependencies += "com.eed3si9n" % "sbt-assembly" % "0.14.9"
但我明白了
(update) sbt.librarymanagement.ResolveException: unresolved dependency: com.eed3si9n#sbt-assembly;0.14.9: not found
我试图在 ./project/plugins.sbt
中添加它,但如果我理解正确,那会将它添加为构建我的插件的构建工具,而不是插件代码中可访问的东西,看来我是因为我无法访问 sbtassembly
包。
有什么建议吗?
谢谢!
我找到了解决办法!
是加上
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.9")
在 build.sbt
中,不在 project/plugins.sbt
中。
我猜sbt-assembly
不是一个库,而是一个插件。所以要添加一个插件,你需要使用addSbtPlugin
。
因为你想在代码中而不是在编译器中,你把它放在 build.sbt
,而不是 project/plugins.sbt
。