การวิเคราะห์รหัสแบบสแตติกพันรอบ CheckStyle, SpotBugs, PMD และ CPD นำเสนอคุณสมบัติใหม่และส่วนขยายไปยังปลั๊กอินที่ห่อหุ้มทำให้ง่ายต่อการใช้งานและให้ผลลัพธ์ที่ดีขึ้นด้วยความพยายามขั้นต่ำ
นอกกรอบเพียงแค่ใช้ปลั๊กอินที่คุณได้รับ:
R.class และ BuildConfig.class )เราอยู่ในพอร์ทัลปลั๊กอินเกรดดังนั้นคุณสามารถทำได้:
plugins {
id ' com.monits.staticCodeAnalysis ' version ' 3.1.1 '
}หรือคุณสามารถทำได้
buildscript {
repositories {
maven {
url ' https://plugins.gradle.org/m2/ '
}
}
dependencies {
classpath ' com.monits:static-code-analysis-plugin:3.1.1 '
}
}
apply plugin : ' com.monits.staticCodeAnalysis 'หรือโดยตรงจาก jCenter
buildscript {
repositories {
jcenter()
}
dependencies {
classpath ' com.monits:static-code-analysis-plugin:3.1.1 '
}
}
apply plugin : ' com.monits.staticCodeAnalysis ' | เวอร์ชันปลั๊กอิน | รุ่น Gradle | เวอร์ชันปลั๊กอิน Android Gradle |
|---|---|---|
| 3.x | 5.6+ | 3.3.0+ |
| 2.6.12 | 2.3 มากถึง 5.6.x | 1.1.x ถึง 3.5.x |
ก่อนที่จะใช้ FindBugs เวอร์ชัน 3.0.0 แทน SpotBugs
การกำหนดค่าการวิเคราะห์รหัสแบบคงที่นั้นง่ายมากและใช้งานง่ายด้วย DSL คุณสามารถเลือกปลั๊กอินที่ห่อหุ้มเพื่อเรียกใช้และตั้งค่าไฟล์การกำหนดค่า นี่คือตัวอย่างที่รวดเร็ว
staticCodeAnalysis {
spotbugs = true
checkstyle = true
pmd = true
cpd = true
androidLint = true
ignoreErrors = true
// default rules
spotbugsExclude = " $p roject . rootProject . projectDir /config/spotbugs/excludeFilter.xml "
checkstyleRules = ' https://raw.githubusercontent.com/Monits/static-code-analysis-plugin/staging/defaults/checkstyle/checkstyle-cache.xml '
pmdRules = [ ' https://raw.githubusercontent.com/Monits/static-code-analysis-plugin/staging/defaults/pmd/pmd.xml ' ,
' https://raw.githubusercontent.com/Monits/static-code-analysis-plugin/staging/defaults/pmd/pmd-android.xml ' ]
androidLintConfig = ' https://raw.githubusercontent.com/Monits/static-code-analysis-plugin/staging/defaults/android/android-lint.xml '
sourceSetConfig {
test { // or the name of any other sourceset
// use a more relaxed ruleset
checkstyleRules = ' config/checkstyle/test-checkstyle.xml '
spotbugsExclude = ' config/spotbugs/test-spotbugs.xml '
pmdRules = [ ' config/pmd/test-pmd.xml ' ,
' https://raw.githubusercontent.com/Monits/static-code-analysis-plugin/staging/defaults/pmd/pmd-android.xml ' ]
}
}
}โดยค่าเริ่มต้นปลั๊กอินทั้งหมดจะถูกนำไปใช้ข้อผิดพลาดจะไม่ล้มเหลวในการสร้างและกฎและการยกเว้นจะถูกนำมาจากค่าเริ่มต้นล่าสุดของที่เก็บนี้
ก่อนที่จะใช้ FindBugs เวอร์ชัน 3.0.0 แทน SpotBugs หากใช้เวอร์ชันเก่า DSL นั้นเทียบเท่า แต่ใช้ findbugs แทน spotbugs สำหรับคุณสมบัติทั้งหมด
คุณสมบัติ V2.x FindBugs DSL ทั้งหมดจะถูกสร้างขึ้นโดยอัตโนมัติไปยัง spotBugs ใน v3.x เพื่อการอัพเกรดได้ง่ายขึ้น
กฎที่ใช้โดย PMD, SpotBugs และ CheckStyle สามารถแทนที่ได้ต่อแหล่งข้อมูลภายใต้บล็อก sourceSetConfig
ในการรวมกฎผ้าสำลีที่กำหนดเองคุณสามารถรวมขวดเป็นพึ่งพาภายใต้ androidLint ตัวอย่างเช่นคุณสามารถรวม Monits 'Android Linters โดยการเพิ่ม:
dependencies {
androidLint ' com.monits:android-linters:1.+ '
}ปลั๊กอินจะเพิ่มงานต่อไปนี้:
cpdcheckstyle ขึ้นอยู่กับ:checkstyleSourcesetname ต่อแหล่งที่มา ( checkstyleMain , checkstyleTest , เป็นต้น)spotbugs ขึ้นอยู่กับ:spotbugsSourcesetname ต่อแหล่งที่มา ( spotbugsMain , spotbugsTest , ON)pmd ขึ้นอยู่กับ:pmdSourcesetname ต่อแหล่งที่มา ( pmdMain , pmdTest เป็นต้น) ก่อนที่จะใช้ FindBugs เวอร์ชัน 3.0.0 แทน SpotBugs งาน findbugs* เก่ายังคงมีอยู่และแผนที่ไปยังงาน spotbugs* ที่เกี่ยวข้อง
งานทั้งหมดจะถูกเชื่อมต่อเป็นส่วนหนึ่งของงาน check ของปลั๊กอิน Java
เช่นเคยรู้สึกอิสระที่จะมีส่วนร่วมในรูปแบบหรือรูปแบบใด ๆ เราหวังว่าจะได้รับคำติชมของคุณ!
หากคุณเห็นสิ่งที่รายงานซึ่งคุณคิดว่าไม่ควรเป็นหนึ่งในสองสิ่ง:
เนื่องจากเครื่องมือทุกอย่างมีกลไกการปราบปรามของตัวเองคุณควรอ้างอิงเอกสาร:
@SupressFBWarnings javadocลิขสิทธิ์ 2010-2017 Monits SA
ได้รับใบอนุญาตภายใต้ใบอนุญาต Apache เวอร์ชัน 2.0 ("ใบอนุญาต"); คุณไม่สามารถใช้งานนี้ยกเว้นตามใบอนุญาต คุณสามารถรับสำเนาใบอนุญาตได้ที่:
http://www.apache.org/licenses/license-2.0