Ce plug-in SBT vous permet d'analyser votre code (Java) à l'aide de l'outil Great Findbugs. Il définit une action SBT findbugs à cette fin.
Installez le plugin en ajoutant ce qui suit à project/plugins.sbt :
addSbtPlugin( " com.github.sbt " % " sbt-findbugs " % " <version> " ) Puis exécutez le plugin avec sbt findbugs . Cela générera un rapport FindBugs dans target/scala-xx/findugs/report.xml .
Utilisez simplement Scala Inline XML pour le paramètre, par exemple:
findbugsIncludeFilters := Some (< FindBugsFilter >
< Match >
< Class name = " de.johoop.Meep " />
</ Match >
</ FindBugsFilter >)Vous pouvez également lire les paramètres du filtre à partir des fichiers de manière plus conventionnelle:
findbugsIncludeFilters := Some (baseDirectory.value / " findbugs-include-filters.xml " )Ou, lorsque votre configuration est zippée et publiée précédemment dans un dépôt 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 " )
}(Voir aussi la documentation 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 packages et de classes.None (Signification: analysez tout).findbugsMaxMemory1024findbugsAnalyzeNestedArchivestrue et falsetruefindbugsSortReportByClassNamestrue et falsefalsefindbugsIncludeFiltersNone et Option[Node]None (non inclure les filtres).findbugsExcludeFiltersNone et Some[Node]None (pas d'exclusion des filtres).findbugsAnalyzedPathsbt.PathSeq(classDirectory in Compile value) Merci à @asflierl et @anishathalye pour leurs contributions!
Copyright (c) Joachim Hofer et contributeurs
Tous droits réservés.
Ce programme et les documents qui l'accompagnent sont mis à disposition en vertu des termes de la licence publique Eclipse v1.0 qui accompagne cette distribution, et est disponible sur http://www.eclipse.org/legal/epl-v10.html