我正在编写自己的 scala 编译器插件并使用 sbt 来构建项目。是否可以将该插件的源代码放在需要使用该插件编译的同一项目中?
关于 sbt 的所有文档似乎都与使用项目外部的插件有关。如果它们位于同一个项目中,测试插件似乎要容易得多。否则我必须不断构建插件,将该 jar 复制到主项目,然后编译它。
我阅读的文档位于http://code.google.com/p/simple-build-tool/wiki/CompilerPlugins .
最佳答案
以下是使用 SBT 0.13 的示例:
object PluginBuild extends Build {
def buildSettings = Seq(
name := "test-compiler-plugin",
scalaVersion := "2.10.3"
)
override def settings = super.settings ++ buildSettings
lazy val codeToBeChecked = project.in(file("code-to-be-checked")).
settings(
scalacOptions += "-Xplugin:" + packageBin.in(Compile).in(thePlugin).value
)
lazy val thePlugin = project.in(file("the-plugin")).settings(
libraryDependencies += "org.scala-lang" % "scala-compiler" % scalaVersion.value
)
}
关于scala - sbt:我可以将scala编译器插件的源代码放入需要使用该插件编译的项目中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6103276/