Plug-in SBT ini memungkinkan Anda untuk menganalisis kode (Java) Anda dengan bantuan alat FindBugs yang hebat. Ini mendefinisikan tindakan SBT findbugs untuk tujuan itu.
Instal plugin dengan menambahkan yang berikut ini ke project/plugins.sbt :
addSbtPlugin( " com.github.sbt " % " sbt-findbugs " % " <version> " ) Dan kemudian jalankan plugin dengan sbt findbugs . Ini akan menghasilkan laporan FindBugs di target/scala-xx/findugs/report.xml .
Cukup gunakan Scala Inline XML untuk pengaturan, misalnya:
findbugsIncludeFilters := Some (< FindBugsFilter >
< Match >
< Class name = " de.johoop.Meep " />
</ Match >
</ FindBugsFilter >)Anda juga dapat membaca pengaturan filter dari file dengan cara yang lebih konvensional:
findbugsIncludeFilters := Some (baseDirectory.value / " findbugs-include-filters.xml " )Atau, ketika konfigurasi Anda di -zip dan sebelumnya diterbitkan ke repo lokal:
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 " )
}(Lihat juga dokumentasi 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] paket dan kelas.None (artinya: menganalisis semuanya).findbugsMaxMemory1024findbugsAnalyzeNestedArchivestrue dan falsetruefindbugsSortReportByClassNamestrue dan falsefalsefindbugsIncludeFiltersNone dan Option[Node]None (tidak ada filter termasuk).findbugsExcludeFiltersNone dan Some[Node]None (tidak ada filter mengecualikan).findbugsAnalyzedPathsbt.Path apa punSeq(classDirectory in Compile value) Terima kasih kepada @Asflierl dan @anishathalye atas kontribusi mereka!
Hak Cipta (C) Joachim Hofer & Kontributor
Semua hak dilindungi undang -undang.
Program ini dan materi yang menyertainya tersedia berdasarkan ketentuan Lisensi Publik Eclipse v1.0 yang menyertai distribusi ini, dan tersedia di http://www.eclipse.org/legal/epl-v10.html