2
我有一个sbt插件,启用时通过scalac选项添加一个scalac编译器插件。一切都很好。Sbt插件添加依赖项目/ build.sbt
但是,如果scalac编译器插件本身具有需要使用的依赖关系,那么我无法使其工作。我已经试过:
- 将依赖于目标项目libraryDependencies
- 指定其作为SBT-插件本身的依赖。
我想我需要做的是一样的东西(它的自动插件):
override lazy val projectSettings = Seq(
...
projectsPluginsDependencies ++= Seq(
"com.typesafe" % "config" % "1.2.1" % Compile.name
)
...
)
如果projectsPluginsDependencies是一个有效的密钥。这可能吗?如果一个编译器插件需要依赖关系X,你如何满足这个要求?我已经尝试将它添加到project/build.sbt中,并且将它添加到project/build.sbt中这不起作用)。
只是要超级清晰 - 我不问如何添加一个sbt-plugin需要的依赖项。我在问如何添加一个编译器插件需要的依赖项,它本身是由sbt-plugin添加的。
这是用于使用编译器插件的项目吗?我想要做的是让用户使用我的SBT插件,然后编译器插件的东西会自动处理。 – monkjack
这不起作用。我已经更新了我SBT插件来做到这一点: 覆盖懒VAL projectSettings = SEQ( autoCompilerPlugins:= TRUE, libraryDependencies ++ = SEQ( compilerPlugin(的GroupId%(artifactId的+ “_” + scalaBinaryVersion.value)%版本%编译名称) )) 但没有运气。导致:java.lang.ClassNotFoundException:com.typesafe.config.ConfigFactory 这与我得到的相同,如果你删除compilerPlugin()和autoCompilerPlugins:= true – monkjack
我不认为范围到'编译'范围是对的。 –