Crate escargot[][src]

Escargot: A Cargo API

Features

Features:

  • print for logged output to be printed instead, generally for test writing.

Why escargot

Compared to depending on cargo:

  • Faster compile times.
  • Simpler API.
  • Better interop with projects relying on other cargo versions.
  • Probably slower execution, especially on platforms without an optimized fork (e.g. Windows).

Relevant crates

Other related crates:

  • cargo for the real thing
  • cargo-metadata for a similar project specifically geared to the metadata subcommand.

Example

extern crate escargot;
extern crate assert_fs;

let temp = assert_fs::TempDir::new().unwrap();
escargot::CargoBuild::new()
    .bin("bin")
    .current_release()
    .current_target()
    .manifest_path("tests/fixtures/bin/Cargo.toml")
    .target_dir(temp.path())
    .exec()
    .unwrap();

Modules

error

Error reporting API.

format

Serialization formats for cargo messages.

Structs

Cargo

Top-level command.

CargoBuild

The build subcommand.

CargoRun

The run subcommand (emulated).

CargoTest

The test subcommand (emulated).

CommandMessages

Messages returned from a cargo sub-command.

Message

An individual message from a cargo sub-command.

Constants

CURRENT_TARGET

The current process’ target triplet.