Sbt插件将依赖项添加到project / build.sbt

时间:2014-07-26 16:11:39

标签: sbt sbt-plugin

我有一个sbt-plugin,启用时会通过scalac选项添加一个scalac编译器插件。一切都很好。

但是,如果scalac编译器插件本身具有需要使用的依赖关系,我无法使其工作。我试过了:

  • 将依赖项添加到目标项目libraryDependencies
  • 将其指定为sbt-plugin本身的依赖项。

我认为我需要做的就是(它是一个自动插件):

override lazy val projectSettings = Seq(
  ...
  projectsPluginsDependencies ++= Seq(
    "com.typesafe" % "config" % "1.2.1" % Compile.name
  )
  ...
)

如果 projectsPluginsDependencies 是有效密钥。这可能吗?

(事实上,我甚至不确定如何手动将依赖项添加到最终项目中。如果编译器插件需要依赖项X,您如何满足这一要求?我已尝试将其添加到项目/构建中.sbt,那不起作用。)

只是要非常明确 - 我不会问如何添加sbt-plugin需要的依赖项。我问的是如何添加编译器插件所需的依赖项,它本身是由sbt-plugin添加的。

1 个答案:

答案 0 :(得分:0)

请参阅Compiler Plugin Support

autoCompilerPlugins := true

libraryDependencies +=
    compilerPlugin("org.scala-lang.plugins" % "continuations" % scalaVersion.value)

scalacOptions += "-P:continuations:enable"

尝试看看是否会引入传递依赖关系。