ステップカウンタ 2.0.0をリリースしました

ステップカウンタ 2.0.0をリリースしました。

前回の1.17でもいくつかの機能追加を行いましたが、今回は差分カウント機能をマージするというかなり大きな機能追加を行ったため、ステップカウンタとしてはリリース以来初のメジャーバージョンアップとしました。

差分カウント機能

2.0.0の最大の特徴はソースツリーの差分をカウントすることができるという点です。ソフトウェアの改修時に、修正後のソースツリーと修正前のソースツリーを指定して差分カウントを行うことで、修正したステップ数を測定することができます。
ディレクトリを選択して右クリック > [ステップカウンタ] > [差分をカウント] で差分をカウントできます。比較元のディレクトリを選択するためのディレクトリが開くので任意のディレクトリを選択してください(一度実行すると二回目からは前回比較したディレクトリが選択済みの状態でダイアログが開きます)。カウント結果は以下のように表示されます。

このビューからは通常のカウント結果ビューと同じく、右クリックメニューからTSVでコピーしたり、Excelファイルとして保存することができます。また、ソースコードにdiary:20100829#p1で説明しているようなタグを書いておくと特定のファイルをカウント対象から除外したり、カテゴリ単位に集計することができます。

Ant、コマンドラインからの実行

これまでのステップカウンタと同様、差分カウンタをAntやコマンドラインから実行することもできます。
Antの場合はこんな感じです。

<taskdef name ="diffcounter"
  classname ="tk.stepcounter.ant.DiffCounterTask"
  classpath ="stepcounter.jar;
    lib/fisshplate-0.1.4.jar;
    lib/poi-3.2-FINAL.jar;
    lib/commons-logging-1.1.jar;
    lib/log4j-1.2.12.jar;
    lib/ognl-2.6.9-patch-20090427.jar;
    lib/org.apache.commons.jrcs.diff.jar"/>

<target name="count">
  <diffcounter format="csv" output="diff.txt" encoding="UTF-8" 
     srcdir="current/src" olddir="old/src"/>
</target>

コマンドラインの場合はこんな感じ。

> java -cp stepcounter.jar tk.stepcounter.diffcount.Main
  [新版のディレクトリ名] [旧版のディレクトリ名] (実際には1行で記述)

コマンドラインから実行する場合、-outputオプションで出力先ファイル(省略した場合は標準出力に出力)、-formatオプションで出力フォーマット(html、excel、textのいずれか、デフォルトはtext)、-encodingオプションソースコード文字コードを指定することができます。
ちなみに使う人がいるかどうかわかりませんが、Swingアプリケーション版の差分カウンタは以下のようにして起動できます。

> java -cp stepcounter.jar;lib/org.apache.commons.jrcs.diff.jar
  tk.stepcounter.diffcount.renderer.gui.DiffCountFrame(実際には1行で記述

その他の機能追加

その他の細々とした機能追加や修正点は以下のとおりです。

  • ClojureScalaに対応しました。
  • Eclipseのカウント結果ビューで昇順・降順の両方でソートできるようにしました。
  • プロジェクトを選択してカウントできるようにしました。
  • Antタスクやコマンドライン実行時のパラメータチェックをきちんと行うようにしました。