作为build.xml内部'includes'的一部分的xml文件是否可能依赖于该build.xml中的目标(向后依赖)?或者我是否需要创建一个仅具有前向依赖关系的链,并且“依赖”includedFile.target?如果可以,我该如何调用这些父目标?
我试图在很长的build.xml文件之外提取几个目标,在这种情况下:
build.xml定义了一个非常常见的目标,buildMe用于整个build.xml文件。它还定义了目标runTasks。它包括someTasks.xml。 runTasks依赖于buildMe和someTasks.groupOfTasks。
someTasks.xml定义目标groupOfTasks,task0,task1,task2。 groupOfTasks依赖于task0,task1和task2。现在task0 task1或task2可以依赖build.xml中的buildMe,还是build.xml中定义的其他目标?
答案 0 :(得分:2)
这对我有用:在主项目文件中,目标默认值取决于来自commontasks.xml
的目标,该目标取决于主项目文件中的目标:
<project name="main" default="default">
<import file="commontasks.xml" as="common" />
<target name="default" depends="common.hello" description="the main project">
</target>
<target name="initMain">
<echo>initializing main</echo>
<property name="aValue" value="MAIN" />
</target>
<project name="commontasks" >
<target name="hello" depends="initMain">
<echo>hello from common tasks</echo>
<echo>aValue: ${aValue}</echo>
</target>
当我运行ant build时,我得到:
initMain:
[echo] initializing main
common.hello:
[echo] hello from common tasks
[echo] aValue: MAIN
default:
BUILD SUCCESSFUL
目标依赖项default
取决于hello
取决于initMain
而hello
可以使用initMain
中定义的属性。