Skip to content

Latest commit

 

History

History
99 lines (65 loc) · 2.58 KB

cargo-package.adoc

File metadata and controls

99 lines (65 loc) · 2.58 KB

cargo-package(1) Manual Page

NAME

cargo-package - Assemble the local package into a distributable tarball

SYNOPSIS

cargo package [OPTIONS]

DESCRIPTION

This command will create a distributable, compressed .crate file with the source code of the package in the current directory. The resulting file will be stored in the target/package directory. This performs the following steps:

  1. Load and check the current workspace, performing some basic checks.

    • Path dependencies are not allowed unless they have a version key. Cargo will ignore the path key for dependencies in published packages. dev-dependencies do not have this restriction.

  2. Create the compressed .crate file.

    • The original Cargo.toml file is rewritten and normalized.

    • [patch], [replace], and [workspace] sections are removed from the manifest.

    • Cargo.lock is automatically included if the package contains an executable binary or example target. man:cargo-install[1] will use the packaged lock file if the --locked flag is used.

    • A .cargo_vcs_info.json file is included that contains information about the current VCS checkout hash if available (not included with --allow-dirty).

  3. Extract the .crate file and build it to verify it can build.

  4. Check that build scripts did not modify any source files.

The list of files included can be controlled with the include and exclude fields in the manifest.

See linkcargo:reference/publishing.html[the reference] for more details about packaging and publishing.

OPTIONS

Package Options

-l
--list

Print files included in a package without making one.

--no-verify

Don’t verify the contents by building them.

--no-metadata

Ignore warnings about a lack of human-usable metadata (such as the description or the license).

--allow-dirty

Allow working directories with uncommitted VCS changes to be packaged.

Miscellaneous Options

Display Options

EXAMPLES

  1. Create a compressed .crate file of the current package:

    cargo package

SEE ALSO

man:cargo[1], man:cargo-publish[1]