2015-08-31 39 views
1

我試圖使用Checkstyle的在Android項目。我認爲谷歌Java編碼慣例會很好用。解析該文件時,我得到一個錯誤:谷歌的CheckStyle配置未能在Android項目

https://github.com/checkstyle/checkstyle/blob/master/src/main/resources/google_checks.xml

我已經看了這個錯誤了對堆棧溢出,它已經拿出過一次,How to compile project with Google Checkstyle rules with gradle?

看來錯誤是一個較舊當使用gradle時,checkstyle版本被拉下來。所以我的問題是,是否只有一個較舊的checkstyle配置文件可以使用,這是針對gradle當前版本的checkstyle所做的?我是否應該爲Android項目使用Googles java指南?是否有更好的默認文件可以使用?我真的不想像在另一個SO問題的答案中提到的那樣將新版本的checkstyle導入到我的項目中。

+1

我的[配置](https://github.com/ben-manes/caffeine/blob/master/gradle/code_quality.gradle)看看。他們在我的請求上捆綁了google_check,這樣我就可以做到這一點。 –

+0

問題不是很清楚。你可以在每個項目中定義一個checkstyle任務(每個項目需要一個xml文件)。否則,您可以從(https://github.com/android/platform_development/tree/master/ide/intellij/codestyles)導入AS的AOSP代碼樣式,並讓IDE爲您完成工作。 –

+0

@BenManes評論中的鏈接已損壞 –

回答

3

你應該總是指定要使用的Checkstyle的確切版本。 Checkstyle的人經常做出突破性的改變,除非你設置了特定的固定版本,否則你的構建將會失敗。例如:

checkstyle { 
    configFile file('downloaded_google_checks.xml') 
    toolVersion '6.9' // set Checkstyle version here 
    showViolations = true 
} 

然後,你也可以用正確的配置文件爲您的版本,例如:https://github.com/checkstyle/checkstyle/blob/checkstyle-6.9/src/main/resources/google_checks.xml。請注意URL中的版本號 - 這可以根據您在Gradle配置中選擇的版本進行調整。

不要使用從主分支的最新配置文件,因爲這在主分支當前代碼(這是尚未發行)相匹配。

上述允許你調整配置是必要的。如果您確定需要原始規則文件,那麼您也可以在他的評論中遵循@ BenMane的建議,即直接引用捆綁的google_checks.xml。