【发布时间】:2015-06-18 20:45:48
【问题描述】:
我目前正在使用作为 compile 任务的一部分运行的 SBT 插件,但希望对其进行修改。已联系作者,但没有回复。
谁能给我简要介绍一下将功能导入我的项目的步骤,以便我可以自定义它?它是一个单一的对象。
如果对象“挂钩”到
compile任务中,那么我认为它仍应扩展plugin?目前,
import sbt.Keys._出现编译错误
import sbt._ 有效
import sbt.Keys._ object Keys 不是包集的成员。
我需要 SBT jar 作为我项目的非托管依赖项吗?
build.properties 包含sbt.version=0.13.5
顺便说一句 - 我将在代码中保留原始作者的详细信息,以将代码归于他们。
编辑。
我正在使用sbt-cxf-wsdl2java 插件。
我主要希望升级插件使用的 CXF 版本,因为这是硬编码的,而不是插件目标代码。
我可以分叉它,更改代码,创建新插件并推送到一个仓库,然后在我的项目中声明,但这对于一个相对较小的更改来说似乎需要付出很多努力——因此我希望将插件代码“嵌入”到我的应用。
我想我需要阅读文档并弄清楚插件是如何工作的才能理解这一点 - 但如果有人可以给我一些指示以节省我的时间,那么我将非常感激。
build.sbt(带有相关插件位):
lazy val wsPackage = "com.myCompany"
seq(cxf.settings :_*)
cxf.wsdls := Seq(
cxf.Wsdl((resourceDirectory in Compile).value / "My.wsdl", Seq("-p", wsPackage), "modelOutputDir")
)
plugins.sbt
addSbtPlugin("com.ebiznext.sbt.plugins" % "sbt-cxf-wsdl2java" % "0.1.4")
【问题讨论】:
-
你能展示你的完整 build.sbt 文件吗?
-
你看过scala-sbt.org/0.13/docs/Plugins.html吗?它描述了如何编写一个简单的插件。顺便说一句,最新的 sbt 版本是 0.13.8,虽然我认为编写插件应该没关系。
-
@JamieP 你能分享一下你所说的 SBT 插件吗?可能有助于回答问题。
-
感谢您的 cmets - 我已经编辑了上面的帖子。
标签: scala sbt sbt-plugin