仕事でC#を使うことになったので、勉強している。
たとえ練習でも、どうせ作るなら役に立つようなプログラムの方がモチベーションがあがるので、
コマンドラインで簡単に実行できるような便利コマンドを作りながら、言語の仕様とか、ライブラリの
使い方を習得していきたい。
NAntという.NET版Antビルドツールを見つけたので、
こいつのカスタムタスクとしてプログラムを作っていくことにした。
以下その環境構築方法。
カスタムタスク用プロジェクトを作成する
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
リンクファイルを作成しておくと、
という流れで追加したタスクを簡単に実行できるようになる。
追加したタスクは下記のコマンドで実行できる。
nant タスク名
これでひとまずタスクを追加できる環境は整った。
後はタスク用クラスを追加して、それを呼び出すtargetタグを
ビルドファイルに追加すればよいだけ。