Hatena::ブログ(Diary)

みずぴー日記 Twitter

2010-09-12(日)

Hudsonでコードの行数を記録する

| Hudsonでコードの行数を記録するを含むブックマーク

f:id:mzp:20100912092731p:image

Hudsonでコードの行数を記録するようにしました。

がりがりコードを書いた日にグラフが伸びてたり、リファクタリングをして行数が減ってたりするのを、グラフで確認すると楽しいんじゃないかと思います。

ちなみに、上の画像では、プログラム全体の行数と、テストコード込みの行数を調べてプロットしてます。

必要なプラグイン

行数カウントスクリプトの用意

Plot Pluginはプロパティファイルに書き出した値をプロットしてくれるプラグインなので、プログラムの行数を書きだすシェルクスクリプトを用意します。

ボクはこんな感じにしました。wcだとファイル名がついてきてうざいので、awkでカウントしてます。

#!/bin/sh
ALL=$(awk '{ i += 1 } END{printf "%d\n",i}' core/*.ml)
CODE=$(ls -1 core/*.ml | grep -v Test.ml | xargs awk '{ i += 1 } END{printf "%d\n",i}')

echo "YVALUE=$ALL" >> $WORKSPACE/all_loc.properties
echo "YVALUE=$CODE" >> $WORKSPACE/code_loc.properties

PlotPluginの設定

あとやることは、

の2つだけです。

言葉で説明するよりもスクリーンショットのほうがわかりやすい気がするので、貼っておきます。

f:id:mzp:20100912093546p:image

f:id:mzp:20100912093547p:image

参考

さっき調べてたら似たことをやってる人が結構いました。

t_antoniot_antonio 2010/09/13 12:41 はじめまして。
せっかくawkするなら、組込変数のNRは使えませんか?
awk 'END{print NR}' とか。(はずしていたらごめんなさい)

mzpmzp 2010/09/15 07:18 そうだ、NRだっ!
ありがとうございます。なにか組込変数があった気はしてたんですけど、思い出せなかったんです。

トラックバック - http://d.hatena.ne.jp/mzp/20100912/loc