【发布时间】:2012-07-22 13:10:23
【问题描述】:
在 Makefile 中,我会简单地指定
.a.b:
do_something_with_a $< --output=$*.b
我如何在 ant 中做到这一点?我在任何文档中都没有看到这一点,并且无法让它与 ant 一起使用。
对于不知道make的人,第一部分指定了两种文件,扩展名为.a的文件和扩展名为.b的文件。此外,它指定 bs 依赖于 as,因此如果 filename.b 不存在或比 filename.a 旧,则应应用命令规则。命令规则指定使用参数“filename.a”和“--output==filename.b”为每个此类文件名调用命令“do_something_with_a”。
我将使用 ant-1.8.4 测试您的解决方案并接受第一个可行的解决方案。可以指定文件位置。
【问题讨论】:
-
Ant 对构建有完全不同的理念。它只跟踪目标之间的依赖关系,但不跟踪文件。文件依赖项(如“.java”到“.class”)由任务插件处理。更好地适应新理念并编写适当的插件,否则您将一步一步进入漫长的痛苦之路。 (去过那里,做到了)
-
那么,关于编写 ant-plugins 来处理依赖关系的好文档是什么?
-
页面ant.apache.org/manual。从那里“使用 Ant 开发”->“编写自己的任务”和/或(根)-> 教程-> 编写任务。同样在“使用 Ant 开发”中,快速浏览了“Ant 任务指南”(您可以在其中找到“进行自己的依赖性检查”)和“为扩展设计的任务”,我猜您将在其中重用
MatchingTask。
标签: java ant dependencies