sbt: могу ли я поместить исходный код плагина компилятора scala в проект, который должен быть скомпилирован с использованием этого плагина? - PullRequest
2 голосов
/ 24 мая 2011

Я пишу свой собственный плагин для компилятора Scala и использую sbt для сборки проекта. Можно ли поместить исходный код этого плагина в тот же проект, который должен быть скомпилирован с использованием этого плагина?

Кажется, что вся документация по sbt связана с использованием внешнего модуля для проекта. просто кажется гораздо проще протестировать плагин, если он находится в одном проекте. в противном случае мне придется постоянно создавать плагин, копировать этот jar-файл в основной проект, а затем компилировать его.

документация, которую я прочитал, находится на http://code.google.com/p/simple-build-tool/wiki/CompilerPlugins.

Ответы [ 2 ]

4 голосов
/ 07 января 2014

Вот пример использования 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
  )
}
0 голосов
/ 29 мая 2011

Я не уверен в том, что вы делаете, но, возможно, вы ищете проект / plugins / src_managed / diriectory Если пользователю плагина нужен какой-то код из плагина, его можно найти там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...