2010-10-12 33 views
177

Codebase của tôi có một tệp dài build.properties được viết bởi người khác. Tôi muốn xem các mục tiêu được xây dựng sẵn có mà không phải tìm kiếm thông qua tệp theo cách thủ công. Có kiến ​​có một lệnh cho điều này - một cái gì đó như ant show-targets - mà sẽ làm cho nó liệt kê tất cả các mục tiêu trong tập tin xây dựng?Làm cách nào để có được danh sách các mục tiêu xây dựng trong Ant?

Trả lời

239

Tùy chọn -p hoặc -projecthelp thực hiện chính xác này, vì vậy bạn có thể chỉ cần thử:

ant -p build.xml 

Từ dòng lệnh ant của documentation:

Các -projecthelp tùy chọn in ra một danh sách các mục tiêu xây dựng hồ sơ của . Các mục tiêu bao gồm thuộc tính description được liệt kê là "Mục tiêu chính", những mục không có description được liệt kê là "Mục tiêu khác", sau đó mục tiêu "Mặc định" được liệt kê ("Mục tiêu khác" chỉ hiển thị nếu không có mục tiêu chính hoặc nếu Ant được gọi trong chế độ -verbose hoặc -debug).

+0

Cảm ơn bạn rất nhiều. – Shwetanka

+33

Để đặt giá trị này làm mặc định khi chỉ gọi 'ant', hãy tạo mục tiêu như ' ' và làm cho "giúp đỡ" các mục tiêu mặc định trong dự án của bạn. – sschuberth

+17

Tôi nghĩ đáng lưu ý rằng 'ant -p' sẽ chỉ hiển thị các mục tiêu có mô tả. Để hiển thị mọi mục tiêu được liên kết với một tệp 'build.xml', bạn cần chạy' ant -p -v' Ngoài ra, 'ant -p build.xml' là thừa. 'ant -p' sẽ làm điều tương tự, và nếu bạn không ở trong thư mục' build.xml', bạn sẽ cần sử dụng 'ant -p -buildfile path/to/build.xml', anyway. – Andrew

26

Để có được tất cả các mục tiêu trong xây dựng tập tin

kiến ​​-p -verbose

+2

-v cho rất nhiều đầu ra.Chỉ cần 'ant -p' hoạt động tốt :) –

+1

chúng ta cần sử dụng -p cominded with -v Nếu chúng ta cần tất cả mục tiêu (bởi tất cả các mục tiêu tôi có nghĩa là các mục tiêu mà không có mô tả trong họ là tốt). nếu chỉ có các mục tiêu chính là bắt buộc (bởi các mục tiêu chính tôi có nghĩa là những người có mô tả trong họ) sử dụng -p một mình làm các trick. – Wills

+0

Tôi không thể thấy các mục tiêu mà tôi cần chỉ với -p, công cụ này hoàn hảo. – JacopKane

13

Tùy chọn -p hoặc -projecthelp thực hiện chính xác này, vì vậy bạn có thể làm:

ant -p build.xml 

Bạn có thể thực hiện mục tiêu để gọi điều này như sau:

<target name="help"> 
    <java classname="org.apache.tools.ant.Main"> 
     <arg value="-projecthelp" /> 
     <arg value="-buildfile" /> 
     <arg value="${ant.file}" /> 
    </java> 
</target> 

mà sau đó bạn có thể đặt làm mặc định, vì vậy, chỉ cần nhập kiến ​​sẽ liệt kê các mục tiêu có sẵn.

(Kết hợp câu trả lời @Grodriguez và nhận xét của @ sschuberth - Tôi nghĩ rằng đó là một câu trả lời đáng giá)

+4

đề xuất nhỏ. đặt mục tiêu "trợ giúp" làm mặc định. Kết quả là chạy "kiến" sẽ gọi mục tiêu "trợ giúp" sẽ in tất cả các mục tiêu có sẵn. – user1697575

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