我們使用大量遺留代碼,並考慮爲新代碼引入一些度量標準。是否可以讓Findbugs和Checkstyle僅在更改的文件上運行而不是完整的項目?僅在Jenkins(和/或Hudson)上更改文件的Checkstyle和Findbugs
確保只有質量最低的文件被檢入,但代碼庫本身並沒有被觸摸和評估,不會讓人們被數千個問題困擾。
我們使用大量遺留代碼,並考慮爲新代碼引入一些度量標準。是否可以讓Findbugs和Checkstyle僅在更改的文件上運行而不是完整的項目?僅在Jenkins(和/或Hudson)上更改文件的Checkstyle和Findbugs
確保只有質量最低的文件被檢入,但代碼庫本身並沒有被觸摸和評估,不會讓人們被數千個問題困擾。
從理論上講,這是可能的。你可以使用一個shell腳本給定的起始日期之後解析SVN(或其他SCM)更改日誌,這些變更集從這些標識.java文件和建設兩種模式:
onlyAnalyze
名的列表 - 分隔,所以你必須 翻譯文件名完全合格的類名(這將讓 棘手,當你在處理內部類)packageNamesLocation
參數需要 配置文件。 不幸的是,只允許包,而不是單個文件。所以 你必須將文件名翻譯成包。在上面的例子中,我假設你使用的是maven。我很確定,類似的事情可以用螞蟻來完成,但我不知道。
我自己可能會使用Groovy腳本而不是shell腳本來實現上述結果。
FindBugs的有Ant任務,可以做到針對不同的FindBugs結果的diff看到的只是三角洲,所以只報告新的bug,請參閱
實際上,這是一個很好的功能,可以通過這種方式檢查新引入的錯誤。這有點幫助,我想也可以將這個特性以某種方式介紹給Maven,我會檢查一下。謝謝你的提示! –
我將使用詹金斯,Maven和GIT。腳本太多並不是真正的首選。是否有插件,選項或已有的東西?我們不能成爲第一個想要檢查新文件的人。 –
@ Rick-Rainer當你有不尋常的要求時,你通常必須自己實施它們。抱歉。 –
雖然它會是那個不尋常的...... :-(感謝提示,反正也許有人有一個開箱即用的解決方案!) –