사용자 도구

사이트 도구


java:pmd

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
java:pmd [2016/10/11 11:50]
kwon37xi
java:pmd [2021/05/06 22:35] (현재)
kwon37xi
줄 1: 줄 1:
 ====== PMD ====== ====== PMD ======
-  * [[http://pmd.sourceforge.net|PMD]]  [[java:static_analysis|Java Static Analysis]] 도구+  * [[https://pmd.github.io/|PMD]]  [[java:static_analysis|Java Static Analysis]] 도구
   * [[http://lf.hisfy.com/wiki/PMD_%EA%B8%B0%EB%B3%B8_%EA%B7%9C%EC%B9%99|PMD 기본 규칙]]   * [[http://lf.hisfy.com/wiki/PMD_%EA%B8%B0%EB%B3%B8_%EA%B7%9C%EC%B9%99|PMD 기본 규칙]]
 +  * [[ci:jenkins:warnings_next_generation|Jenkins Warnings Next Generation]]
 +
 +===== 기본 규칙 =====
 +  * PMD 바이너리를 다운로드 하면 ''lib/pmd-java-[version].jar'' 형태의 Rule jar 파일이 있는데, 해당 파일을 열어보면 ''rulesets/[language]/*.xml'' 에 기본 RuleSet 들이 들어있다.
 +  * 혹은 소스에서 볼 수도 있다. [[https://github.com/pmd/pmd/tree/master/pmd-java/src/main/resources/rulesets/java|기본 Java RuleSets]]
 +
 +===== Gradle 설정 =====
 +  * [[https://docs.gradle.org/current/userguide/pmd_plugin.html|Gradle PMD plugin]]
 +<code groovy>
 +apply plugin: 'pmd'
 +
 +pmd {
 +    toolVersion = '5.5.1' // PMD 버전별로 버그가 있을 수 있어 버그 없는 특정 버전을 명시해야 할 수 있음.
 +    ignoreFailures = true // 위반이 있어도 report만하고 넘어감
 +}
 +
 +// 혹은
 +tasks.withType(Pmd) {
 +    ignoreFailures = true
 +    ruleSetFiles = rootProject.files("/path/to/pmd.xml")
 +    exclude "package/to/querydsl/**/Q*.java" // excludes ...
 +
 +    reports {
 +        xml.enabled true
 +        html.enabled false
 +    }
 +}
 +</code>
  
java/pmd.1476156042.txt.gz · 마지막으로 수정됨: 2016/10/11 11:50 저자 kwon37xi