FindBugsをPlayFramework2Javaプロジェクトのビルドプロセスに統合したいと思います。
これは可能ですか?もしそうなら、それを機能させるために必要な構成手順は何ですか?
findbugs4sbtを使用できると思いますが、設定方法がわかりません。
FindBugsをPlayFramework2Javaプロジェクトのビルドプロセスに統合したいと思います。
これは可能ですか?もしそうなら、それを機能させるために必要な構成手順は何ですか?
findbugs4sbtを使用できると思いますが、設定方法がわかりません。
私は昨日これを行い、Findbugs を Play Framework 2 プロジェクトに統合する (Java)に文書化しました。
関連する手順は次のとおりです。
bitbucket から sbt 0.11 用の findbugs4sbt jar のカスタム ビルドをダウンロードして、project/lib
更新:project/plugins.sbt
経由でプラグインを追加します
addSbtPlugin("de.johoop" % "findbugs4sbt" % "1.1.7")
で findbugs4sbt を構成しますproject/Build.scala
。
import de.johoop.findbugs4sbt.FindBugs._
object ApplicationBuild extends Build {
...
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA,
settings = Defaults.defaultSettings ++ findbugsSettings)
}
その後、すでに実行できますがsbt findbugs
、これを生成しtarget/scala-2.9.1/findbugs/findbugs.xml
ます。
findbugs は play によってコンパイルされたいくつかのクラスもルートとビューから分析する (そして命名規則に関するいくつかの問題を報告する) ので、おそらくそれらを無視したいでしょう (いずれにせよそれらを改善することはできないため)。これを行うには、次の findbugs4sbt 設定 ( 内project/Build.scala
)を使用して、それらを findbugs から除外します。
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA,
settings = Defaults.defaultSettings ++ findbugsSettings).settings(
findbugsExcludeFilters := Some(
<FindBugsFilter>
<!-- See docs/examples at http://findbugs.sourceforge.net/manual/filter.html -->
<Match>
<Class name="~views\.html\..*"/>
</Match>
<Match>
<Class name="~Routes.*"/>
</Match>
<Match>
<Class name="~controllers\.routes.*"/>
</Match>
</FindBugsFilter>
)
)