読者です 読者をやめる 読者になる 読者になる

ほんじゃら堂

めんどくさい仕事をラクにする作業自動化レシピ集

NAntのカスタムタスクで便利コマンドを作れる環境を作る

仕事でC#を使うことになったので、勉強している。


たとえ練習でも、どうせ作るなら役に立つようなプログラムの方がモチベーションがあがるので、
コマンドラインで簡単に実行できるような便利コマンドを作りながら、言語の仕様とか、ライブラリの
使い方を習得していきたい。


NAntという.NET版Antビルドツールを見つけたので、
こいつのカスタムタスクとしてプログラムを作っていくことにした。


以下その環境構築方法。

NAntの導入

NAntはこちらの本家サイトからダウンロードできる
http://nant.sourceforge.net/


今回は現段階で最新版の 0.91alpha2 をダウンロードした。


適当なフォルダに解凍し、nantコマンドをどこでも実行できるように
binフォルダを環境変数PATHに追加する。

カスタムタスク用プロジェクトを作成する

Visual Studio (僕は Microsoft Visual Studio Web Developer 2010 Express を使用)で
C#のクラスライブラリプロジェクトとして、たとえば MyTask といった名前でプロジェクトを
作成する。このプロジェクトに色々なタスクを追加していく感じ。


参照設定にNAntのbinフォルダ内にある「NAnt.core.dll」を追加しておく。


このあたりは、下記のページを参考にした。


NAntに独自のタスクを組み込む
http://d.hatena.ne.jp/snaka72/20100808/1281290646


Writing Custom NAnt Tasks
http://www.atalasoft.com/cs/blogs/jake/archive/2008/05/07/writing-custom-nant-tasks.aspx


上記の日本語のページを参考に、というかそのまま書き写して、
テスト用のカスタムタスククラスを作成し、ビルドファイルを作成する。


ビルドファイルは、仮に tasks.build という名前で作成しよう。
拡張子が .build だったら何でも良いみたい。

ビルドファイルのリンクファイルを配置

作成したら、追加したタスクがすぐに使えるように、
ホームディレクトリ(cmdコマンドを実行したら最初に表示されるフォルダ)に
ビルドファイルのリンクファイルを作成しよう。


Windows XPだったら、下記のページに掲載されてる方法が使える。
http://www.atmarkit.co.jp/fwin2k/win2ktips/982hardlink/hardlink.html


Vista以降だったら、こちらに掲載されてる方法が使える。
http://www.atmarkit.co.jp/fwin2k/win2ktips/988symlink/symlink.html


リンクファイルを作成しておくと、

  1. カスタムタスクを作成し、ビルドファイルに追加
  2. プロジェクトをビルド
  3. コマンドプロンプトを起動してnantコマンドを実行

という流れで追加したタスクを簡単に実行できるようになる。
追加したタスクは下記のコマンドで実行できる。

nant タスク名


これでひとまずタスクを追加できる環境は整った。
後はタスク用クラスを追加して、それを呼び出すtargetタグを
ビルドファイルに追加すればよいだけ。