【问题标题】:how to handle the simplest dependent action in ant?如何处理ant中最简单的依赖动作?
【发布时间】: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


【解决方案1】:

这种抽象依赖在 ant 中是不可能的。

【讨论】:

    猜你喜欢
    • 2015-08-19
    • 1970-01-01
    • 2010-11-16
    • 2015-05-09
    • 1970-01-01
    • 1970-01-01
    • 2013-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多