2011-12-23 48 views
4

我有一個大型的Java項目,有成千上萬的編譯警告。我想找到一種方法來阻止開發者提交帶有警告的文件,因此所有警告都會逐漸消失。如果我提交了一個編譯錯誤的文件,Eclipse會顯示一條錯誤消息,但我找不到任何方法來處理警告。我發現最接近的是Commit Commit警告檢查器http://commitwarncheck.sourceforge.net/,但這並沒有真正集成到提交過程中,它只是提供了一個視圖。有沒有更好的解決方案?使用eclipse防止將文件提交到SVN併發出警告

回答

6

我看到2個選項。首先,至少有Subclipse,這裏有一個Eclipse首選項:Window/Preferences/Team/SVN /「Commit resources with warnings」。還有一個「錯誤」。兩者都可以設置爲「是」,「否」或「提示」。但是,這將要求您確保整個團隊按照您的預期設置這些選項 - 並確保它們具有所有其他Eclipse首選項設置,以生成相同的錯誤/警告。

使用Subclipse 1.6.18:

enter image description here

另一種選擇是利用SVN commit hooks,持續集成(CI)的過程基本上開端。你實際上可以檢查一組有限的東西,並允許/拒絕當時的提交,但我會開始擔心提交性能。一個更好的選擇可能是運行構建的真正的CI過程(不管是預定的,還是潛在的甚至是每次提交的) - 並且如果檢測到問題則以電子郵件或以其他方式警告開發人員。

後面這個選項的複雜性是以腳本方式重複Eclipse構建 - 包括檢測所有Eclipse配置的錯誤和警告。 (如果有人發現了這樣做的好方法,請告訴我們!Eclipse爲使用它的代碼格式化程序提供了一個腳本化選項,但是我沒有看到類似的選項來使用Eclipse提供的檢查來檢查錯誤/警告。)

否則,您可能會更好地開始遷移到諸如CheckstyleFindBugs之類的工具,這些工具在Eclipse內部和外部都可以很好地工作。 (但是,回顧我上面的興趣,我還沒有發現任何幾種工具的組合,包括這些工具 - 至少可以匹配Eclipse提供的相同檢查。)將其與Maven/m2e相結合,提供一個通用構建配置/流程可以被Eclipse和你的CI系統共享,你應該保持良好的狀態。

+0

我們有CI和聲納(checkstyle + PMD),但說實話,沒有人真正關心通知。我們都受到時間壓力,從來沒有時間閱讀這些電子郵件:)我有最新版本的subclipse,但沒有你提到的選項。要麼我完全失明,要麼使用不同的版本。你有哪一個?你可以張貼截圖嗎? – 2011-12-23 17:28:08

+0

@PeterSzanto - 你的團隊需要關心通知。一旦他們開始被認真對待,你的發展過程將會改善,你的時間壓力應該會減少。就提到的Subclipse選項而言,我添加了一個截圖。 – ziesemer 2011-12-23 17:54:32

+0

在問這裏之前,我看了至少10倍的屏幕,但我總是專注於複選框,而不是單選按鈕:)謝謝截圖! – 2011-12-27 09:45:17