Kengo's blog

Technical articles about original projects, JVM, Static Analysis and TypeScript.

FindBugsの後継としてのSpotBugsの紹介

このエントリは「Announcing SpotBugs as FindBugs successor」の意訳です。一部、明らかなURLの誤りを修正し、可読性のため強調を施しています。


皆さんこんにちは、

このメールはこのメーリングリストにおける私の最後の投稿であり、また昨年のこちらの投稿の続きです。
https://mailman.cs.umd.edu/pipermail/findbugs-discuss/2016-November/004321.html

TL;DR: FindBugsプロジェクトはプロジェクトリードが管理者権限を移管しないままプロジェクトを離れ、また1年以上応答がなくなったため停止しました。SpotBugsプロジェクトがその後継であり、バージョン3.1.0 RC5を既にリリースしています。ASM6の安定バージョンがリリースされしだい、SpotBugsの3.1.0 RC6そして3.1.0安定バージョンがリリースされる予定です*1

私が前述のメールを書いてから数名の有志がプロジェクトに参加して、私たちがプロジェクトが生き残るチャンスをものにできるよう助けてくれました。FindBugsという名称は商標であることから他の名称を使う必要が生じたため、新しいプロジェクトはSpotBugsと名付けられました。コードも新しいリポジトリに移され、ホームページ,メーリングリスト,バグトラッカーなどもGitHub上に用意されました。

私たちはASM 6のリリースを待ってSpotBugsの3.1.0 RC6と3.1.0 finalバージョンをリリースします、これは今月中に実現する見込みです。

SpotBugs 3.1.0 RC6がリリースされたら(このバージョンは最後のRC版になるでしょう)、私たちはコマンドライン,Antタスク,Mavenプラグイン,GradleプラグインEclipseプラグインそして新しいマニュアルを提供します。

FindBugs 3.0.1からの変更点はこちらに一覧化されています:
https://github.com/spotbugs/spotbugs/releases

注目すべき変更点は以下のとおりです(私が何かを忘れていたらすみません):

  • リリースされたばかりのJava 9で動作します
  • 実行にはJava 8かそれより新しいJavaが必要です
  • EclipseプラグインMavenプラグインそしてGradleプラグインのIDが変わりました*2
  • BCEL 6.1とASM 6を使用しています
  • GradleプラグインはGradle 4かそれより新しいバージョンで動作します
  • EclipseプラグインEclipse 4.6*3かそれより新しいバージョンで動作します
  • プロジェクトのビルドにはGradleを使っています
  • 新しいマニュアルはreadthedocsでホストされています
  • 新しいプラグイン開発者向けテスト機構を備えています
  • Travis CIを使ったプルリクエストの検証を行います
  • その他コミュニティによる多数のバグ修正と貢献が含まれます

我々はすべてのFindBugsユーザが大きな問題なくSpotBugsを使えるよう望んでいます。マニュアルのマイグレーションガイドを見てください。我々はまた皆さんがテストやバグ報告や貢献を通じてSpotBugsプロジェクトを支援してくれることを期待しています。実際のところ、コミュニティの助けがなければ開発を続けることはできません。

もちろん上述のメーリングリストやイシュートラッカーの購読も忘れないでください。

*4はまたSpotBugsを助けてくれたすべての人々に感謝の言葉を伝えたいです。GitHubの貢献者一覧を見てください。

特にJuan Martín Sotuyo DoderoとKengo TODA*5。彼ら二人がいなければ今日のSpotBugsプロジェクトは存在しなかったでしょう。二人ともありがとう!

これがこのメーリングリストでの最後の言葉です:私はこのようなことが起こるとは想像していなかったし、このようなことを言うことは非常に悲しいのですが……さようならFindBugs!あなたは10年間に渡り、何百万人もの開発者を助けてくれました。Bill、David、こんなに素晴らしいツールをありがとう。こんなアナウンスをしてしまって申し訳ないけど、ショーは続かなければならないんだ。

はじめまして、SpotBugs!

*1:訳注:3.1.0 RC6は既にリリースされています

*2:訳注:原文には記載がないがGradleプラグインもIDが変わっている

*3:訳注:Eclipse Neonのこと

*4:訳注:投稿者Andrey Loskutov氏のこと

*5:訳注:訳者のこと