TFSでのJavaビルド環境作成:AntのTarget指定方法

前回、Ant用Build.xmlが実行できたのにメッセージが出力されなかったのは、Ant実行時のTarget名を指定していなかったためです。
Antでは(Antじゃなくてもそうだと思いますが)、一連のまとまった処理をTargetとして定義し、実行時にTarget名を指定することでいろいろ動作を切り替えます。
今回作成したBuild.xmlは、
Buildjava06_2
という内容で作成しました。<project default="">と指定しているので、実行時にTarget名を指定しないと何も実行されません。

しかし、AntのTarget名を指定するところはどこにもありませんでした。
VisualStudio IDEからビルド定義を開いても、AntのTarget名を指定する項目はありません。
Buildjava22

多少力技かと思いますが、MSBuildプロジェクトファイルを修正して、MSBuildの引数でAntのTarget名を指定できるようにします。
ここからはVisualStudio IDEでの作業になります。
まずは、TFSプロジェクトのフォルダとローカルフォルダのマッピングをしておきます。
チームエクスプローラーから「ソース管理」をダブルクリックし、ソース管理エクスプローラーを開きます。
Buildjava23

ローカルパスのところに「マップされていません」とあるので、クリックします。
Buildjava24

マッピングするフォルダを指定し、「マップ」を押すとソース管理エクスプローラーに戻ります。
MSBuild用のプロジェクトファイルは「TeamBuildTypes」-「[ビルド定義名(ここではJavaBuild)]」-「TFSBuild.proj」になります。
まずは編集のために、最新ファイルを取得します。
「TFSBuild.proj」を右クリックし、「最新バージョンの取得」を選択します。
Buildjava28

取得が終わったら、ダブルクリックしてファイルを開きます。
ファイルの最後のほうにAnt関連のパラメータを指定する記述があります。(AntBuildFile要素)

Buildjava29

Target要素に指定した名称がAnt実行時のTarget名として使われますが、何も指定はありません。ここに、MSBuildの引数を当てはめることにします。
Target要素の内容として「$(AntTarget)」を追加し、保存→チェックインします。
Buildjava30

Buildjava31

次に、TFSのビルド定義を変更します。
チームエクスプローラーから「JavaBuild」を右クリックし、「ビルド定義の編集」を選択します。
Buildjava32

「詳細」の中にある「MSBuild引数」のところに「Property:AntTarget=test」を追加し、保存します。
Buildjava33

Eclipseから再度ビルドを実行し、結果を確認します。
Buildjava34

ちゃんとAntの"test"Targetが実行され、メッセージが表示されました。

次は、Antのjavacタスクで指定するソースファイル/クラスファイルの場所指定についてです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください