사용자 도구

사이트 도구


java:static_analysis

차이

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

차이 보기로 링크

다음 판
이전 판
java:static_analysis [2016/10/11 11:49]
kwon37xi 만듦
java:static_analysis [2023/03/15 16:38] (현재)
kwon37xi
줄 1: 줄 1:
 ====== Java Static Analysis ====== ====== Java Static Analysis ======
 +  * [[java:jspecify|jspecify]]
   * [[java:findbugs|Java FindBugs]]   * [[java:findbugs|Java FindBugs]]
 +  * [[java:spotbugs|SpotBugs]]
   * [[java:pmd|PMD]]   * [[java:pmd|PMD]]
   * [[java:checkstyle|Checkstyle]]   * [[java:checkstyle|Checkstyle]]
-  * [[java:sonarqube|SonarQube]]+  * [[java:sonarqube|SonarQube]] - [[java:sonarqube:sonarlint|SonarLint]] 
 +  * [[java:quilice|Quilice]] 
 +  * [[java:errorprone|Java ErrorProne]] 
 +  * [[java:null_check|Java Null Check]] 
 +  * [[java:checker|Checker Framework]] 
 +  * [[java:rewrite|Rewrite]] 
 +  * [[ci:jenkins:warnings_next_generation|Jenkins Warnings Next Generation]] : 여러 정적 분석 결과를 [[ci:jenkins|Jenkins]] 에서 수집해서 보여줌.
  
 +===== Gradle 설정 =====
 +  * [[:gradle|Gradle]] 과 정적 분석
 +  * https://github.com/vanniktech/gradle-code-quality-tools-plugin
 +
 +===== Gradle & exclude 처리 =====
 +  * Gradle로 정적 분석시 일부 파일 exclude 처리하기
 +  * 현재(2016년, Gradle 2.14.x) PMD, Checkstyle은 ''exclude''가 먹지만, FindBugs는 이게 안 먹고 class filter를 해야한다.
 +  * [[http://stackoverflow.com/questions/22037499/using-excludes-config-in-findbugs-and-checkstyle-plugin-in-gradle|Using "excludes" config in Findbugs and Checkstyle plugin in Gradle]] 질문글의 마지막 부분에 정리돼 있음.
 +<code gradle>
 +def excludePattern = 'org/jsense/serialize/protobuf/gen/'
 +def excludePatternAntStyle = '**/' + excludePattern + '*'
 +tasks.withType(FindBugs) {
 +    classes = classes.filter {
 +        !it.path.contains(excludePattern)
 +    }
 +}
 +tasks.withType(Checkstyle) {
 +    exclude excludePatternAntStyle
 +}
 +tasks.withType(Pmd) {
 +    exclude excludePatternAntStyle
 +}
 +</code>
  
java/static_analysis.1476155979.txt.gz · 마지막으로 수정됨: 2016/10/11 11:49 저자 kwon37xi