最簡單的方法是使用父項測試的依賴關係。
爲此,請務必將<project>
名稱屬性與其文件名保持同步(確定這不是嚴格意義上的必要,但會極大地提高腳本的可讀性和可維護性)。
所以在集結共portlet.xml中:
<project
name="build-common-portlet" <-- note the name
...
>
<target name="test">
<echo message="Calling parent test target"/>
...
</target>
</project>
這樣,你可以這樣做:
<project name="some-portlet" basedir="." default="deploy">
<import file="../build-common-portlet.xml" />
<target name="test"
depends="build-common-portlet.test" <-- note parent specification
>
<echo message="do foo"/>
RUN TEST FROM PARENT HERE
</target>
</project>
>>在回覆評論
如果你想在做父母的測試之前做一些工作,在父母的測試之前創建一個新的目標並且依賴它:
<project name="some-portlet" basedir="." default="deploy">
<import file="../build-common-portlet.xml" />
<target name="copy-jars">
<echo message="copying jars"/>
</target>
<target name="test"
depends="
copy-jars,
build-common-portlet.test
"
/>
</project>
這不會讓父測試先運行嗎?在我的情況下,這將失敗,因爲瓶子的複製不會發生。我也不想修改父項,因爲超過此項目包括父文件。 (我有一個解決方案,至少它看起來像,在下面的答案) – nheid
@ nheid。我提供了一個回答您評論的樣本。 –
我喜歡這種方法比明確調用父目標更好!爲我工作! –