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

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

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

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

名前 必須項目 指定がない場合のデフォルト
path はい パスを指定しない場合、パッケージの作成時に Salesforce CLI でプレースホルダが使用されます。
デフォルト いいえ true

複数のパスを指定した場合、デフォルトパスにこのパラメータを追加して、どれがデフォルトパッケージディレクトリかを示します。

package はい パッケージを作成するときに指定したパッケージ名。
versionName いいえ 指定しない場合、CLI では versionName として versionNumber が使用されます。
versionDescription いいえ なし。
versionNumber はい なし。バージョン番号の書式は major.minor.patch.build です。たとえば、1.2.0.8 です。

ベータ期間中はパッチがサポートされていないため、パッチ番号を 0 にする必要があります。

メモ

登録者は、登録者組織に以前にインストールされた上位がアップグレードに含まれている場合にのみ、管理パッケージをアップグレードします。管理パッケージバージョン作成するときに、必ず ancestorId または ancestorVersion を指定してください。管理パッケージバージョンを作成するときに上位が指定されていれば、アップグレードを簡単にサポートできます。

連動関係 いいえ なし。他のパッケージへの連動関係を指定します。

パッケージに複数の連動関係がある場合、インストールされる順序でパッケージ ID のカンマ区切りのリストを指定します。たとえば、パッケージ C がパッケージ B に依存し、パッケージ B がパッケージ A に依存する場合、パッケージ C の連動関係は次のようになります。

1"dependencies": [
2   {
3      "package": "Expense Manager - Util",
4      "versionNumber": "4.7.0.LATEST"
5   },
6   {
7      "package" : "External Apex Library - Spring 18"
8   }
9]

LATEST キーワードを使用して連動関係を設定できます。

ancestorID

ancestorVersion

いいえ なし。作成しているバージョンの上位を使用します。ancestorID または ancestorVersion を指定できます。

指定するパッケージバージョン ID は「05i」で始まります。

形式 major.minor.patch.build を使用して上位バージョンを指定することもできます。

definitionFile いいえ パッケージのメタデータに必要な機能や組織設定を指定するスクラッチ組織定義などの外部 .json ファイルを参照します。
1"definitionFile": "config/project-scratch-def.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