この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

第二世代管理パッケージ間の連動関係の作成

モノリシックなパッケージ開発を避けるため、類似の機能とコンポーネントをグループ化した小型のモジュール式パッケージの開発を計画します。次に、これらのパッケージ間の連動関係を定義します。パッケージの連動関係とは、あるパッケージ内のメタデータと別のパッケージ内のメタデータ間の依存関係のことです。たとえば、連動関係を定義すると、別のパッケージ内のコンポーネントとメタデータを使用して、基本パッケージの機能を拡張できます。

管理 2GP パッケージの連動関係の指定方法

どの管理 2GP パッケージと管理 1GP パッケージの組み合わせの連動関係がサポートされるかを理解するには、「Understand Managed 2GP Package Dependencies (管理 2GP パッケージの連動関係の理解)」を参照してください。

メモ

同じ Dev Hub に関連付けられている管理パッケージ間の連動関係を指定するには、パッケージバージョンの別名か、パッケージ名とバージョン番号の組み合わせのいずれかを使用します。

例 1:
1"dependencies": [ 
2   {
3      "package": "MyPackageName@0.1.0.1"
4   }
5]
例 2:
1"dependencies": [ 
2   {
3      "package": "MyPackageName",
4      "versionNumber": "0.1.0.LATEST"
5   }
6]
Dev Hub に関連付けられていない管理パッケージの連動関係を指定する手順は、次のとおりです。
1"dependencies": [ 
2   {
3      "package": "OtherOrgPackage@1.2.0"
4   }
5]

バージョン番号に LATEST キーワードを使用して連動関係を設定できます。

メモ

パッケージの別名ではなくパッケージ ID で連動関係を示すには、次の ID を使用します。
  • パッケージ ID と一緒にバージョン番号を指定する場合は 0Ho ID
  • パッケージバージョン ID のみを指定する場合は 04t ID

複数のパッケージ連動関係の指定

パッケージに複数の連動関係がある場合、インストールの順序でパッケージのカンマ区切りのリストを指定します。

たとえば、あるパッケージがパッケージ Expense Manager - Util に連動し、このパッケージがパッケージ External Apex Library に連動する場合、パッケージの連動関係は次のようになります。
1"dependencies": [
2   {
3      "package" : "External Apex Library - 1.0.0.4"
4
5    },
6   {
7      "package": "Expense Manager - Util",
8      "versionNumber": "4.7.0.LATEST"
9
10   }
11]

サポートされる連動関係の種別

循環連動関係
パッケージ間の循環連動関係はサポートされません。
循環連動関係が生じるのは、pkgC が pkgB に連動し、pkgB が pkgA に連動し、pkgA が pkgC に連動する場合です。
複数レベルの連動関係
複数レベルのパッケージ連動関係はサポートされています。
複数レベルの連動関係が生じるのは、pkgC が pkgB に連動し、pkgB が pkgA に連動する場合です。
sfdx-project.json ファイルの複数レベルの連動関係をパッケージのインストール順にリストします。この例の場合、最初に pkgA をインストールし、次に pkgB をインストールし、その後に pkgC をインストールする必要があります。
1{
2    "packageDirectories": [
3        {
4            "path": "pkgA-wsp",
5            "default": true,
6            "package": "pkgA",
7            "versionName": "ver 0.9",
8            "versionNumber": "0.9.0.NEXT",
9            "ancestorVersion": "0.7.0.1"
10        },
11        {
12            "path": "pkgB-wsp",
13            "default": false,
14            "package": "pkgB",
15            "versionName": "ver 0.3",
16            "versionNumber": "0.3.0.NEXT",
17            "dependencies": [ 
18                {
19                   "package": "pkgA@0.9.0.LATEST"
20                }
21             ]
22        },
23        {
24            "path": "pkgC-wsp",
25            "default": false,
26            "package": "pkgC",
27            "versionName": "ver 0.1",
28            "versionNumber": "0.1.0.NEXT",
29            "dependencies": [ 
30                {
31                   "package": "pkgA@0.9.0.LATEST"
32                },
33                {
34                    "package": "pkgB@0.3.0.LATEST"
35                }
36               
37             ]
38        }
39
40    ],
41    
42}
指定されたパッケージバージョン番号もパッケージ連動関係のインストールに影響を与えます。pkgB をインストールする前に、最初に pkgA バージョン 0.9 以降をインストールする必要があります。この条件が満たされない場合は、pkgB のインストールが失敗します。