最近のアクセス:
モジュールの MSBuild タスク

モジュールに関連する MSBuild タスクと、その説明を示します。
概要

AddModulesServer タスク

パッケージ化されたモジュールの公開に必要なモジュールサーバーの定義を追加します。

パラメーター

パラメーター タイプ 説明
Type Required string サーバーのタイプを指定します。
値:
  • Directory
  • NexusNuGet
  • Nexus - Maven
Name Required string サーバー識別子を指定します。Name は、スペースや特殊文字を含まない有効な識別子である必要があります。
Source Required string サーバーのソースを指定します。モジュールサーバーの Type に応じて、ディレクトリーパスか、Nexus インストール環境への有効な URL となります。
Preserve bool true の場合、サーバー設定が保存され、後で使用できます。既定値は false です。
OverwriteDefinition bool true の場合、既存の定義が上書きされます。既定値は false です。
User string ユーザー名を示すオプションパラメーターです。 
Password string パスワードを指定するオプションパラメーターです。

この例では、ローカル モジュール サーバーの作成方法を示します。モジュールはファイルシステムに保存します。
msbuild addserver.msbuild /t:AddServer /p:ServerType=Directory /p:Directory=c:\mymodules /p:ServerName=MyServer
addserver.msbuild
<Project DefaultTargets="AddServer" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

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


	<Target Name="AddServer">
		<AddModulesServer Type="$(ServerType)" Name="$(ServerName)" Source="$(Directory)" />
	</Target>
</Project>
			

GetModulesServer タスク

インストールされた GeneXus からアクセスできるモジュールサーバーのリストを取得します。

パラメーター

パラメーター タイプ 説明
Servers Required string 出力パラメーターです。

この例は、インストールされた GeneXus からアクセスできるモジュールサーバーのリストを取得する方法を示しています。
msbuild GetModulesServer.msbuild /t:PrintModulesServers
GetModulesServer.msbuild
<Project DefaultTargets="PrintModulesServers" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="$(gx_program_dir)\Genexus.Tasks.targets" />
  <Target Name= "PrintModulesServers">
    <GetModulesServer>
      <Output TaskParameter="Servers" ItemName="WellKnownModuleServers"/>
    </GetModulesServer>
    <Message Text="MServer definition: Name=%(WellKnownModuleServers.Identity);Type=%(WellKnownModuleServers.Type);Source=%(WellKnownModuleServers.Source))"/>
  </Target>
</Project>

InstallModule タスク

モジュールをローカルキャッシュから作業モデルにインポートします。

パラメーター

パラメーター タイプ 説明
ModuleName Required string インポートするモジュールです。
Version string インポートするモジュールのバージョンです。

この例では、指定の環境に指定のナレッジベースのモジュールをインストールする方法を示します。
msbuild installModule.msbuild /t:Install /p:ModuleName=MyModule /p:KBPath=c:\mykb /p:EnvName=NetEnvironment
installModule.msbuild
<Project DefaultTargets="Install" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

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

	<Target Name="Install">
		<OpenKnowledgeBase Directory="$(KBPath)"/>
		<SetActiveEnvironment EnvironmentName="$(EnvName)" />
		<InstallModule ModuleName="$(ModuleName)" />
	</Target>
</Project>
			

PackageModule タスク

作業モデルのモジュールをローカルキャッシュに公開します。

パラメーター

パラメーター タイプ 説明
ModuleName Required string 公開するモジュールの完全モジュール名です。
Rebuild bool モジュールをリビルドします。
OutputDirectory string モジュールを公開する出力ディレクトリーです。
Environments string [ ] パッケージ化されたモジュールに含める環境名のリストです。環境名を指定しなかった場合、ナレッジベース内のすべての環境が対象となります。

