ปลั๊กอิน SBT นี้ช่วยให้คุณวิเคราะห์รหัส (Java) ของคุณด้วยความช่วยเหลือของเครื่องมือ FindBugs ที่ยอดเยี่ยม มันกำหนดการกระทำ findbugs SBT เพื่อจุดประสงค์นั้น
ติดตั้งปลั๊กอินโดยเพิ่มสิ่งต่อไปนี้ใน project/plugins.sbt :
addSbtPlugin( " com.github.sbt " % " sbt-findbugs " % " <version> " ) จากนั้นเรียกใช้ปลั๊กอินด้วย sbt findbugs สิ่งนี้จะสร้างรายงาน FindBugs ใน target/scala-xx/findugs/report.xml
เพียงใช้ Scala Inline XML สำหรับการตั้งค่าเช่น:
findbugsIncludeFilters := Some (< FindBugsFilter >
< Match >
< Class name = " de.johoop.Meep " />
</ Match >
</ FindBugsFilter >)นอกจากนี้คุณยังสามารถอ่านการตั้งค่าตัวกรองจากไฟล์ด้วยวิธีทั่วไปมากขึ้น:
findbugsIncludeFilters := Some (baseDirectory.value / " findbugs-include-filters.xml " )หรือเมื่อการกำหนดค่าของคุณถูกซิปและเผยแพร่ก่อนหน้านี้ไปยัง repo ท้องถิ่น:
findbugsIncludeFilters := {
val configFiles = update.value.select(module = moduleFilter(name = " velvetant-sonar " ))
val configFile = configFiles.headOption flatMap { zippedFile =>
IO .unzip(zippedFile, target.value / " rules " ) find (_.name contains " velvetant-sonar-findbugs.xml " )
}
configFile map scala.xml. XML .loadFile orElse sys.error( " unable to find config file in update report " )
}(ดูเอกสาร FindBugs ด้วย)
findbugsReportTypeSome(FindbugsReportType.{Xml, Html, PlainHtml, FancyHtml, FancyHistHtml, Emacs, Xdoc})Some(FindbugsReportType.Xml)findbugsReportPathSome(crossTarget.value / "findbugs" / "report.xml")findbugsPriorityFindbugsPriority.{Relaxed, Low, Medium, High}FindbugsPriority.MediumfindbugsEffortFindbugsEffort.{Minimum, Default, Maximum}FindbugsEffort.DefaultfindbugsOnlyAnalyzeList[String] ของแพ็คเกจและคลาสNone (ความหมาย: วิเคราะห์ทุกอย่าง)findbugsMaxMemory1024findbugsAnalyzeNestedArchivestrue และ falsetruefindbugsSortReportByClassNamestrue และ falsefalsefindbugsIncludeFiltersNone และ Option[Node]None (ไม่มีตัวกรองรวม)findbugsExcludeFiltersNone และ Some[Node]None (ไม่มีตัวกรองยกเว้น)findbugsAnalyzedPathsbt.Path ใด ๆSeq(classDirectory in Compile value) ขอบคุณ @asflierl และ @anishathalye สำหรับการมีส่วนร่วมของพวกเขา!
ลิขสิทธิ์ (c) Joachim Hofer & ผู้สนับสนุน
สงวนลิขสิทธิ์
โปรแกรมนี้และวัสดุประกอบมีให้ภายใต้ข้อกำหนดของ ใบอนุญาตสาธารณะ Eclipse v1.0 ซึ่งมาพร้อมกับการกระจายนี้และมีอยู่ที่ http://www.eclipse.org/legal/epl-v10.html