第二世代管理パッケージ間の連動関係の作成
モノリシックなパッケージ開発を避けるため、類似の機能とコンポーネントをグループ化した小型のモジュール式パッケージの開発を計画します。次に、これらのパッケージ間の連動関係を定義します。パッケージの連動関係とは、あるパッケージ内のメタデータと別のパッケージ内のメタデータ間の依存関係のことです。たとえば、連動関係を定義すると、別のパッケージ内のコンポーネントとメタデータを使用して、基本パッケージの機能を拡張できます。
管理 2GP パッケージの連動関係の指定方法
同じ Dev Hub に関連付けられている管理パッケージ間の連動関係を指定するには、パッケージバージョンの別名か、パッケージ名とバージョン番号の組み合わせのいずれかを使用します。
例 1:
例 2:
Dev Hub に関連付けられていない管理パッケージの連動関係を指定する手順は、次のとおりです。
パッケージの別名ではなくパッケージ ID で連動関係を示すには、次の ID を使用します。
- パッケージ ID と一緒にバージョン番号を指定する場合は 0Ho ID
- パッケージバージョン ID のみを指定する場合は 04t ID
複数のパッケージ連動関係の指定
パッケージに複数の連動関係がある場合、インストールの順序でパッケージのカンマ区切りのリストを指定します。
たとえば、あるパッケージがパッケージ Expense Manager - Util に連動し、このパッケージがパッケージ External Apex Library に連動する場合、パッケージの連動関係は次のようになります。
サポートされる連動関係の種別
- 循環連動関係
- パッケージ間の循環連動関係はサポートされません。
- 循環連動関係が生じるのは、pkgC が pkgB に連動し、pkgB が pkgA に連動し、pkgA が pkgC に連動する場合です。
- 複数レベルの連動関係
- 複数レベルのパッケージ連動関係はサポートされています。
- 複数レベルの連動関係が生じるのは、pkgC が pkgB に連動し、pkgB が pkgA に連動する場合です。
- sfdx-project.json ファイルの複数レベルの連動関係をパッケージのインストール順にリストします。この例の場合、最初に pkgA をインストールし、次に pkgB をインストールし、その後に pkgC をインストールする必要があります。
-
- 指定されたパッケージバージョン番号もパッケージ連動関係のインストールに影響を与えます。pkgB をインストールする前に、最初に pkgA バージョン 0.9 以降をインストールする必要があります。この条件が満たされない場合は、pkgB のインストールが失敗します。