package version create
Create a package version in the Dev Hub org.
The package version is based on the package contents in the specified directory.
To retrieve details about a package version create request, including status and package version ID (04t), run “sf package version create report -i 08c…”.
We recommend that you specify the –installation-key parameter to protect the contents of your package and to prevent unauthorized installation of your package.
To list package version creation requests in the org, run “sf package version create list”.
To promote a package version to released, you must use the –code-coverage parameter. The package must also meet the code coverage requirements. This requirement applies to both managed and unlocked packages.
We don’t calculate code coverage for org-dependent unlocked packages, or for package versions that specify –skip-validation.
force:package:version:create
| Flag Name (Long) | Flag Name (Short) | Description |
|---|---|---|
‑‑api‑version | N/A | Type: Value Override the api version used for api requests made by this command |
‑‑async‑validation | N/A | Type: Boolean Return a new package version before completing package validations. Specifying async validation returns the package version earlier in the process, allowing you to install and test the new version right away. If your development team is using continuous integration (CI) scripts, async validation can reduce your overall CI run time. |
‑‑branch | ‑b | Type: Value Name of the branch in your source control system that the package version is based on. |
‑‑code‑coverage | ‑c | Type: Boolean Calculate and store the code coverage percentage by running the packaged Apex tests included in this package version. Before you can promote and release a managed or unlocked package version, the Apex code must meet a minimum 75% code coverage requirement. We don’t calculate code coverage for org-dependent unlocked packages or for package versions that specify –skip-validation. |
‑‑definition‑file | ‑f | Type: Value Path to a definition file similar to scratch org definition file that contains the list of features and org preferences that the metadata of the package version depends on. For a patch version, the features specified in this file are ignored, and instead the features specified for the ancestor version are used. |
‑‑flags‑dir | N/A | Type: Value Import flag values from a directory. |
‑‑generate‑pkg‑zip | N/A | Type: Boolean Generate a package ZIP file that you can use for debugging or to examine the package contents. |
‑‑installation‑key | ‑k | Type: Value Installation key for key-protected package. (either –installation-key or –installation-key-bypass is required) |
‑‑installation‑key‑bypass | ‑x | Type: Boolean Bypass the installation key requirement. (either –installation-key or –installation-key-bypass is required) If you bypass this requirement, anyone can install your package. |
‑‑json | N/A | Type: Boolean Format output as json. |
‑‑language | N/A | Type: Value Language for the package. Specify the language using a language code listed under “Supported Languages” in Salesforce Help. If no language is specified, the language defaults to the language of the Dev Hub user who created the package. |
‑‑package | ‑p | Type: Value ID (starts with 0Ho) or alias of the package to create a version of. |
‑‑path | ‑d | Type: Value Path to the directory that contains the contents of the package. |
‑‑post‑install‑script | N/A | Type: Value Name of the post-install script; applies to managed packages only. The post-install script is an Apex class within this package that is run in the installing org after installations or upgrades of this package version. |
‑‑post‑install‑url | N/A | Type: Value Post-install instructions URL. The contents of the post-installation instructions URL are displayed in the UI after installation of the package version. |
‑‑releasenotes‑url | N/A | Type: Value Release notes URL. This link is displayed in the package installation UI to provide release notes for this package version to subscribers. |
‑‑skip‑ancestor‑check | N/A | Type: Boolean Override ancestry requirements, which allows you to specify a package ancestor that isn’t the highest released package version. |
‑‑skip‑validation | N/A | Type: Boolean Skip validation during package version creation; you can’t promote unvalidated package versions. Skips validation of dependencies, package ancestors, and metadata during package version creation. Skipping validation reduces the time it takes to create a new package version, but you can promote only validated package versions. Skipping validation can suppress important errors that can surface at a later stage. You can specify skip validation or code coverage, but not both. Code coverage is calculated during validation. |
‑‑tag | ‑t | Type: Value Package version’s tag. |
‑‑target‑dev‑hub | ‑v | Type: Value Required Username or alias of the Dev Hub org. Not required if the target-dev-hub configuration variable is already set. |
‑‑uninstall‑script | N/A | Type: Value Uninstall script name; applies to managed packages only. The uninstall script is an Apex class within this package that is run in the installing org after uninstallations of this package. |
‑‑verbose | N/A | Type: Boolean Display verbose command output. Display verbose command output. When polling for the status of the creation, this will output status and timeout data on a separate line for each poll request, which is useful in CI systems where timeouts can occur with long periods of no output from commands. |
‑‑version‑description | ‑e | Type: Value Description of the package version to be created; overrides the sfdx-project.json value. |
‑‑version‑name | ‑a | Type: Value Name of the package version to be created; overrides the sfdx-project.json value. |
‑‑version‑number | ‑n | Type: Value Version number of the package version to be created; overrides the sfdx-project.json value. For information about the format of the version number, see https://developer.salesforce.com/docs/atlas.en-us.pkg2_dev.meta/pkg2_dev/sfdx_dev2gp_config_file.htm. |
‑‑wait | ‑w | Type: Value Default value: 0 minutesNumber of minutes to wait for the package version to be created. |
Create a package version from the contents of the “common” directory and give it an installation key of “password123”; uses your default Dev Hub org:
Create a package version from a package with the specified alias; uses the Dev Hub org with username devhub@example.com:
Create a package version from a package with the specified ID:
Create a package version and skip the validation step:
Create a package version and perform package validations asynchronously: