ロック解除済みパッケージのプロジェクト設定ファイル
以下は、プロジェクト設定ファイルに指定可能なパラメータです。
| 名前 | 必須かどうか | 指定がない場合のデフォルト |
|---|---|---|
| apexTestAccess | いいえ | なし。パッケージバージョンの作成時に Apex テストが実行されるコンテキスト内のユーザに権限セットと権限セットライセンスを割り当てます。「Apex テストでのパッケージ化されていないメタデータまたは Apex アクセス権の指定 (ロック解除済みパッケージ)」を参照してください。 |
| branch | いいえ | なし。パッケージにブランチが関連付けられているが、パッケージ連動関係が異なるブランチに関連付けられている場合は、この形式を使用します。パッケージにブランチが関連付けられているが、パッケージ連動関係に関連付けられているブランチがない場合は、この形式を使用します。 「ロック解除済みパッケージでのブランチの使用」を参照してください |
| default | はい (複数のパッケージディレクトリを指定した場合) | true デフォルトのパッケージディレクトリを示します。sf project retrieve コマンドを使用して、スクラッチ組織からデフォルトのパッケージディレクトリにメタデータをコピーします。 default を true に設定できるパッケージディレクトリは 1 つのみです。 |
| definitionFile | いいえ | なし。パッケージのメタデータに必要な機能や組織設定 (スクラッチ組織定義など) を指定するために使用される外部 .json ファイルへの参照。 例: |
| dependencies | いいえ | なし。他のパッケージへの連動関係を指定します。 同じ Dev Hub 内のロック解除済みパッケージの連動関係を指定するには、パッケージバージョンの別名か、パッケージ名とバージョン番号の組み合わせのいずれかを使用します。
Dev Hub 外のロック解除済みパッケージの連動関係を指定するには、次の設定を使用します。
パッケージの別名ではなくパッケージ ID で連動関係を示すには、次の ID を使用します。
パッケージに複数の連動関係がある場合、インストールの順序でパッケージのカンマ区切りのリストを指定します。たとえば、あるパッケージがパッケージ Expense Manager - Util に連動し、このパッケージがパッケージ External Apex Library に連動する場合、パッケージの連動関係は次のようになります。
「ロック解除済みパッケージからの連動関係情報の抽出」を参照してください。 |
| includeProfileUserLicenses | いいえ | false。このパラメータを true に設定すると、パッケージバージョンの作成中、ロック解除済みパッケージ内のプロファイルに関連付けられているユーザライセンスが保持されます。デフォルトでは、ロック解除済みパッケージでは、パッケージ化されたメタデータに関係ないプロファイル情報は削除されます。 |
| namespace | いいえ | なし。各自のパッケージとそのコンテンツを他の開発者のパッケージと区別するための 1 ~ 15 文字の英数字で構成される識別子。 |
| package | はい | プロジェクトの json ファイルで指定されるパッケージ名。 |
| packageAliases | はい | プロジェクトファイルは、パッケージまたはパッケージバージョンの作成時に Salesforce CLI によって別名で更新されます。既存のパッケージまたはパッケージバージョンのこのセクションを手動で更新することもできます。CLI の sf package コマンドを実行するときにわかりづらいパッケージ ID の代わりに別名を使用できます。 |
| path | はい | パスを指定しない場合、パッケージの作成時に Salesforce CLI でプレースホルダが使用されます。 |
| postInstallUrl | いいえ | なし。登録者がインストール後に行う手順への URL。 |
| releaseNotesUrl | いいえ | なし。リリースノートへの URL。 |
| seedMetadata | いいえ |
なし。 seedMetadata ディレクトリへのパスを指定します。 シードメタデータは、標準値セットでのみ使用できます。パッケージが標準値セットに連動している場合、値セットを含むシードメタデータディレクトリを指定できます。 例: |
| 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 |