「ALM Advent Calender」22日目への参加記事になります。
以前に
・「1つのTFSプロジェクトで、.NETとJavaの共存は可能か?」
で、1つのチームプロジェクトでJavaと.NETプロジェクトのそれぞれに対してゲートチェックインを設定した場合の動作について記載しましたが、TFS2012 with Update1で改めて確認してみました。
今回、少しだけパワーアップして、
・Native C++プロジェクト
・C#プロジェクト
・Javaプロジェクト
の3つを1つのチームプロジェクトとして登録し、それぞれのプロジェクト用にゲートチェックイン用のビルド定義を作成しました。
最初はC#プロジェクトでチェックインを実行します。
なぜか、ビルド定義の選択肢に「CI-Build-CPlus」がありません。
「CI-Build-CSharp」を選択して実行すると、正常にビルドが実行されました。
次にNative C++プロジェクトでチェックインを実行します。
今度はビルド定義の選択肢に「CI-Build-CSharp」がありません。
「CI-Build-CPlus」を選択して実行すると、こちらも正常にビルドできました。
???、対象のビルド定義が「CI-Build-Java」のみです。
このまま実行すると、正常にビルドできました。
ということで、結論は「複数言語を使用した場合のゲートチェックインでも問題ない」ですが、ビルド定義の選択条件についてはよくわかりません。
→修正した(シェルブ対象となった)ファイルが格納されているフォルダと、その上位(親とか)のフォルダをビルド対象とするビルド定義が選択肢に上がっているような気がしますが、確認できる情報が見つかってません。