2014-10-30 3 views
2

저는 Gradle을 사용하여 Java 프로젝트를 작성하고 있습니다. 작업을 분리하고 싶습니다.Gradle을 사용하여 테스트 및 프로덕션 코드에 대해 다른 (PMD, Checkstyle, Findbugs) 룰 세트를 어떻게 지정합니까?

생산 코드 에 엄격한 규칙 (즉, PMD, Checkstyle, Findbugs)을 사용하고 테스트를 위해보다 복잡한 규칙 (즉, 중복 문자열 및 매직 번호 허용)을 사용하고 싶습니다.

이전에 ant (아주 간단하게)를 사용했는데 Gradle에서 개미 작업을 호출 할 수는 있지만 각 플러그인을 사용하고 싶습니다.

어떻게해야합니까?

apply plugin: 'pmd' 
pmd { 
    ignoreFailures = true 
    ruleSetFiles = files("$staticAnalysisCfgDir/pmd/pmdruleset.xml") 
    toolVersion = '5.1.3' 
    sourceSets = [sourceSets.main, sourceSets.test] 
} 

답변

2

대신 pmd 확장에 규칙 세트를 구성 중, pmdMainpmdTest 작업 (동일한 구문)에이를 구성 다음과 같이 PMD에 대한

내 현재 빌드 스크립트입니다. 마찬가지로 Checkstyle과 FindBugs도 마찬가지입니다.

+0

질문을 게시하기 전에 시도했지만 작동하지 않았습니다. 이제 다시'sourceSets' => 지정없이 시도했습니다! –

+0

'sourceSets'는'pmd' 확장에서만 사용할 수 있습니다. 'pmdMain','pmdTest' 등이'gradle build'의 일부로 실행될 것인지를 효과적으로 결정합니다. API에 대한 자세한 내용은 [Gradle Build Language Reference] (http://gradle.org/docs/current/dsl/index.html)를 확인하십시오. –

관련 문제