2009-06-29 87 views
0

我需要在此运行期间编译的文件列表。我想将此列表提供给后续的后处理步骤。如何后处理使用Ant javac任务编译的文件?

我发现option to list(请参阅listfiles选项)在此次运行过程中编译的文件,但它似乎只适用于在控制台上显示列表。

有什么想法?

编辑:我在谈论增量编译,所以采取build文件夹的文件集不是一个选项。

编辑:一个想法似乎是custom logger但我仍然在寻找更简单的东西

编辑:另一个想法是javac的前使用depend selector与文件集,并以某种方式保存在内存中的列表,以在javac执行后使用

回答

2

您只需在javac的目标目录中构建一个关于所有类文件的文件集即可。

编辑:澄清后,我必须调整我的答案。我没有这样的事情,但我会尝试与selectors我的运气。修改选择器看起来像你想要的那个 - 一个目录中所有类文件的文件集,自上次运行以来已更改。这里是代码片段:

<fileset dir="${build}"> 
    <filename name="**/*.class"/> 
    <modified/> 
</fileset> 

它不直接后处理javac任务的输出,但应该解决您的问题。

+0

对不起,我说的是增量编译,其中JavaC只编译那些比他们编译的.class文件更新的.java文件。 – 2009-06-29 14:55:28

+0

我调整了我的答案。我希望这有帮助。 – Mnementh 2009-06-29 17:00:39