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