2011-06-13 55 views
12

我看到this有关的问题,但我的情况是不同的,所以再次问这个。基本上,我有12个蚂蚁文件,我必须按特定顺序运行。对于每个ant文件,我选择不同的目标,例如“创建”或“构建和部署全部”。我如何创建一个将为所有这些文件调用正确目标的ant文件?创建一个ant文件来运行其他蚂蚁文件

Pseudocode: 

<Call antFile1, "clean"> 
<Call antFile1, "create"> 
<Call antFile2, "build"> 
     . 
     . 
     . 
<Call antfile12, "build and deploy all"> 
+0

在我看来,当一个蚂蚁脚本调用另一个蚂蚁脚本时,不应该再使用蚂蚁。 – 2011-06-13 22:08:38

+0

还有另外一种选择吗? – TookTheRook 2011-06-14 15:55:40

+1

您应该使用标准来管理像Maven这样的项目生命周期。如果你没有复杂的东西,你会很高兴没有深入的学习。如果你更多地了解你的项目,以及关于你的蚂蚁脚本的实际情况,我们可以帮助更多。 – 2011-06-15 11:26:11

回答

7

你也可以有进口标签:

<import file="my_ant_file.xml"> 

然后你可以调用该文件中的蚂蚁目标。您可能想要限定(添加前缀)您的目标名称,以避免模糊不清。

编辑:调用导入文件的Ant目标是完全一样的调用本地目标:

<antcall target="my_local_target"> 
<antcall target="my_target_from_an_imported_file"> 

您也可以将它们作为依赖关系:

<target name="my_target" depends="my_target_from_an_imported_file"> 

把它看成与使用任何编程语言进行导入的方式相同。一旦它被导入,您可以将其用作 - 如果它只是您文件中的另一个目标。

这里是import documentation

+0

一旦我导入了所有的文件,我怎样才能调用它们的目标?你能给我一个语法的例子吗? – TookTheRook 2011-06-14 15:46:18

+0

@Mahendru看到我的编辑 – 2011-06-14 20:44:43

+1

问题是,当我从其他ant文件形成一个特定的文件夹,而不是跟随他们自己的属性文件,蚂蚁文件找不到自master_ant_file(我创建的那个)以来的路径变量,不存储路径变量(因为每个ant构建具有不同的路径变量)。如果我在maser_ant_file的属性文件中放入第一个ant的路径变量,则第一个构建执行正常,但第二个构建无法找到其路径。有没有办法来解决这个问题? – TookTheRook 2011-06-16 16:39:29