2014-02-19 42 views
1

我們使用Checkstyle來執行我們的多項目Gradle構建中的基本代碼質量規則。其中一些規則適用於所有文件類型,而不僅僅是Java文件,但我們無法弄清楚如何配置Checkstyle Plugin以查看除$projectDir/src/$sourceSet/java以外的其他任何內容。如何使用Checkstyle Gradle插件測試不僅僅是java文件

我們希望強制執行的最基本的規則之一是不要使用製表符。的checkstyle.xml相關位:

<module name="Checker"> 
    <module name="FileTabCharacter"> 
    <property name="eachLine" value="true"/> 
    </module> 
</module> 

build.gradle的片段,配置插件:

apply plugin: 'checkstyle' 
checkstyle { 
    configFile = new File(rootDir, 'checkstyle.xml') 
} 

除了java/**/*我們也希望您在conf/**/*www/**/*所有文件(假設包括規範是相對於源組的根)。不過,如果我嘗試添加這些規則包括:

apply plugin: 'checkstyle' 
checkstyle { 
    configFile = new File(rootDir, 'checkstyle.xml') 
    include 'conf/**/*' 
    include 'www/**/*' 
} 

我們得到以下錯誤:

> Could not find method include() for arguments [conf/**/*] on [email protected]763f. 

回答

4

您可以通過直接配置相應Checkstyle任務實現這一目標。例如:

tasks.checkstyle { // `checkstyle` alone refers to the extension, not the task 
    source "src/main/conf" 
    source "src/main/www" 
} 

欲瞭解更多信息,請參閱Gradle Build Language ReferenceCheckstyle

+0

Thanx。出於某種原因,我誤解了源代碼的文檔,並認爲它被用來聲明額外的sourceSets。 – jared

+0

'checkstyle' *擴展*具有'sourceSets'屬性。 –

相關問題