NAntはもう流行ってないらしい。替わりにMSBuildってのが使えるらしい。
MicrosoftがNAnt(のMS版)をSDKに組み込んだってことですかね。
とりあえず以下のようなことが出来るbuild.xmlを作ってみました。
- 作業ディレクトリを消す
- Subversionからプロジェクトをチェックアウト
- プロジェクトをビルドする
build.xmlはこんなの。
<?xml version="1.0" encoding="shift-jis"?> <Project DefaultTargets="build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Target Name="svn"> <RemoveDir Directories="WindowsApplication1"/> <Exec Command="svn checkout file:///c:/work/svnrepos/WindowsApplication1 WindowsApplication1"/> </Target> <Target Name="build" DependsOnTargets="svn"> <MSBuild Projects="WindowsApplication1/WindowsApplication1.sln" Properties="Configuration=Release"/> </Target> </Project>
実行してみた結果はこんな感じ。
C:\work\Technique\Language\VB.NET\NAnt>msbuild build.xml Microsoft (R) Build Engine Version 3.5.30729.1 [Microsoft .NET Framework, Version 2.0.50727.3053] Copyright (C) Microsoft Corporation 2007. All rights reserved. 2008/12/01 23:32:58 にビルドを開始しました。 ノード 0 上のプロジェクト "C:\work\Technique\Language\VB.NET\NAnt\build.xml" (既 定のターゲット)。 ディレクトリ "WindowsApplication1" は存在しません。省略します。 A WindowsApplication1\WindowsApplication1 A WindowsApplication1\WindowsApplication1\WindowsApplication1.vbproj A WindowsApplication1\WindowsApplication1\bin A WindowsApplication1\WindowsApplication1\bin\Release A WindowsApplication1\WindowsApplication1\bin\Debug A WindowsApplication1\WindowsApplication1\bin\Debug\WindowsApplication1.vs host.exe A WindowsApplication1\WindowsApplication1\bin\Debug\WindowsApplication1.vs host.exe.manifest A WindowsApplication1\WindowsApplication1\Form1.Designer.vb A WindowsApplication1\WindowsApplication1\Form1.vb A WindowsApplication1\WindowsApplication1\obj A WindowsApplication1\WindowsApplication1\obj\Release A WindowsApplication1\WindowsApplication1\obj\Debug A WindowsApplication1\WindowsApplication1\obj\Debug\TempPE A WindowsApplication1\WindowsApplication1\obj\Debug\TempPE\My Project.Reso urces.Designer.vb.dll A WindowsApplication1\WindowsApplication1\My Project A WindowsApplication1\WindowsApplication1\My Project\Resources.Designer.vb A WindowsApplication1\WindowsApplication1\My Project\Settings.settings A WindowsApplication1\WindowsApplication1\My Project\AssemblyInfo.vb A WindowsApplication1\WindowsApplication1\My Project\Settings.Designer.vb A WindowsApplication1\WindowsApplication1\My Project\Application.Designer. vb A WindowsApplication1\WindowsApplication1\My Project\Application.myapp A WindowsApplication1\WindowsApplication1\My Project\Resources.resx A WindowsApplication1\WindowsApplication1\WindowsApplication1.vbproj.user A WindowsApplication1\WindowsApplication1.suo A WindowsApplication1\WindowsApplication1.sln リビジョン 1 をチェックアウトしました。 プロジェクト "C:\work\Technique\Language\VB.NET\NAnt\build.xml" (1) は、ノード 0 上に "C:\wo rk\Technique\Language\VB.NET\NAnt\WindowsApplication1\WindowsApplication1.sln" (2) をビルドしています (既定のターゲット)。 ソリューション構成 "Release|Any CPU" をビルドしています。 プロジェクト "C:\work\Technique\Language\VB.NET\NAnt\WindowsApplication1\Windows Appli cation1.sln" (2) は、ノード 0 上に "C:\work\Technique\Language\VB.NET\NAnt\Windo wsAppl ication1\WindowsApplication1\WindowsApplication1.vbproj" (3) をビルドしています (既定のターゲッ ト)。 Processing 0 EDMX files. Finished processing 0 EDMX files. CoreResGen: リソース ファイル "My Project\Resources.resx" を "obj\Release\WindowsApplicati on1.Reso urces.resources" に処理しています。 CopyFilesToOutputDirectory: "obj\Release\WindowsApplication1.exe" から "bin\Release\WindowsApplication1.ex e " へファイルをコピーしています。 WindowsApplication1 -> C:\work\Technique\Language\VB.NET\NAnt\WindowsApplicat ion1\WindowsApplication1\bin\Release\WindowsApplication1.exe "obj\Release\WindowsApplication1.pdb" から "bin\Release\WindowsApplication1.pd b " へファイルをコピーしています。 "obj\Release\WindowsApplication1.xml" から "bin\Release\WindowsApplication1.xm l " へファイルをコピーしています。 プロジェクト "C:\work\Technique\Language\VB.NET\NAnt\WindowsApplication1\Windows Appli cation1\WindowsApplication1.vbproj" (既定のターゲット) のビルドが完了しました。 プロジェクト "C:\work\Technique\Language\VB.NET\NAnt\WindowsApplication1\Windows Appli cation1.sln" (既定のターゲット) のビルドが完了しました。 プロジェクト "C:\work\Technique\Language\VB.NET\NAnt\build.xml" (既定のターゲッ ト) のビルドが完了しまし た。 ビルドに成功しました。 0 警告 0 エラー 経過時間 00:00:01.71 C:\work\Technique\Language\VB.NET\NAnt>
さくっと動きました。antと違って動きも軽いし、結構良いのでは。
ちなみにMSBuildのリファレンスは、
http://msdn.microsoft.com/ja-jp/library/0k6kkbsd.aspx
にあります。