1

我正在编写一个Scala编译器插件,我想在调用时使用它,所以我scalac把它放在 Scala 发行版的插件目录(使用带有嵌入式任务的 Ant 脚本,例如:misc/scala-devel/pluginsscalac HelloWorld.scalascalac

<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)。

4

0 回答 0