sbt cpd
v2.0.0
นี่คือปลั๊กอิน SBT สำหรับการตรวจจับรหัสซ้ำโดยใช้เครื่องตรวจจับการคัดลอก/วาง (CPD) จากโครงการ PMD
ติดตั้งปลั๊กอินโดยเพิ่มสิ่งต่อไปนี้ใน project/plugins.sbt :
addSbtPlugin( " com.github.sbt " % " sbt-cpd " % " <version> " ) จากนั้นดำเนินการปลั๊กอินด้วย sbt cpd สิ่งนี้จะสแกนซอร์สโค้ดของคุณภายใต้ src/main/scala และเอาต์พุตรายงานที่มีการทำซ้ำไปยัง target/scala-2.xx/cpd/cpd.xml
(ดูเอกสาร CPD ด้วย)
| สำคัญ | พิมพ์ | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
cpdReportType | CpdReportType | CpdReportType.XML | เลือกรูปแบบผลลัพธ์สำหรับรายงาน CPD ประเภทที่ถูกต้อง: XML , Simple , CSV & VS |
cpdLanguage | CpdLanguage | CpdLanguage.Scala | ภาษาในการวิเคราะห์ 1 |
cpdMaxMemoryInMB | จำนวนเต็ม | 512 | จำนวนหน่วยความจำสูงสุดที่จะอนุญาตสำหรับ CPD (เป็น MB) |
cpdMinimumTokens | จำนวนเต็ม | 100 | จำนวนโทเค็นขั้นต่ำของการทำซ้ำที่มีศักยภาพ |
cpdSourceEncoding | สาย | utf-8 | การเข้ารหัสไฟล์ต้นฉบับ |
cpdSourceDirectories | Seq (เส้นทาง) | เส้นทางแหล่งที่มาหลัก | เส้นทางของไฟล์ต้นฉบับเพื่อวิเคราะห์ |
cpdOutputType | CpdOutputType | CpdOutputType.File | เลือกประเภทเอาต์พุตสำหรับรายงาน CPD 2 ประเภทที่ถูกต้อง: File Console |
cpdTargetPath | เส้นทางไฟล์ | <cross-target>/cpd | เส้นทางเอาท์พุทสำหรับรายงาน CPD |
cpdReportName | สตริง (ชื่อไฟล์) | cpd.xml | ชื่อของไฟล์รายงานเพื่อสร้าง (ภายใต้ cpdTargetPath ) |
cpdReportFileEncoding | สาย | utf-8 | รายงานการเข้ารหัสไฟล์ |
cpdSkipDuplicateFiles | บูลีน | false | ละเว้นไฟล์หลายชุดที่มีชื่อและความยาวเดียวกันในการเปรียบเทียบ |
cpdSkipLexicalErrors | บูลีน | false | ข้ามไฟล์ที่ไม่สามารถเป็นโทเค็นเนื่องจากอักขระที่ไม่ถูกต้องแทนที่จะทำแท้ง |
cpdIgnoreLiterals | บูลีน | false | ละเว้นความแตกต่างของค่าตามตัวอักษรเมื่อประเมินบล็อกที่ซ้ำกัน |
cpdIgnoreIdentifiers | บูลีน | false | ละเว้นความแตกต่างของชื่อตัวระบุเมื่อประเมินบล็อกที่ซ้ำกัน |
cpdIgnoreAnnotations | บูลีน | false | ละเว้นคำอธิบายประกอบภาษาเมื่อประเมินบล็อกที่ซ้ำกัน |
cpdFailOnDuplicates | บูลีน | false | ล้มเหลวในการสร้างหากตรวจพบซ้ำ |
ScalaJavaCCPPCSCSharpECMAScriptFortranGoJSPJavaScriptMatlabObjectiveCPHPPLSQRubySwiftCpdOutputType.Console จากนั้น cpdTargetPath และ cpdReportName จะถูกละเว้น ขอบคุณมาก
สำหรับผลงานที่ยอดเยี่ยมของพวกเขา!
โปรแกรมนี้และวัสดุประกอบมีให้ภายใต้ข้อกำหนดของ ใบอนุญาตสาธารณะ Eclipse v1.0 ซึ่งมาพร้อมกับการกระจายนี้และมีอยู่ที่ http://www.eclipse.org/legal/epl-v10.html