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

第二世代管理パッケージのプロジェクトファイルでの上位パッケージの指定

第二世代管理パッケージバージョンの作成時には、sfdx-project.json ファイルで上位パッケージを指定します。指定する上位パッケージは、そのパッケージの最も高い昇格済みパッケージバージョン番号である必要があります。パッケージバージョンを作成するたびに上位バージョン番号を更新することも、キーワードを使用することもできます。

ここでは、上位パッケージを設定する 3 種類の方法を説明します。

HIGHEST キーワードを使用する (推奨)

sfdx-project.json ファイルの ancestorId 属性または ancestorVersion 属性のいずれかで、HIGHEST キーワードを使用します。このキーワードを使用すると、上位パッケージは自動的に最も高い昇格済みパッケージバージョン番号に設定されます。

1"packageDirectories": [
2{
3"path": "util",
4"package": "Expense Manager - Util",
5"versionNumber": "4.7.0.NEXT",
6"ancestorVersion": "HIGHEST"
7},

このキーワードを使用することで、線形バージョン管理を中断してもかまわなくなるまで、線形バージョン管理を使用するように上位パッケージを簡単に設定できます。

上位バージョン属性を使用する

sfdx-project.json ファイルの ancestorVersion 属性をパッケージバージョンの major.minor.patch 番号に設定します。この方法では、メジャー、マイナー、パッチの値が変更されるたびに、上位バージョン番号を更新する必要があります。

1"packageDirectories": [
2{
3"path": "util",
4"package": "Expense Manager - Util",
5"versionNumber": "4.7.0.NEXT",
6"ancestorVersion": “4.6.0”
7},

上位 ID 属性を使用する

sfdx-project.json ファイルの ancestorId 属性を 04t ID またはパッケージバージョンの別名のいずれかに設定します。この方法では、パッケージバージョンを作成するたびに、上位バージョン番号を更新する必要があります。

1"packageDirectories": [
2{
3"path": "util",
4"package": "Expense Manager - Util",
5"versionNumber": "4.7.0.NEXT",
6"ancestorId": "04tB0000000cWwnIAE"
7},
1"packageDirectories": [
2{
3"path": "util",
4"package": "Expense Manager - Util",
5"versionNumber": "4.7.0.NEXT",
6"ancestorId": "expense-manager@4.6.0.1"
7},

「管理-リリース済み」状態に昇格済みのパッケージバージョンのみを上位パッケージとしてリストできます。

メモ

線形上位パッケージの動作を上書きする

線形のパッケージバージョン管理を中断するには、パッケージバージョンの作成時に、最も高い昇格済みパッケージバージョンではない上位パッケージを指定して、Salesforce CLI パラメーター --skip-ancestor-check を使用します。

1sf package version create --package "Expenser App" --skip-ancestor-check

CLI パラメーターは、最も高い昇格済みパッケージバージョンではないパッケージバージョンの指定が意図的に選択されていることを示します。

sfdx-project.json ファイルの ancestorId 属性または ancestorVersion 属性のいずれかで NONE というキーワードを使用すると、上位パッケージを指定しないように選択できます。

1"packageDirectories": [
2{
3"path": "util",
4"package": "Expense Manager - Util",
5"versionNumber": "4.7.0.NEXT",
6"ancestorVersion": "NONE"
7},

上位パッケージによりパッケージのアップグレードパスが決まるため、既存のユーザーは上位パッケージを指定しないで作成されたパッケージバージョンにアップグレードすることはできません。作成するパッケージバージョンを昇格する予定がない場合は、NONE を使用してください。

以前のパッケージバージョンをすでに昇格していて、同じパッケージに関連付��られた新しいパッケージバージョンで上位パッケージを NONE に設定する場合は、そのパッケージバージョンの作成時に --skip-ancestor-check を含めてください。最初のパッケージバージョンを作成するときは、上位を NONE に設定して --skip-ancestor-check を指定することもできます。

上位パッケージに関する留意点

  • 上位パッケージによって、既存のパッケージをより新しいパッケージバージョンにアップグレードできるかが決まります。線形バージョン管理を中断する場合、または顧客の組織にインストールされているパッケージバージョンを破棄する予定がある場合は、既存の顧客にどのような影響が及ぶか、またアップグレードパスを既存の顧客が利用できるかどうかを検討してください。
  • パッケージバージョンを破棄する場合は、Salesforce CLI コマンド sf package version delete を使用して、そのバージョンを削除します。

    パッケージバージョンを削除できない場合は、破棄されたパッケージバージョンが誤ってインストールされないようにパッケージバージョンのインストールキーを更新します。インストールキーを更新するには、sf package version update を使用します。