Este complemento SBT le permite analizar su código (Java) con la ayuda de la herramienta Great FindBugs. Define una acción findbugs SBT para ese propósito.
Instale el complemento agregando lo siguiente a project/plugins.sbt :
addSbtPlugin( " com.github.sbt " % " sbt-findbugs " % " <version> " ) Y luego ejecute el complemento con sbt findbugs . Esto generará un informe FindBugs en target/scala-xx/findugs/report.xml .
Simplemente use el XML en línea de Scala para la configuración, por ejemplo:
findbugsIncludeFilters := Some (< FindBugsFilter >
< Match >
< Class name = " de.johoop.Meep " />
</ Match >
</ FindBugsFilter >)También puede leer la configuración del filtro de los archivos de una manera más convencional:
findbugsIncludeFilters := Some (baseDirectory.value / " findbugs-include-filters.xml " )O, cuando su configuración se contague y se publica previamente en un repositorio local:
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 " )
}(Ver también la documentación de 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] de paquetes y clases.None (Significado: Analizar todo).findbugsMaxMemory1024findbugsAnalyzeNestedArchivestrue y falsetruefindbugsSortReportByClassNamestrue y falsefalsefindbugsIncludeFiltersNone y Option[Node]None (no incluye filtros).findbugsExcludeFiltersNone y Some[Node]None (sin filtros de exclusión).findbugsAnalyzedPathsbt.PathSeq(classDirectory in Compile value) ¡Gracias a @asflierl y @anishathalye por sus contribuciones!
Copyright (c) Joachim Hofer & Colaboradores
Reservados todos los derechos.
Este programa y los materiales adjuntos están disponibles bajo los términos de la Licencia Pública de Eclipse V1.0 que acompaña a esta distribución, y está disponible en http://www.eclipse.org/legal/epl-v10.html