2009-09-15 27 views

Trả lời

7

Bạn có thể sử dụng AntCall Task để gọi một nhiệm vụ bên trong một nhiệm vụ.

<project> 
    <target name="asdf"> 
     <property name="prop" value="qwer" /> 
     <antcall target="${prop}" /> 
    </target> 

    <target name="qwer"> 
     <echo message="in qwer" /> 
    </target> 
</project> 

Để làm cho một phụ thuộc vào người khác, bạn có thể đặt một tham số trong nhiệm vụ phụ thuộc và kiểm tra xem nó trong nhiệm vụ của bạn gọi.

3

Thay vì phụ thuộc, bạn có thể kiểm tra thuộc tính bằng cách sử dụng thuộc tính if. Xem manual để biết thêm chi tiết.

Ví dụ:

<target name="helloworld" if="test"/> 

Chú giải này chỉ kiểm tra nếu tài sản được thiết lập (bạn có thể sử dụng unless để kiểm tra xem nó là unset).

Một thay thế, phức tạp hơn nhưng mạnh mẽ, cách tiếp cận là sử dụng một điều kiện lồng nhau trên một mục tiêu phụ thuộc:

<target name="helloworld" depends="myTarget.check" if="myTarget.run"> 
    ... 
</target> 

<target name="myTarget.check"> 
    <condition property="test"> 
    <and> 
     <available file="foo.txt"/> 
     <available file="bar.txt"/> 
    </and> 
</condition> 

Các vấn đề liên quan