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

标签 scala sbt

我正在编写自己的 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/

相关文章:

docker - 生产中的 Play Framework 2.5 : "bad root server path"

scala - 在 SBT 中导入 scala.tools.reflect.ToolBox 时出错

scala - 可以在scala中使用一会儿循环并产生 yield

java - 如何在 IntelliJ 中运行 Play Framework 2.1 项目?

maven - 将gradle/sbt/maven项目转换为裤子构建系统

scala - ScalaCheck 中的这种用法

scala - 无法解析符号 "Scalatest"

scala - Spark SBT 程序尝试从本地文件系统而不是 IntelliJ 项目中的 hdfs 读取

scala - 模式匹配中的小写变量

scala - 在 Akka 中,如何将响应从下游参与者路由到正确的上游?