2009-10-19 26 views
7

Trong kiến ​​nếu muốn thực hiện nhiều hơn một mục tiêu, chúng ta có thể làm điều đó như thế này,Có thể loại trừ một số mục tiêu khỏi mục tiêu Ant trong khi thực thi tập lệnh không?

ant target1 target2 target3 

cách khác có thể là, tạo target4 như

<target name="target4" depends="target1,target2,target3" /> 

nhưng vấn đề là, một trong những của tôi định nghĩa mục tiêu là:

<target name="buildApp" depends="init,copy-all-requiredfiles-local,wait-to-merge,compile,createWAR,deployAll"/> 

và nếu tôi muốn thực hiện buildApp sau đó nó sẽ chạy tất cả các mục tiêu liên quan quá rõ ràng. Có thể thực thi mục tiêu buildApp mà không thực hiện mục tiêu deployAll không?

+1

Mục tiêu và phụ thuộc của bạn là thú vị. Tôi nghĩ rằng deployAll có một sự phụ thuộc vào buildApp và không phải là cách khác. –

Trả lời

14

Khả năng sẽ thêm điều kiện vào mục tiêu deployAll của bạn như thế này.

<target name="depolyAll" unless="doNotDeploy"> 
... 
</target> 

Sau đó, khi bạn muốn chạy buildApp mà không deployAll trên dòng lệnh chỉ làm

ant -DdoNotDeploy=true buildAll 

btw. lưu ý rằng trừ khi chỉ kiểm tra nếu thuộc tính được đặt. Không phải giá trị là gì.

Nhưng hành vi này phải được ghi lại và có chút ít người biết đến.

Tôi sẽ xem xét rõ ràng việc tạo mục tiêu xây dựng thứ hai, ví dụ: buildAllWithoutDeploy mà chỉ bỏ lỡ mục tiêu triển khai

+0

+1 fot * trừ khi * điều. :) –

2

Tại sao không tạo một mục tiêu khác cho nó?

<target name="buildAppNoDeploy" depends="init,copy-all-requiredfiles-local,wait-to-merge,compile,createWAR"/> 
+0

chắc chắn tôi có thể tạo ra một mục tiêu khác, nhưng tôi đã không mong đợi điều này. :) –

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