パッケージのプロジェクト設定ファイル
プロジェクト設定ファイルは、プロジェクトとパッケージの概要の設計図です。この設定のコレクションによって、パッケージ属性とパッケージ内容が決まります。
以下は、プロジェクト定義ファイルに指定可能なパラメータです。
| 名前 | 必須項目 | 指定がない場合のデフォルト |
|---|---|---|
| path | はい | パスを指定しない場合、パッケージの作成時に Salesforce CLI でプレースホルダが使用されます。 |
| デフォルト | いいえ | true 複数のパスを指定した場合、デフォルトパスにこのパラメータを追加して、どれがデフォルトパッケージディレクトリかを示します。 |
| package | はい | パッケージを作成するときに指定したパッケージ名。 |
| versionName | いいえ | 指定しない場合、CLI では versionName として versionNumber が使用されます。 |
| versionDescription | いいえ | なし。 |
| versionNumber | はい | なし。バージョン番号の書式は major.minor.patch.build です。たとえば、1.2.0.8 です。
登録者は、登録者組織に以前にインストールされた上位がアップグレードに含まれている場合にのみ、管理パッケージをアップグレードします。管理パッケージバージョン作成するときに、必ず ancestorId または ancestorVersion を指定してください。管理パッケージバージョンを作成するときに上位が指定されていれば、アップグレードを簡単にサポートできます。 |
| 連動関係 | いいえ | なし。他のパッケージへの連動関係を指定します。 パッケージに複数の連動関係がある場合、インストールされる順序でパッケージ ID のカンマ区切りのリストを指定します。たとえば、パッケージ C がパッケージ B に依存し、パッケージ B がパッケージ A に依存する場合、パッケージ C の連動関係は次のようになります。 LATEST キーワードを使用して連動関係を設定できます。 |
| ancestorID ancestorVersion |
いいえ | なし。作成しているバージョンの上位を使用します。ancestorID または ancestorVersion を指定できます。 指定するパッケージバージョン ID は「05i」で始まります。 形式 major.minor.patch.build を使用して上位バージョンを指定することもできます。 |
| definitionFile | いいえ | パッケージのメタデータに必要な機能や組織設定を指定するスクラッチ組織定義などの外部 .json ファイルを参照します。 |
| 機能 | いいえ | なし。Salesforce DX でサポートされるすべての機能を使用できます。スクラッチ組織定義などの外部 .json ファイルで機能を指定することをお勧めします。 |
| orgPreferences | いいえ | なし。Salesforce DX でサポートされるすべての Salesforce 組織設定を使用できます (Chatter やコミュニティなど)。スクラッチ組織定義などの外部 .json ファイルで組織設定を指定することをお勧めします。 |
| packageAliases | はい | このファイルは、パッケージまたはパッケージバージョンの作成時に Salesforce CLI によって別名で自動的に更新されます。既存のパッケージまたはパッケージバージョンのこのセクションを手動で更新することもできます。CLI の force:package コマンドを実行するときにわかりづらいパッケージ ID の代わりに別名を使用できます。 |
Salesforce DX プロジェクト定義ファイルは、JSON ファイルで、プロジェクトのルートディレクトリにあります。packageDirectories のパラメータは次のようになります。
1{
2 "namespace": "",
3 "sfdcLoginUrl": "https://login.salesforce.com",
4 "sourceApiVersion": "43.0",
5 "packageDirectories": [
6 {
7 "path": "util",
8 "default": true,
9 "package": "Expense Manager - Util",
10 "versionName": "Spring ‘18",
11 "versionDescription": "Welcome to Spring 2018 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": "Spring 2018 Release",
21 "versionNumber": "3.2.0.NEXT",
22 "definitionFile": "config/scratch-org-def.json",
23 "dependencies": [
24 {
25 "package": "Expense Manager - Util",
26 "versionNumber": "4.7.0.LATEST"
27 },
28 {
29 "package" : "External Apex Library - Spring 18 Version"
30 }
31 ]
32 }
33 ],
34 "packageAliases": [
35 { "Expense Manager - Util": "0HoB00000004CFpKAM" },
36 { "External Apex Library - 1.0.0.4": "04tB0000000IB1EIAW" },
37 { "Expense Manager": "0HoB00000004CFuKAM" }
38 ]
39}Salesforce DX プロジェクトが自動的に更新されないようにするには?
sfdx-project.json ファイルの自動更新が適していない場合もあります。より詳細な制御が必要な場合、次の環境変数を使用して、プロジェクトファイルの自動更新を抑制します。
| コマンド | True に設定する環境変数 |
|---|---|
| force:package:create | SFDX_PROJECT_AUTOUPDATE_DISABLE_FOR_PACKAGE_CREATE |
| force:package:version:create | SFDX_PROJECT_AUTOUPDATE_DISABLE_FOR_PACKAGE_VERSION_CREATE |