sbt findbugs
v2.0.0
このSBTプラグインを使用すると、Great FindBugsツールの助けを借りて(Java)コードを分析できます。その目的のためにfindbugs SBTアクションを定義します。
project/plugins.sbtに以下を追加して、プラグインをインストールします。
addSbtPlugin( " com.github.sbt " % " sbt-findbugs " % " <version> " )そして、 sbt findbugsでプラグインを実行します。これによりtarget/scala-xx/findugs/report.xmlでFindBugsレポートが生成されます。
たとえば、設定にはSCALAインラインXMLを使用してください。
findbugsIncludeFilters := Some (< FindBugsFilter >
< Match >
< Class name = " de.johoop.Meep " />
</ Match >
</ FindBugsFilter >)ファイルからフィルター設定をより一般的な方法で読み取ることもできます。
findbugsIncludeFilters := Some (baseDirectory.value / " findbugs-include-filters.xml " )または、構成がZippedで、以前にローカルリポジトリに公開された場合:
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.PathSeq(classDirectory in Compile value) @Asflierlと@Anishathalyeの貢献に感謝します!
著作権(c)ヨアヒム・ホーファー&貢献者
無断転載を禁じます。
このプログラムと付随する資料は、この分布に付随するEclipse Public License v1.0の条件の下で利用可能になり、http://www.eclipse.org/legal/epl-v10.htmlで入手できます。