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

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

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

以下は、プロジェクト設定ファイルに指定可能なパラメータの一部です。その他のパラメータについては、「第二世代管理パッケージの高度なプロジェクト設定パラメータ」を参照してください。

名前 詳細
ancestorId 必須かどうかこのパッケージのパッケージバージョンをすでに昇格しているかどうかによって決まります。昇格している場合は、ancestorId または ancestorVersion を指定する必要があります。昇格していない場合は、このパラメータを指定する必要はありません。

指定がない場合のデフォルト: None

なし。作成するパッケージバージョンの上位パッケージツリーの直接の親の ID。ancestorId では、パッケージバージョン 04t、またはパッケージバージョンの別名が必要です。上位を指定する場合、ancestorId または ancestorVersion を使用できます。

例:

1"ancestorId": "Expenser Logic@0.1.0-1"

詳細は、「第二世代管理パッケージのプロジェクトファイルでの上位パッケージの指定」を参照してください。

ancestorVersion 必須かどうかこのパッケージのパッケージバージョンをすでに昇格しているかどうかによって決まります。昇格している場合は、ancestorId または ancestorVersion を指定する必要があります。昇格していない場合は、このパラメータを指定する必要はありません。

指定がない場合のデフォルト: None

作成するパッケージバージョンの上位パッケージツリーの直接の親のバージョン番号。

major.minor.patch.build の形式を使用して上位バージョンを指定します。上位を指定する場合、ancestorId または ancestorVersion を使用できます。

例:

1"ancestorVersion": "0.1.0.1"

詳細は、「第二世代管理パッケージのプロジェクトファイルでの上位パッケージの指定」を参照してください。

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

指定がない場合のデフォルト: true

デフォルトのパッケージディレクトリを示します。force:source:pull を使用して開発組織 (スクラッチ組織またはソース追跡 Sandbox) からメタデータを取得する場合、メタデータはデフォルトのパッケージディレクトリに配置されます。

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

definitionFile 必須かどうかいいえ

指定がない場合のデフォルト: None

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

例:

1"definitionFile": "config/project-scratch-def.json",
namespace 必須かどうかはい

指定がない場合のデフォルト: None

各自のパッケージとそのコンテンツを他の開発者のパッケージと区別するための 1 ~ 15 文字の英数字で構成される識別子。

package 必須かどうかはい

指定がない場合のデフォルト: None

プロジェクトの json ファイルで指定されるパッケージ名。
packageAliases 必須かどうかいいえ

指定がない場合のデフォルト: このファイルは、パッケージまたはパッケージバージョンの作成時に Salesforce CLI によって別名で更新されます。既存のパッケージまたはパッケージバージョンのこのセクションを手動で更新することもできます。CLI の force:package コマンドを実行するときにわかりづらいパッケージ ID の代わりに別名を使用できます。

path 必須かどうかはい

指定がない場合のデフォルト: None。

パッケージメタデータが含まれている場所を force:package:create Salesforce CLI コマンドの --path 属性に指定します。

seedMetadata 必須かどうか いいえ

指定がない場合のデフォルト: None。

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

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

例:

1"packageDirectories": [
2    {
3        "seedMetadata": {
4            "path": "my-unpackaged-seed-directory"
5         }
6    }, 
7]
versionDescription 必須かどうかいいえ

指定がない場合のデフォルト: None

versionName 必須かどうかいいえ

指定がない場合のデフォルト: 指定しない場合、CLI ではバージョン名として versionNumber が使用されます。

versionNumber 必須かどうかはい

指定がない場合のデフォルト: None

バージョン番号の書式は major.minor.patch.build です。たとえば、1.2.1.8 です。

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

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

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

1{
2   "namespace": "exp-mgr",
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         "ancestorVersion": "3.0.0.7",
23         "definitionFile": "config/scratch-org-def.json",
24         "dependencies": [
25            {
26               "package": "Expense Manager - Util",
27               "versionNumber": "4.7.0.LATEST"
28
29            },
30            {
31               "package" : "External Apex Library - 1.0.0.4"
32            }
33         ]
34      }
35   ],
36   "packageAliases": {
37      "Expense Manager - Util": "0HoB00000004CFpKAM",
38      "External Apex Library@1.0.0.4": "04tB0000000IB1EIAW",
39      "Expense Manager": "0HoB00000004CFuKAM"}
40}

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