sbt:我可以将scala编译器插件的源放入需要使用该插件进行编译的项目中吗?

| 我正在编写我自己的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
  )
}
    
我不确定您在做什么,但也许您正在寻找的是project / plugins / src_managed / diriectory。如果插件的用户需要插件中的某些代码,则可以在此处找到。     

要回复问题请先登录注册