この例では、MyModule というモジュールのパッケージを作成します。
msbuild package.msbuild /t:PackageModule /p:PackageModuleName=MyModule /p:PackageModuleVersion=1.0
package.msbuild の内容は次のとおりです:
<Target Name="PackageModule">
	<Message Text="Packaging Module:$(PackageModuleName)" Importance="high"/>
	<Message Text="Packaging Module Version:$(PackageModuleVersion)" Importance="high"/>
	<SetObjectProperty Object="Module:$(PackageModuleName)" Name="ModuleVersion" Value="$(PackageModuleVersion)"/>
	<PropertyGroup>
		<CSharpEnvName>NetEnvironment</CSharpEnvName>
		<JavaEnvName>JavaEnvironment</JavaEnvName>
		<NetCoreEnvName>NetCoreEnvironment</NetCoreEnvName>
	</PropertyGroup>

	<!-- CSharp -->
	<SetActiveEnvironment EnvironmentName="$(CSharpEnvName)"/>
	<BuildAll ForceRebuild="$(DoForceBuild)" />

	<!-- Java -->
	<SetActiveEnvironment EnvironmentName="$(JavaEnvName)"/>
	<BuildAll ForceRebuild="$(DoForceBuild)" />

	<!-- NetCore -->
	<SetActiveEnvironment EnvironmentName="$(NetCoreEnvName)"/>
	<BuildAll ForceRebuild="$(DoForceBuild)" />

	<ItemGroup>
		<EnvToPackage Include="$(CSharpEnvName)"/>
		<EnvToPackage Include="$(JavaEnvName)"/>
		<EnvToPackage Include="$(NetCoreEnvName)"/>
	</ItemGroup>

	<PackageModule ModuleName="$(PackageModuleName)" Environments="@(EnvToPackage)" OutputDirectory="$(ModulesTMPPath)"/>
</Target>
		

PublishModule タスク

作業モデルのモジュールをローカルキャッシュに公開します。

パラメーター

パラメーター タイプ 説明
ModuleName Required string 公開するモジュールです。
OpcFile string 公開するモジュールパッケージです。
Server Required string パッケージ化されたモジュールをアップロードするサーバーの識別子です。
User string ユーザー名を示すオプションパラメーターです。 
Password string パスワードを指定するオプションパラメーターです。

この例では、MyModule というモジュールのパッケージを公開します:
msbuild publish.msbuild /t:Publish /p:ModuleName=MyModule /p:ServerName=MyServer /p:KBPath=c:\mykb /p:User=userName /p:Password=password
publish.msbuild:
<Project DefaultTargets="Publish" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Import Project="$(MSBuildProjectDirectory)\Genexus.Tasks.targets" />

    <Target Name="Publish">
       <OpenKnowledgeBase Directory="$(KBPath)"/>
       <PublishModule ModuleName="$(ModuleName)" ServerName="$(ServerName)" User="$(userName)" Password="$(password)"/>
    </Target>
</Project>

RestoreModule タスク

ナレッジベースで定義されているモジュールパッケージの実装を復元します。

パラメーター

パラメーター タイプ 説明
ModuleName string 復元するモジュールです。空の場合、復元タスクは、ナレッジベースにインストールされている各モジュールパッケージに適用されます。

msbuild restore.msbuild /t:Restore /p:ModuleName=MyModule /p:KBPath=c:\mykb
restore.msbuild
<Project DefaultTargets="Restore" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
	<Import Project="$(MSBuildProjectDirectory)\Genexus.Tasks.targets" />

	<Target Name="Install">
		<OpenKnowledgeBase Directory="$(KBPath)"/>
		<RestoreModule ModuleName="$(ModuleName)" />
	</Target>
</Project>
			

UpdateModule タスク

既存のモジュールを指定のバージョンまたは最新バージョンに更新します。

パラメーター

パラメーター タイプ 説明
ModuleName Required string 更新するモジュールです。
Version string インポートするモジュールのバージョンです。空の場合、モジュールは最新バージョンに更新されます。

この例では、update.msbuild ファイルを使用して、モジュールを最新バージョンに更新します。
msbuild update.msbuild /t:UpdateToLatest /p:ModuleName=MyModule /p:KBPath:c:\mykb
update.msbuild
<Project DefaultTargets="UpdateToLatest" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
	<Import Project="$(MSBuildProjectDirectory)\Genexus.Tasks.targets" />

	<Target Name="UpdateToLatest">
		<OpenKnowledgeBase Directory="$(KBPath)"/>
		<UpdateModule ModuleName="$(ModuleName)" />
	</Target>
</Project>
: GeneXus のルートフォルダを指す MSBuildProjectDirectory 変数を定義する必要があります。指定しないと、プロジェクトのインポートが失敗する場合があります。


サブページ
Created: 21/05/11 23:28 by Admin Last update: 24/11/05 21:48 by Admin
カテゴリ
Powered by GXwiki 3.0