Crate reg_index

source ·
Expand description

This library is for accessing and manipulating a Cargo registry index.

A very basic example:

// Initialize a new index.
reg_index::init(&index_path, "https://example.com", None)?;
// Add a package to the index.
reg_index::add(&index_path, index_url, Some(&manifest_path), None, None)?;
// Packages can be yanked.
reg_index::yank(&index_path, "foo", "0.1.0")?;
// Get the metadata for the new entry.
let pkgs = reg_index::list(&index_path, "foo", None)?;
// Displays something like:
// {"name":"foo","vers":"0.1.0","deps":[],"features":{},"cksum":"d87f097fcc13ae97736a7d8086fb70a0499f3512f0fe1fe82e6422f25f567c83","yanked":true,"links":null}
println!("{}", serde_json::to_string(&pkgs[0])?);

See https://doc.rust-lang.org/cargo/reference/registries.html for documentation about Cargo registries.

Locking

The functions here perform simple filesystem locking to ensure multiple commands running at the same time do not interfere with one another. This requires that the filesystem supports locking.

Structs

Enums

Functions

  • Add a new entry to the index.
  • Add a new entry to the index.
  • Add a new entry to the index, overwriting the existing entry if one already exists.
  • Initialize a new registry index.
  • List entries in the index.
  • List all entries for all packages in the index.
  • Return the configuration file in an index.
  • Get the metadata for a package before publishing it.
  • Get the metadata for a package before publishing it.
  • Set the yank value of a package in the index.
  • Unyank a version in the index.
  • Validate an index.
  • Yank a version in the index.