sbt-statsプラグイン使用メモ
ソースコードの行数、コードとコメントの比率などの統計情報を表示するプラグイン。
sbt-statsプラグインの読み込み
plugins.sbt に以下の設定を記述する。他に設定は必要なし。
addSbtPlugin("com.orrsella" % "sbt-stats" % "1.0.2")
sbt-statsプラグインの実行
stats タスクを実行すると、以下の通り結果が表示される。
マルチプロジェクト設定の場合、全プロジェクトに対して処理される。
> stats [info] [info] Code Statistics for project: [info] [info] Files [info] - Total: 3 files [info] - Scala: 2 files (66.7%) [info] - Java: 1 files (33.3%) [info] - Total size: 1,246 Bytes [info] - Avg size: 796 Bytes [info] - Avg length: 38 lines [info] [info] Lines [info] - Total: 63 lines [info] - Code: 46 lines (73.0%) [info] - Comment: 5 lines (7.9%) [info] - Blank: 12 lines (19.0%) [info] - Bracket: 10 lines (15.9%) [info] [info] Characters [info] - Total: 1,038 chars [info] - Code: 989 chars (95.3%) [info] - Comment: 49 chars (4.7%) [info]
マルチプロジェクトで個別のプロジェクトの統計情報を表示したい場合は、以下の通り、プロジェクトを切り替えて stats-project タスクを実行する。
> project app-main > stats-project [info] [info] Code Statistics for project 'app-main': [info] [info] Files [info] - Total: 1 files [info] - Scala: 1 files (100.0%) [info] - Java: 0 files (0.0%) [info] - Total size: 346 Bytes [info] - Avg size: 346 Bytes [info] - Avg length: 13 lines [info] [info] Lines [info] - Total: 13 lines [info] - Code: 11 lines (84.6%) [info] - Comment: 0 lines (0.0%) [info] - Blank: 2 lines (15.4%) [info] - Bracket: 2 lines (15.4%) [info] [info] Characters [info] - Total: 279 chars [info] - Code: 279 chars (100.0%) [info] - Comment: 0 chars (0.0%) [info]
注意事項
sbt-statsプラグインは、処理対象のファイル(ソースコード)のエンコーディングをデフォルトエンコーディングで処理するため、Windows環境で実行すると日本語を含むファイルの読み込み時UnmappableCharacterException例外が発生する。
エンコーディングを指定するオプションなどは無いようなので、javaのシステムプロパティでエンコーディングを指定することにした。
sbt "-Dfile.encoding=UTF-8"
最新版のコンパイル
git clone https://github.com/orrsella/sbt-stats.git cd sbt-stats sbt set sbtVersion := "0.12.4" set sbtBinaryVersion := "0.12" set scalaVersion := "2.9.2" publish-local