The stack upload command¶
stack upload [DIR] [--pvp-bounds PVP-BOUNDS] [--ignore-check]
[--[no-]test-tarball] [--tar-dir ARG] [--candidate]
Hackage accepts packages for uploading in a standard form, a compressed archive
('tarball') in the format produced by Cabal's sdist action.
stack upload generates a file for your package, in the format accepted by
Hackage for uploads, and uploads the package to Hackage. For example, if the
current working directory is the root directory of your project:
The HACKAGE_USERNAME and HACKAGE_PASSWORD environment variables¶
stack upload will request a Hackage username and password to authenticate.
This can be avoided by setting the HACKAGE_USERNAME and HACKAGE_PASSWORD
environment variables. For
example:
The HACKAGE_KEY environment variable¶
Hackage allows its members to register an API authentification token and to authenticate using the token.
A Hackage API authentification token can be used with stack upload instead of
username and password, by setting the HACKAGE_KEY environment variable. For
example:
--candidate flag¶
Pass the flag to upload a package candidate.
--ignore-check flag¶
Pass the flag to disable checks of the package for common mistakes. By default, the command will check the package for common mistakes.
--pvp-bounds option¶
The --pvp-bounds <pvp_bounds_mode> option determines whether and, if so, how
PVP version bounds should be added to the Cabal file of the package. The
available modes for basic use are: none, lower, upper, and both. The
available modes for use with Cabal file revisions are lower-revision,
upper-revision and both-revision.
For futher information, see the YAML configuration documentation.
--tar-dir option¶
The --tar-dir <path_to_directory> option determines whether the package
archive should be copied to the specified directory.
--[no-]test-tarball flag¶
Default: Disabled
Set the flag to cause Stack to test the resulting package archive, by attempting to build it.