2019年8月1日木曜日

CIツールとの連携② - MSBuildによるビルドその2

GeneXusビルドの応用編です。

先のプロジェクトファイルではナレッジベースの指定は固定でしたが、MSBuildのPropertyを使って汎用的なプロジェクトファイルを定義します。


GX_PROGRAM_DIRは環境変数です。
参照の変数と同じ方法で環境変数値も参照出来ます。
例 : $(GX_PROGRAM_DIR)

PropertyとしてKBNameとKBDirを定義し、パラメータとしてKBNameを指定する事で、1つのプロジェクトファイルで複数のナレッジベースをビルドする事が出来ます。



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

  <Import Project="$(GX_PROGRAM_DIR)\Genexus.Tasks.targets" />

  <PropertyGroup>
    <KBName>GX16U2JP_Demo</KBName>
    <KBDir>C:\usr\Models16\$(KBName)</KBDir>
  </PropertyGroup>

  <Target Name="OpenAndBuildAll">
    <Message Text="OpenKB:$(KBDir)"/>
    <OpenKnowledgeBase Directory="$(KBDir)" />
    <BuildAll />
  </Target>

</Project>



以下、実行結果です。

その① KBNameにGX16U2JP_Demoを指定した場合


>MSBuild.exe GeneXus.msbuild  /t:OpenAndBuildAll /p:KBName=GX16U2JP_Demo


その② KBNameにGxTestSampleを指定した場合


>MSBuild.exe GeneXus.msbuild  /t:OpenAndBuildAll /p:KBName=GxTestSample






0 件のコメント:

コメントを投稿