2019年7月25日木曜日

CIツールとの連携① - MSBuildその2

続いて応用編です。

ビルドプロジェクトを本格的に使おうとすると、一般的なプログラミングと同様に変数を使って値を複数箇所で参照させたり、パラメータとして実行時に渡したい事が考えられます。

MSBuildではPropartyと呼んでいますが、いわゆる変数が使用できます。

以下、先の記事で使いましたサンプルの改修版です。





  • PropertyGroupタグ
    • Propertyタグを宣言するためのタグです。PropertyGroupタグの中に複数のPropartyタグを定義できます。
  • Propertyタグ
    • Propertyという名前のタグはありません。プロパティ名(=変数名)として使用したい名前をタグとして定義します。Propertyタグで囲まれた値が初期値となります。


プロパティ値の参照はドルマーク+括弧を指定します。
例で使っています「World」プロパティを参照する場合は「$(World)」と記述します。

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <Propertygroup>
    <world>World</world>
  </Propertygroup>

  <Target Name="HelloWorld">
    <Message Text="Hello $(world)!!"/>
  </Target>

  <Target Name="GoodbyWorld">
    <Message Text="Good by $(world)!!"/>
  </Target>

</Project>

※サンプルの記述が間違っていました。プロジェクトファイルの記述では先頭が大文字となります。訂正してお詫びします。


プロパティ値はMSBuild.exeの実行時にパラメータとして指定する事も可能です。
>MSBuild.exe プロジェクトファイル名 /t:ターゲット名 /p:パラメータ名=パラメータ値

>MSBuild.exe   Helloworld.msbuild  /t:HelloWorld   /p:world=GeneXus


サンプルの結果です。
プロジェクトファイルでのProperty値としては「World」と定義していますが
実行時のパラメータとしては「GeneXus」と指定しているため
実行結果は「Hello GeneXus!!」になっています。




0 件のコメント:

コメントを投稿