付録:本稿で使用したタスク・ファンクションリファレンス
mkdirタスク
mkdirタスクは、ディレクトリを作成します。作成するディレクトリの親ディレクトリが存在しない場合は、その親ディレクトリも作成します。
mkdirタスクの属性
| 属性名 | 型 | 説明 | 必須 |
| dir | directory | 作成するディレクトリ名 | ○ |
deleteタスク
deleteタスクはファイル、ネスト要素<filesest>~</filesest>で指定されたファイル群、またはディレクトリを削除します。
file属性もしくはdir属性が設定されると、ネスト要素<filesest>~</filesest>は無効になります。指定されたファイルかディレクトリが存在していなくても、特に警告は出力されません。
注
読み取り属性の設定されたファイルやディレクトリは削除できません。 <attrib>タスクを使用して、読み取り属性を取り除く必要があります。
deleteタスクの属性
| 属性名 | 型 | 説明 | 必須 |
| file | file | 削除するファイル名 | ○ |
| dir | directory | 削除するディレクトリ名 | × |
| includeemptydirs | bool | <fileset>にあるディレクトリについて、空のディレクトリも含めすべて削除するかどうかを指定。デフォルト値はtrue | × |
ネスト要素<filesest>~</filesest>について
<filesest>~</filesest>タグ内で指定されたすべてのファイルが削除されます。
ネスト要素filesestの使用例
<delete>
<fileset>
<include name="C:\Folder\AAA.exe" />
<include name="C:\Folder\BBB.pdb" />
</fileset>
</delete>
execタスク
execタスクは、任意のアプリケーションをNAnt内で実行するタスクです。
execタスクの属性
| 属性名 | 型 | 説明 | 必須 |
| program | string | 実行したいアプリケーションやコマンドを指定。ただし、起動時の引数はこの属性に含めないこと | ○ |
| append | bool | 出力されるファイルが既に存在する場合、追記するように指定。デフォルト値はfalse | × |
| basedir | directory | アプリケーションの実行ファイルがあるディレクトリ | × |
| commandline | string | コマンドライン引数 | × |
| output | file | 標準出力のリダイレクト先となるファイル名 | × |
| resultproperty | string | 実行したアプリケーションやコマンドのリターンコードを格納するプロパティ名を指定。この動作を有効にするためには、failonerror属性の値が「false」でなくてはならない | × |
| workingdir | directory | コマンドを実行するディレクトリ | × |
| timeout | int | 実行中のアプリケーションがタイムアウトするまでの時間(単位:ミリ秒)を指定。デフォルトはタイムアウトなし | × |
ネスト要素environmentの使用例
<exec program="C:\Folder\ss.exe" >
<environment>
<variable name="ssdir" value="C:\SSDIR"/>
</environment>
</exec>
ネスト要素<arg>~</arg>について
コマンドライン引数を設定します。
ネスト要素argの属性
| 属性名 | 型 | 説明 | 必須 |
| dir | directory | コマンドライン引数のディレクトリを指定(dir属性の値は、自動的に絶対パスに置換) | × |
| file | file | ファイルのパスを指定(file属性の値は、自動的に絶対パスに置換) | × |
| path | <path>~</path>要素 | 単一のパスを指定(パスの区切り文字などの実行環境に依存する文字は、自動的に置換) | × |
| line | string | コマンドライン引数の空白で区切られたリストを指定 | × |
| value | string | 単一のコマンドライン引数を指定(空白も指定可) | × |
ネスト要素argの使用例
<exec program="ping">
<arg value="nant.abcdef.net" />
</exec>
foreachタスク
foreachタスクは、あるデータ群を対象に、繰り返し処理を行います。
ディレクトリ内のファイル、ファイル内の行などの単位で繰り返しが可能です。最後の要素まで到達すると、繰り返し処理から復帰します。
foreachタスクの属性
| 属性名 | 型 | 説明 | 必須 |
| item | LoopItem | 繰り返しアイテム。File、Folder、Line、Stringの4つが指定可能 | ○ |
| property | string | 繰り返しアイテムに使用されるNAntプロパティ名 | ○ |
| delim | string | 区切りに使用される文字 | × |
| in | string | 繰り返しの対象となるデータ群 | × |
| trim | LoopTrim | 余分な空白に対するトリミングの種類。設定可能な値は、表:trim属性で指定できる値(LoopTrim型)を参照。デフォルト値はNone | × |
trim属性で指定できる値(LoopTrim型)
| 値 | 説明 |
| Both | 繰り返しアイテムの前後にある空白を削除 |
| Start | 繰り返しアイテムの文字列の前にある空白を削除 |
| End | 繰り返しアイテムの文字列の後にある空白を削除 |
| None | どの空白も削除しない |
loadfileタスク
loadfileタスクは、指定されたテキストファイルの内容を読み込んで、プロパティに格納します。
loadfileタスクの属性
| 属性名 | 型 | 説明 | 必須 |
| file | file | 読み込みするファイル名 | ○ |
| property | string | 読みこんだ内容を格納するプロパティ名 | ○ |
| encoding | Encoding | 読み込むファイルのエンコーディングを指定。エンコーディングが指定されていない場合は、デフォルト値として現在のロケールが設定される | × |
vsscheckoutタスク(NAntContrib)
vsscheckoutタスクは、VSS DBに存在するファイルに対して、チェックアウトを実行します。
vsscheckoutタスクの属性
| 属性名 | 型 | 説明 | 必須 |
| localpath | directory | チェックアウトするファイルのローカルのパス | ○ |
| filetimestamp | FileTimestamp | ローカルファイルのタイムスタンプ設定の種類。表:filetimestamp属性で設定できる値を参照。デフォルト値はCurrent | × |
filetimestamp属性で設定できる値(FileTimestamp型)
| 値 | 説明 |
| Current | ローカルファイルのタイムスタンプに、現在の時刻を設定 |
| Modified | ローカルファイルのタイムスタンプに、ファイル変更時の時刻を設定 |
| Updated | ローカルファイルのタイムスタンプに、チェックイン時の時刻を設定 |
vsscheckinタスク(NAntContrib)
vsscheckinタスクは、VSS DBに存在するファイルに対して、チェックインを実行します。
vsscheckinタスクの属性
| 属性名 | 型 | 説明 | 必須 |
| localpath | directory | チェックインするファイルのローカルのパス | ○ |
| comment | string | チェックインしたバージョンに対するコメントを指定 | × |
共通属性
vsscheckoutタスク/vsscheckinタスクに共通の属性
各タスクに共通の属性
| 属性名 | 型 | 説明 | 必須 |
| recursive | bool | 指定したプロジェクト以下を再帰的にチェックアウト/チェックイン取消しするかどうか。デフォルト値はtrue | × |
| writable | bool | チェックアウト/チェックイン後のローカルコピーのファイルを書きこみ可能にするかどうか。 デフォルト値はtrue | × |
| dbpath | file | 「srcsafe.ini」の存在するディレクトリのパス | ○ |
| path | string | チェックアウトするプロジェクトおよびファイルのパス | ○ |
| username | string | VSS DBにログインするためのユーザー名。ユーザー名を指定せず、VSSアドミニストレータの「ネットワーク ログオンユーザー名を基に自動的にユーザーをログオン」設定にチェックが入っている場合は、VSSDBにログイン時に、現在のWindowsユーザー名を適用 | × |
| password | string | VSS DBにログインするためのパスワード | × |
| version | string | 指定したバージョン、指定した日付、または指定したラベルが付いているプロジェクトやファイルをチェックアウト/チェックインするように指定。省略された場合は、最新のバージョンを適用 | × |
全タスクに共通の属性
全タスクに共通の属性
| 属性名 | 型 | 説明 | 必須 |
| failonerror | bool | タスク実行中にエラーが発生した場合、ビルドプロセスを中止させるかどうか。デフォルト値はtrue | × |
| if | bool | 値がtrueならば、タスクは実行される。falseならば、タスクはスキップされる。デフォルト値はtrue | × |
| unless | bool | if属性の逆。値がfalseならば、タスクは実行される.trueならば、タスクはスキップされる。デフォルト値はfalse | × |
| verbose | bool | 詳細なログを出力するかどうかを設定。デフォルト値はfalse | × |
ファンクション
ファンクションの解説は、NAnt公式ページのFunction Referenceを参照願います。
本稿で利用したファンクション一覧
| ファンクション名 | 説明 |
| file::exists ファンクション | 特定のファイルが存在するかどうかを調査 |
| string::contains ファンクション | 指定した文字列中に、特定の文字列が存在するどうかを調査 |
| string::index-of ファンクション | 検索対象とする文字列中で、特定の文字列が最初に出現する位置のインデックスを返却 |
| string::starts-with ファンクション | 対象とする文字列が指定した文字列で始まるかどうかを調査 |
| string::replace ファンクション | 文字列を置換 |
| string::last-index-of ファンクション | 検索対象とする文字列中で、特定の文字列が最後に出現する位置のインデックスを返却 |
| int::parse ファンクション | 指定の文字列を、符号付き32ビット整数に変換 |
参考資料