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

ロック解除済みパッケージのプロジェクト設定ファイル

プロジェクト設定ファイルは、プロジェクトの設計図です。このファイルの設定によって、パッケージの概要が作成され、パッケージ属性とパッケージ内容が決まります。

以下は、プロジェクト設定ファイルに指定可能なパラメータです。

名前 必須かどうか 指定がない場合のデフォルト
apexTestAccess いいえ なし。パッケージバージョンの作成時に Apex テストが実行されるコンテキスト内のユーザに権限セットと権限セットライセンスを割り当てます。
1"apexTestAccess": {
2                "permissionSets": [
3                "Permission_Set_1",
4                "Permission_Set_2"
5                ],
6                "permissionSetLicenses": [
7                "SalesConsoleUser"
8                ]
9                }

「Apex テストでのパッケージ化されていないメタデータまたは Apex アクセス権の指定 (ロック解除済みパッケージ)」を参照してください。

branch いいえ なし。パッケージにブランチが関連付けられているが、パッケージ連動関係が異なるブランチに関連付けられている場合は、この形式を使用します。
1"dependencies": [
2                {
3                "package": "pkgB",
4                "versionNumber": "1.3.0.LATEST",
5                "branch": "featureC"
6                }
7                ]

パッケージにブランチが関連付けられているが、パッケージ連動関係に関連付けられているブランチがない場合は、この形式を使用します。

1"dependencies": [
2                  {
3                  "package": "pkgB",
4                  "versionNumber": "1.3.0.LATEST",
5                  "branch": ""
6                  }
7                  ]

「ロック解除済みパッケージでのブランチの使用」を参照してください

default はい (複数のパッケージディレクトリを指定した場合) true

デフォルトのパッケージディレクトリを示します。sf project retrieve コマンドを使用して、スクラッチ組織からデフォルトのパッケージディレクトリにメタデータをコピーします。

default を true に設定できるパッケージディレクトリは 1 つのみです。

definitionFile いいえ なし。パッケージのメタデータに必要な機能や組織設定 (スクラッチ組織定義など) を指定するために使用される外部 .json ファイルへの参照。

例:

1"definitionFile": "config/project-scratch-def.json",
dependencies いいえ なし。他のパッケージへの連動関係を指定します。
同じ Dev Hub 内のロック解除済みパッケージの連動関係を指定するには、パッケージバージョンの別名か、パッケージ名とバージョン番号の組み合わせのいずれかを使用します。
1"dependencies": [ 
2   {
3      "package": "MyPackageName@0.1.0.1"
4   }
5]
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]

「ロック解除済みパッケージからの連動関係情報の抽出」を参照してください。

includeProfileUserLicenses いいえ false。このパラメータを true に設定すると、パッケージバージョンの作成中、ロック解除済みパッケージ内のプロファイルに関連付けられているユーザライセンスが保持されます。デフォルトでは、ロック解除済みパッケージでは、パッケージ化されたメタデータに関係ないプロファイル情報は削除されます。
1"packageDirectories": [
2                {
3                "package": "PackageA",
4                "path": "common",
5                "versionName": "ver 0.1",
6                "versionNumber": "0.1.0.NEXT",
7                "default": false,
8                "includeProfileUserLicenses": true
9                }
10                ]
namespace いいえ なし。各自のパッケージとそのコンテンツを他の開発者のパッケージと区別するための 1 ~ 15 文字の英数字で構成される識別子。
package はい プロジェクトの json ファイルで指定されるパッケージ名。
packageAliases はい プロジェクトファイルは、パッケージまたはパッケージバージョンの作成時に Salesforce CLI によって別名で更新されます。既存のパッケージまたはパッケージバージョンのこのセクションを手動で更新することもできます。CLI の sf package コマンドを実行するときにわかりづらいパッケージ ID の代わりに別名を使用できます。
path はい パスを指定しない場合、パッケージの作成時に Salesforce CLI でプレースホルダが使用されます。
postInstallUrl いいえ なし。登録者がインストール後に行う手順への URL。
releaseNotesUrl いいえ なし。リリースノートへの URL。
seedMetadata いいえ

なし。

seedMetadata ディレクトリへのパスを指定します。

シードメタデータは、標準値セットでのみ使用できます。パッケージが標準値セットに連動している場合、値セットを含むシードメタデータディレクトリを指定できます。

例:

1"packageDirectories": [
2    {
3        "seedMetadata": {
4            "path": "my-unpackaged-seed-directory"
5         }
6    }, 
7]
unpackagedMetadata いいえ なし。「Apex テストでのパッケージ化されていないメタデータまたは Apex アクセス権の指定 (ロック解除済みパッケージ)」を参照してください。
versionDescription いいえ なし。
versionName いいえ 指定しない場合、CLI ではバージョン名として versionNumber が使用されます。
versionNumber はい なし。バージョン番号の書式は major.minor.patch.build です。たとえば、1.2.1.8 です。

ビルド番号をパッケージの次に使用可能なビルドに自動的に増やすには、キーワード NEXT (1.2.1.NEXT) を使用します。

Salesforce CLI を使用してパラメータを指定すると、プロジェクト定義ファイルにリストされている値が上書きされます。

Salesforce DX プロジェクト定義ファイルは、プロジェクトのルートディレクトリにある JSON ファイルです。sf project generate CLI コマンドを使用して、基盤として使用可能なプロジェクトファイルを生成します。packageDirectories のパラメータは次のようになります。

1{
2   "namespace": "",
3   "sfdcLoginUrl": "https://login.salesforce.com",
4   "sourceApiVersion": "47.0",
5   "packageDirectories": [
6      {
7         "path": "util",
8         "default": true,
9         "package": "Expense Manager - Util",
10         "versionName": "Winter ‘20",
11         "versionDescription": "Welcome to Winter 2020 Release of Expense Manager Util Package",
12         "versionNumber": "4.7.0.NEXT",
13         "definitionFile": "config/scratch-org-def.json"
14      },
15      {
16         "path": "exp-core",
17         "default": false,
18         "package": "Expense Manager",
19         "versionName": "v 3.2",
20         "versionDescription": "Winter 2020 Release",
21         "versionNumber": "3.2.0.NEXT", 
22         "postInstallUrl": "https://expenser.com/post-install-instructions.html",
23         "releaseNotesUrl": "https://expenser.com/winter-2020-release-notes.html",
24         "definitionFile": "config/scratch-org-def.json",
25         "dependencies": [
26            {
27               "package": "Expense Manager - Util",
28               "versionNumber": "4.7.0.LATEST"
29
30            },
31            {
32               "package" : "External Apex Library - 1.0.0.4"
33            }
34         ]
35      }
36   ],
37   "packageAliases": {
38      "Expense Manager - Util": "0HoB00000004CFpKAM",
39      "External Apex Library@1.0.0.4": "04tB0000000IB1EIAW",
40      "Expense Manager": "0HoB00000004CFuKAM"}
41}

Salesforce DX プロジェクトが自動的に更新されないようにするには?

sfdx-project.json ファイルを自動更新したくない場合もあります。より詳細な制御が必要な場合、次の環境変数を使用して、プロジェクトファイルの自動更新を抑制します。

コマンド True に設定する環境変数
sf package create SFDX_PROJECT_AUTOUPDATE_DISABLE_FOR_PACKAGE_CREATE
sf package version create SFDX_PROJECT_AUTOUPDATE_DISABLE_FOR_PACKAGE_VERSION_CREATE