
Android 프로젝트용 정적 코드 분석 플러그인. (Checkstyle, PMD)
Android 프로젝트를 위한 정적 코드 분석 플러그인입니다.
<project_dir>/build.gradle 수정:
buildscript {
repositories { jcenter() }
dependencies {
...
classpath 'com.noveogroup.android:check:1.2.5'
...
}
}
<project_dir>/<module_name>/build.gradle 수정:
apply plugin: 'com.noveogroup.android.check'
권장 설정은 기본값(비어 있음)입니다.
// 설정 없음
check {
abortOnError true
checkstyle { config hard() }
findbugs { config hard() }
pmd { config hard() }
}
check { skip true }
Checkstyle만 건너뛰기
check { checkstyle { skip true } }
FindBugs만 건너뛰기
check { findbugs { skip true } }
PMD만 건너뛰기
check { pmd { skip true } }
// 설정은 선택 사항입니다.
check {
// 소스 코드 검사 건너뛰기 여부, 기본값 false
skip true/false
// 코드 스타일 위반 시 빌드 실패, 기본값 false
abortOnError true/false
// Checkstyle 검사기 설정
checkstyle {
// Checkstyle 건너뛰기, 기본값 false
skip true/false
// Checkstyle 규칙 위반 시 빌드 실패, 기본값 false
abortOnError true/false
// 설정 파일
config project.file('path/to/checkstyle.xml')
// 설정 리소스
// 참조: http://gradle.org/docs/2.2/release-notes#sharing-configuration-files-across-builds
config resources.text.fromFile(someTask)
// 설정 경로
config 'path/to/checkstyle.xml'
// 미리 정의된 설정: easy 및 hard
config easy()
config hard()
// 기본적으로 플러그인은 <rootProject>/config/checkstyle.xml에서 설정 파일을 찾고,
// 그 다음 <project>/config/checkstyle.xml에서 찾으며,
// 설정 파일이 없으면 easy() 설정을 사용합니다.
// 보고서 파일 디렉토리
report new File(project.buildDir, 'reports/pmd')
// XML 보고서 파일
reportXML new File(project.buildDir, 'reports/checkstyle/checkstyle.xml')
// HTML 보고서 파일
reportHTML new File(project.buildDir, 'reports/checkstyle/checkstyle.html')
}
// FindBugs 검사기 설정
findbugs {
// Checkstyle과 동일한 설정
// 기본적으로 플러그인은 <rootProject>/config/findbugs.xml에서 설정 파일을 찾고,
// 그 다음 <project>/config/findbugs.xml에서 찾으며,
// 설정 파일이 없으면 easy() 설정을 사용합니다.
}
// PMD 검사기 설정
pmd {
// Checkstyle과 동일한 설정
// 기본적으로 플러그인은 <rootProject>/config/pmd.xml에서 설정 파일을 찾고,
// 그 다음 <project>/config/pmd.xml에서 찾으며,
// 설정 파일이 없으면 easy() 설정을 사용합니다.
}
}
Copyright (c) 2017 Noveo Group
본 소프트웨어 및 관련 문서 파일(이하 "소프트웨어")의 사본을 취득하는 모든 사람에게는
다음 조건에 따라 소프트웨어를 제한 없이 사용, 복제, 수정, 병합, 게시, 배포,
서브라이선스 및/또는 판매할 수 있는 권한이 무료로 부여되며,
소프트웨어가 제공되는 사람에게도 동일한 권한이 부여됩니다.
위의 저작권 고지 및 이 허가 고지는 소프트웨어의 모든 사본 또는
주요 부분에 포함되어야 합니다.
이 고지에 명시된 경우를 제외하고, 위 저작권 보유자의 이름은
사전 서면 승인 없이 광고 또는 소프트웨어 판촉, 사용 또는
기타 거래에 사용될 수 없습니다.
본 소프트웨어는 "있는 그대로" 제공되며, 상품성, 특정 목적에의 적합성 및
비침해에 대한 보증을 포함하되 이에 국한되지 않는 명시적 또는 묵시적인
어떠한 보증도 없습니다. 어떠한 경우에도 저작자 또는 저작권 보유자는
계약, 불법 행위 또는 기타 행위로 인해 발생하는 모든 청구, 손해 또는
기타 책임에 대해 책임을 지지 않습니다.