プロジェクトテンプレートの作成方法
この機能を使用すると、クライアントのニーズを満たす新しいプロジェクトに合わせる 「OpenLegacy の新しいプロジェクトウィザード」テンプレートをカスタマイズできます。
手順
カスタムプロジェクトテンプレートの作成
IDE を開きます。
[ファイル → 新規作成 → OpenLegacy プロジェクトテンプレート] の順に選択します。
OpenLegacy プロジェクトのテンプレートウィザードが開きます。
カスタマイズに使用できるプロジェクトテンプレートは複数あります。
必要な [プロジェクトテンプレートタイプ] を選択します。選択したテンプレートタイプが特定の SDK プロジェクト(RPC/画面)関連の場合は、追加のバックエンドを選択できます。
カスタマイズするテンプレートを選択します(テンプレート選択セクションには、プロジェクトタイプとバックエンド選択に従ったテンプレートが含まれます)。
プロジェクトテンプレート名を設定し、[終了] をクリックします。
カスタムプロジェクトを作成する際に使用する外部ファイルをテンプレートに追加できます。下の詳細を参照します。
IDE に作成した新しいテンプレートプロジェクトが表示されます。
テンプレートプロジェクトに追加される自動生成 template-set.yml には、プロジェクトのバックエンドとフロントエンドタイプが含まれます。
プロジェクト作成除外および コンポーネント作成除外セクションで定義されたテンプレートは、プロジェクトまたはコンポーネント作成中は除外されます。
テンプレート除外とは、テンプレート test-spring.factories.ftl がプロジェクト作成除外で定義されている場合は、特定のテンプレートからプロジェクト生成段階に自動生成される Java ファイルは生成されないことを意味します。
テンプレート RpcEntityTest.java.ftl が コンポーネント作成除外で定義されている場合は、指定したテンプレートからエンティティ生成段階に自動生成される Java ファイルは生成されないことを意味します。
除外セクションを追加するには、パスに関連するテンプレートファイルを追加します。例:
backend: AS400_RPC
frontend: JAVA
project-creation-exclude:
- spring-boot/test-spring.factories.ftl
component-creation-exclude:
- RpcEntityTest.java.ftl
テンプレートがあるフォルダの名前は、OpenLegacy プロジェクトのテンプレートウイザードで表示されるテンプレート構造から取得できます。
注意: 必要に応じて、除外するテンプレートはいくつでも定義できます。
テンプレートは必要に応じてカスタマイズできます。
外部ファイルの追加
外部ファイルはプロジェクトテンプレートに追加してカスタム OpenLegacy プロジェクトで使用できます。
template-set.yml ファイルの以下のプロパティを編集し、ファイルを追加します。
add-files - List<AddFileConfig> => 追加する新しいファイルを表わします。この新しいファイルを管理する関連構成を含む AddFileConfig モデル。
from - 実際のファイル(例、Random.java、application-random.yml)またはテンプレートの設定場所に関連する Freemarker テンプレート(ftl)のいずれかにできます。
to - プロジェクトパス(例、 src/main/java/com/openlegacy/pkg または src/main/java/com/openlegacy/pkg/SpecificClass.java)関連のフォルダ/ファイルの場所。特定のファイルの場合は、変更でファイル名を置き換えます。
ファイルが Freemarker テンプレート(サフィックス .ftl)の場合、to プロパティはフォルダにできません。以下のモデルは、提供されたテンプレートからの生成をサポートしています。
TemplateSetSdkAddFileModel
projectName - 文字列
orchestratedKey - 文字列
basePackage - 文字列
backend - org.openlegacy.core.designtime.BackendSolution (enum)
TemplateSetApiAddFileModel
projectName - 文字列
basePackage - 文字列
frontendSolution - org.openlegacy.core.designtime.FrontendSolution (enum)
contractProject - ブール
microserviceProject - ブール
Set Descriptor(形式)
project:
add-files:
-
from: add-files/NewFile.java:
to: src/main/java/com/example/models
-
from: add-files/application-new.yml
to: src/main/resources
-
from: add-files/NewFile2.java
to: src/main/java/com/example/models/NewName.java
-
from: add-files/random.java.ftl
to: src/main/java/com/example/models/NewName.java
...
カスタムプロジェクトテンプレートの使用
[ファイル → 新規作成 → OpenLegacy SDK プロジェクト] で OpenLegacy SDK プロジェクトを生成します。
OpenLegacy SDK プロジェクトウィザードが開きます。
プロジェクト名を設定し、[カスタムプロジェクトテンプレートを使用] チェックボックスにチェックを入れます。
この段階で、以下の 2 つのオプションがあります。
[ワークスペースから選択] では、前に作成したテンプレートセットを使用できます。
[テンプレート ZIP を選択] では、他の誰かから取得できるアーカイブ済みテンプレートセットを使用できます。本ドキュメントの下部にあるカスタムテンプレートのアーカイブ方法ガイドを参照してください。
バックエンドコンボボックスは無効になり、テンプレート作成中に定義されたバックエンドが表示されます(template-set.yml ファイルで backend 構成パラメータとして保存)。
SDK プロジェクト作成を完了します。
プロジェクトは前に行ったカスタマイズに従って作成されます。さらに、コンポーネント作成 のカスタマイズ済みテンプレートを含む「テンプレート」フォルダは、プロジェクトツリーで作成されます。
重要:
カスタムテンプレートからプロジェクトを作成後のテンプレートプロジェクトの変更は、新しいプロジェクトのみに影響します。
同様に、コンポーネント作成テンプレートへのテンプレートプロジェクトの変更は、新しいコンポーネントのみに影響します。
プロジェクト作成後に、プロジェクトのコンポーネントの追加カスタマイズが必要な場合は、プロジェクトのテンプレートを使用してプロジェクト内でカスタマイズできます。{project-name}/templates/freemarker/component-creation
カスタムテンプレートからプロジェクトを作成後は、カスタマイズ済みプロジェクトで カスタムコードテンプレート オプションは使用しないでください。このオプションは、カスタマイズ済みテンプレートを無効化するデフォルトテンプレートを統合します。
カスタムテンプレートのアーカイブ方法
テンプレートプロジェクトを右クリックし、[エクスポート] を選択します。
[全般 → アーカイブファイル] を選択し、[次へ] をクリックします。
スクリーンショットで定義されたエクスポートを構成します。
プロジェクトリソースのチェックを外します。
[選択したディレクトリのみを作成] オプションを選択します。
「アーカイブ先ファイル」にアーカイブファイルパスを設定します。
[終了] をクリックします。