如何安装Scala编译器插件以便它自动与Ant一起使用?

时间:2012-08-26 10:01:36

标签: scala plugins ant compiler-construction scalac

我正在编写一个Scala编译器插件,我想在调用scalac时使用它,所以我将它放在Scala发行版的插件目录(misc/scala-devel/plugins)中 - 这在我写的时候非常有用像scalac HelloWorld.scala这样简单的东西,但是当我尝试使用带有嵌入式scalac任务的Ant脚本构建时不起作用,如:

<scalac srcdir="${src}" destdir="${bin}" classpathref="build.classpath" deprecation="on">
  <include name="**/*.scala"/>
</scalac>

我可以通过更改构建脚本来指定插件目录来实现它,例如:

<scalac srcdir="${src}" destdir="${bin}" classpathref="build.classpath" deprecation="on"
  addparams="-Xpluginsdir /Users/stuart/Downloads/scala-2.9.2/misc/scala-devel/plugins">
  <include name="**/*.scala"/>
</scalac>

但是,我需要这个为第三方构建脚本工作,我无法手动更改,所以我的简单修复不会削减它 - 任何想法好吗?


更新:

经过一番挖掘,我发现你可以使用presetdef覆盖任务定义,例如:

<presetdef name="scalac">
  <scalac addparams="-Xpluginsdir /Users/stuart/Downloads/scala-2.9.2/misc/scala-devel/plugins"/>
</presetdef>

这并没有直接解决问题,但它可能很有意思 - 我目前的调查线是否可以将这个(或类似的东西)放在一个导入原始脚本的包装器Ant脚本中(不知道是否这样)会工作,我不会那么多使用Ant。

0 个答案:

没有答案
相关问题