【发布时间】:2013-01-04 16:07:09
【问题描述】:
我想写一个依赖于另一个插件的插件“MyPlugin” ("io.spray" %% "sbt-twirl" % "0.6.0")。
仅仅在 libraryDependencies 中添加 sbt-twirl 是行不通的, 因为插件使用不同的路径方案发布 比标准库。
我也不能将 sbt-twirl 声明为 MyPlugin 的插件依赖项 项目,因为 MyPlugin 不直接使用 sbt-twirl, 使用 MyPlugin 的项目会间接使用它。
MyPlugin 提供了一个在 sbt-twirl 之后运行的任务 已生成它的源代码(在 sourceManaged 中)并在编译后生成。
一个简单但不理想的解决方案是要求项目使用 MyPlugin 也将 sbt-twirl 声明为插件依赖项,但它不是 DRY,因为这两个插件将共享一些设置(目录、版本等), 而且它们必须重复和兼容。
【问题讨论】:
标签: sbt