SonarQube配置自定義的CheckStyle程式碼規則
對於自定義的CheckStyle程式碼規則如何配置到SonarQube?網上找了很久,也沒找到多少有用的資訊,沒辦法,自己擼吧。一通擼下來發現,其實挺簡單 (⊙▽⊙)
慣例第一步肯定是SonarQube的安裝與執行配置了,但這部分不在本文主題內,網上一搜一大把,這裡就不講了,大家可以先看這篇文章:SonarQube的安裝、配置與使用
。我們直接講自定義CheckStyle程式碼規則的配置方法。
(注:不同的SonarQube版本可能略有不同,大家按線索來)
1、CheckStyle外掛安裝(熟悉的可跳過)
如圖所示,在應用市場
中搜索CheckStyle即可,搜尋出來後,點選安裝
解除安裝
按鈕的地方會有安裝
按鈕),即可下載安裝,安裝過程中會有一次重啟操作,大家按提示操作即可。 (注:有些版本的SonarQube外掛安裝是在
配置
-系統
-更新中心
)
2、配置自定義的CheckStyle程式碼規則
配置自定義的CheckStyle程式碼規則,有兩種方法,使用CheckStyle程式碼規則配置檔案
和啟用SonarQube中的CheckStyle相關程式碼規則
,下面一一介紹:
使用CheckStyle程式碼規則配置檔案
注意:這種方法只有新建一個質量配置
時才能用,質量配置
建立好後,就不能利用配置檔案來配置程式碼規則了。
按照上面兩個圖,填寫好相關資訊後,點選建立
按鈕。這裡有幾個問題需要注意下:問題一 配置檔案不能以
<?xml version="1.0" encoding="UTF-8"?>
開頭,否則點選建立
按鈕時會有如下錯誤提示:
因此要把此標籤去掉,直接以<module>
標籤開頭,如下圖所示:
問題二 配置檔案中不能有重複的規則,否則點選
建立
按鈕時,會有報錯提示,比如:
上圖中提示ReturnCountCheck進行了重複配置,看一下配置檔案
這裡我們需要對建構函式和lambda表示式的返回語句個數進行不同的配置,但是SonarQube認為是重複的配置。┑( ̄Д  ̄)┍問題三 配置檔案中不能有
規則模板
(規則模板
後面介紹),當配置檔案中有規則模板
,點選建立
按鈕時,會有報錯提示,比如:
上圖錯誤提示的意思是:規則模板checkstyle:com.puppycrawl.tools.checkstyle.checks.coding.FinalLocalVariableCheck
不能被啟用。這條規則是檢測從未改變的區域性變數是否新增final修飾詞,那麼如果我們需要新增這條規則,怎麼處理呢?留到啟用SonarQube中CheckStyle相關程式碼規則方法去說。通過使用配置檔案的方法配置自定義的CheckStyle程式碼規則,或多或少還會有其它問題,要根據提示處理配置檔案。所以,一般情況下,不建議使用這種方法,事倍功半的說。╥﹏╥
啟用SonarQube中CheckStyle相關程式碼規則
如圖所示,在質量配置
中會顯示SonarQube中所有已安裝程式語言中建立好的規則配置(每個語言都有內建Sonar way
的預設配置),可見,剛剛建立的CheckStyle
配置中,通過檔案已配置了18條規則,接下來我們再進行新增。點選配置名稱,進入配置詳情頁:
點選更多啟用規則
上圖中左邊欄的用於篩選的,可從語言、規則型別、標籤、資源庫等等進行篩選,這裡我們要用到資源庫
的篩選,選中資源庫
後,會列舉出已安裝的外掛列表,選中CheckStyle
,頁面中會篩選出CheckStyle的可配置規則(上圖已經篩選好了,顯示有136條可配置的規則)。接下來就可以對這136條規則進行配置了,細心的同學可能已經發現了,規則列表中的規則有兩類:非模板規則(有
活動
按鈕,無規則模板
的標籤)和模板規則(無活動
按鈕,有規則模板
的標籤)。所以,我們也分兩類講:- 非模板規則
對於非模板規則,我們直接在規則列表中點選列表項的活動
按鈕即可,在彈出的對話方塊中填寫屬性值,如下圖所示:
如果想先了解下規則的內容,也可以先點選規則名稱進入詳情頁,詳情頁也有啟用的入口。 - 規則模板
對於規則模板,是沒有直接的啟用按鈕的。那麼規則模板怎麼啟用呢?且聽下回分解……O(∩_∩)O哈哈~(玩笑臉)
規則模板,需要我們先根據模板建立一條規則,之後再啟用建立的規則。接下來說步驟(以上文說的規則模板Final Local Variable
為例)
- 在規則列表中找到這表規則,點選規則名稱進入詳情頁
- 點選
建立
按鈕,彈出自定義規則建立框
- 在規則列表中找到這表規則,點選規則名稱進入詳情頁
- 根據提示填寫相關資訊後(子屬性根據需要進行填寫,不填則使用預設值),點選
建立
按鈕。
建立成功的規則如下圖所示:
在自定義規則下面會有一個建立的規則列表。此時回到之前的規則列表後,會在列表中找到剛剛建立的規則,點選列表項的活動
即可啟用。其次,也可以在此頁面點選自定義的規則名稱,進入詳情頁
在此頁面中,可以進行二次編輯
、刪除
、啟用
等操作。
- 非模板規則
配置好後,可在配置詳情頁中點選CheckStyle
的連結,以XML的格式檢視已配置好的規則,如下圖所示: