diff options
Diffstat (limited to 'src/doc/man/cargo-publish.md')
-rw-r--r-- | src/doc/man/cargo-publish.md | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/src/doc/man/cargo-publish.md b/src/doc/man/cargo-publish.md new file mode 100644 index 0000000..4ccb5b5 --- /dev/null +++ b/src/doc/man/cargo-publish.md @@ -0,0 +1,117 @@ +# cargo-publish(1) +{{*set actionverb="Publish"}} +{{*set multitarget=true}} + +## NAME + +cargo-publish --- Upload a package to the registry + +## SYNOPSIS + +`cargo publish` [_options_] + +## DESCRIPTION + +This command will create a distributable, compressed `.crate` file with the +source code of the package in the current directory and upload it to a +registry. The default registry is <https://crates.io>. This performs the +following steps: + +1. Performs a few checks, including: + - Checks the `package.publish` key in the manifest for restrictions on + which registries you are allowed to publish to. +2. Create a `.crate` file by following the steps in {{man "cargo-package" 1}}. +3. Upload the crate to the registry. Note that the server will perform + additional checks on the crate. + +This command requires you to be authenticated with either the `--token` option +or using {{man "cargo-login" 1}}. + +See [the reference](../reference/publishing.html) for more details about +packaging and publishing. + +## OPTIONS + +### Publish Options + +{{#options}} + +{{#option "`--dry-run`" }} +Perform all checks without uploading. +{{/option}} + +{{> options-token }} + +{{#option "`--no-verify`" }} +Don't verify the contents by building them. +{{/option}} + +{{#option "`--allow-dirty`" }} +Allow working directories with uncommitted VCS changes to be packaged. +{{/option}} + +{{> options-index }} + +{{#option "`--registry` _registry_"}} +Name of the registry to publish to. Registry names are defined in [Cargo +config files](../reference/config.html). If not specified, and there is a +[`package.publish`](../reference/manifest.html#the-publish-field) field in +`Cargo.toml` with a single registry, then it will publish to that registry. +Otherwise it will use the default registry, which is defined by the +[`registry.default`](../reference/config.html#registrydefault) config key +which defaults to `crates-io`. +{{/option}} + +{{/options}} + +{{> section-options-package }} + +### Compilation Options + +{{#options}} + +{{> options-target-triple }} + +{{> options-target-dir }} + +{{/options}} + +{{> section-features }} + +### Manifest Options + +{{#options}} + +{{> options-manifest-path }} + +{{> options-locked }} + +{{/options}} + +### Miscellaneous Options + +{{#options}} +{{> options-jobs }} +{{> options-keep-going }} +{{/options}} + +### Display Options + +{{#options}} +{{> options-display }} +{{/options}} + +{{> section-options-common }} + +{{> section-environment }} + +{{> section-exit-status }} + +## EXAMPLES + +1. Publish the current package: + + cargo publish + +## SEE ALSO +{{man "cargo" 1}}, {{man "cargo-package" 1}}, {{man "cargo-login" 1}} |