summaryrefslogtreecommitdiffstats
path: root/src/doc/man/cargo-publish.md
diff options
context:
space:
mode:
Diffstat (limited to 'src/doc/man/cargo-publish.md')
-rw-r--r--src/doc/man/cargo-publish.md117
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}}