Windup

こんにちは、平田です。

Windup(わいんどあっぷ)は、JBoss EAP 6 移行支援ツールです。既存のJava EEアプリケーションを分析し、修正箇所のレポートを出力します。

技術デモ用に作ったmeguroというアプリケーションに対して、レポートを出してみました。尚、meguroは、Seam + jBPM5 + Droolsによる稟議システムで、実のところ既にJBoss EAP 6で動作しています。

レポートを出力するには、以下のコマンドを実行します。

> java -Dfile.encoding=utf-8 -jar windup-cli.jar -fetchRemote true -source true -javaPkgs com.natswell.meguro -input C:\path\to\meguro-projects -output C:\path\to\windup-report

プラットフォームデフォルトの文字コードを使ってファイルを読むので、file.encodingシステムプロパティを上書きしています。また、meguroは、JBoss Toolsを使用して作成したため、EAR、WAR、EJB-JAR、ユニットテストのソースツリーがありますが、それら四つを格納した親フォルダを-inputパラメータに指定しています(ちなみにデコンパイラと組み合わせると、EARやWARのようなアーカイブ形式に対しても分析できるようです)。

実行すると、HTML形式のレポートと、修正工数のExcelレポート(スコアカード)が出力されます。

レポート内容

修正工数が「ストーリーポイント」という形で出力されます。レポートの先頭にストーリーポイントの合計とimportしているパッケージが出力されます。

また、各種設定ファイルやJavaソースファイルごとに修正箇所とストーリーポイントが確認できます。

スコアカードは、ストーリーポイントの集計表のようですが、ストーリーポイントの合計を三倍した数字が載っており、謎です。

ルールファイル

Windupは、一般的な静的コード解析と同様に、分析観点をルールファイルとして外部化しています。ルールファイルは、rulesディレクトリ以下に配置されており、よくよく見てみるとSpringのBean定義ファイルでした。

meguroはJBoss EAP 6で動作しますが、山ほど修正箇所が提示されます。これは、java-seam-to-cdi.windup.xmlによるCDIへの移行を促すもののようです。

コメントを残す

メールアドレスが公開されることはありません。