Crate cargo_dist

Source
Expand description

§dist

This is the library at the core of the ‘dist’ CLI. It currently mostly exists for the sake of internal documentation/testing, and isn’t intended to be used by anyone else. That said, if you have a reason to use it, let us know!

It’s currently not terribly well-suited to being used as a pure library because it happily writes to stderr/stdout whenever it pleases. Suboptimal for a library.

Re-exports§

Modules§

  • Computing the Announcement (and Changelogs)
  • The backend of dist – things it outputs
  • Compiling Things
  • Config types (for workspace.metadata.dist)
  • Functions to parse and manipulate the environment
  • Errors!
  • Details for hosting artifacts
  • The Linkage Checker, which lets us detect what a binary dynamically links to (and why)
  • Utilities for managing DistManifests
  • Centralized logic for initializing http clients to ensure uniform configuration.
  • Logic for computing how different platforms are supported by a project’s archives.
  • Code/artifact signing support
  • Code to compute the tasks dist should do

Structs§

Functions§

  • Run any necessary integrity checks for “primary” commands like build/plan
  • Creates a temporary directory, returning the directory and its path as a Utf8PathBuf.
  • Get the default list of targets
  • dist build – actually build binaries and installers!
  • dist env test – make sure we have everything we need for a build.
  • Generate any scripts which are relevant (impl of dist generate)
  • Run ‘dist init’
  • Just generate the manifest produced by dist build without building
  • Run dist migrate
  • Fetches an installer executable and installs it in the expected target path.
  • Get the list of all known targets
  • The inner impl of do_generate