2011-12-05 25 views
6

Có thể coi cảnh báo là lỗi khi sử dụng Javadoc không? Đặc biệt, tôi đang gọi Javadoc từ Ant và có failonerror="true" đặt trên nhiệm vụ <javadoc> của tôi, nhưng tôi dường như không thể kích hoạt điều này. Mặc dù javadoc đang tạo cảnh báo, tôi vẫn nhận được BUILD SUCCESSFUL với mã thoát là 0 khi Ant hoàn tất.Javadoc: Coi các cảnh báo là lỗi?

Tôi hy vọng sẽ có thể thêm thứ gì đó vào thuộc tính additionalparam của tác vụ <javadoc> để buộc không thực hiện được cảnh báo Javadoc.

+1

Có sự khác biệt giữa 'failonerror' và' failonwarnings' (trường hợp sau không tồn tại). –

Trả lời

0

Tôi không biết về tham số JavaDoc, tôi khuyên bạn nên sử dụng công cụ như checkstyle trong bản dựng kiến ​​của bạn cho những thứ như thế này. Bạn có thể thiết lập để thất bại trên các cảnh báo Javadoc.

+0

Làm tốt hơn và tích hợp công trình của bạn với Sonar http://www.sonarsource.org/ –

6

Tôi biết điều này là cũ nhưng nó vẫn có thể hữu ích cho ai đó đang tìm kiếm câu trả lời như tôi. Nếu nó không hoạt động, hãy thay đổi

<contains text="warnings"/> 

vào văn bản bạn thấy với đầu ra của mình.

<target name="javadoc"> 
<delete dir="${jDocDirectory}"/> 
<mkdir dir="${jDocDirectory}"/> 
<record name="javadocLog" action="start"/> 
<javadoc (settings, blah blah) /> 
<record name="javadocLog" action="stop"/> 
     <condition property="javadoc.warnings"> 
      <isfileselected file="javadocLog"> 
       <contains text="warnings"/> 
      </isfileselected> 
     </condition> 
     <fail if="javadoc.warnings">Javadoc warnings!</fail> 
</target> 

chỉnh sửa: Nếu bạn có một cảnh báo này sẽ không làm việc, để sửa chữa cho tất cả các cảnh báo bạn phải thay đổi này:

<contains text="warnings"/> 
+0

Điều này có vẻ thú vị, mặc dù nó không hiệu quả đối với tôi. Tôi nhận được một tệp văn bản trống một dòng làm đầu ra từ thao tác ghi. Có vẻ như có thể không phải lúc nào cũng xóa đầu ra cho tệp, vì vậy khi bạn đọc nó, bạn có thể nhận được tệp thực sự ngắn thay vì tệp có chứa các nhật ký bạn mong đợi. Quay lại bảng vẽ, tôi đoán vậy. – Trejkaz

+0

Vấn đề của bạn có thể là bạn chỉ có 1 cảnh báo và do đó tệp chứa "cảnh báo" thay vì "cảnh báo". Chúng tôi đã có một cảnh báo xuất hiện mà không thể ẩn/cố định (sử dụng một lớp có thể bị xóa khỏi API). Nếu bạn muốn thay đổi Điều đó có thể hữu ích. Điều này đã làm việc cho chúng tôi kể từ khi có thể, chưa có bất kỳ vấn đề nào. – Knoxie

+0

Tôi đang sử dụng "cảnh báo", nhưng tệp hoàn toàn trống nên tệp sẽ không khớp. Tôi hiện đang cố gắng tìm ra lý do tại sao không tuôn ra. Các tài liệu nói rằng nó chỉ có thể tuôn ra khi một mục tiêu được hoàn thành, vì vậy tôi đã thử sử dụng trên một mục tiêu trống để ép buộc nó, nhưng điều đó dường như không làm điều đó. – Trejkaz

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