1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
#![warn(missing_docs)]
#![allow(clippy::new_without_default)]
#![allow(clippy::upper_case_acronyms)]
#![cfg_attr(docs_rs, feature(doc_cfg))]
//! Rustwide is a library to execute your code on the Rust ecosystem, powering projects like
//! [Crater][crater] and [docs.rs][docsrs].
//!
//! ## Feature flags
//!
//! Rustwide provides some optional features that can be enabled with Cargo:
//!
//! * **unstable**: allow Rustwide to use unstable Rust and Cargo features. While this feature also
//! works on Rust stable it might cause Rustwide to break, and **no stability guarantee is
//! present when using it!**
//! * **unstable-toolchain-ci**: allow fetching toolchains from rustc's CI artifacts storage. Support for
//! them is **incomplete** (not all methods might work), and there is **no stability guarantee**
//! when using them!
//!
//! [crater]: https://github.com/rust-lang/crater
//! [docsrs]: https://github.com/rust-lang/docs.rs
#[cfg(test)]
#[macro_use]
extern crate toml;
mod build;
pub mod cmd;
mod crates;
mod inside_docker;
pub mod logging;
mod native;
mod prepare;
pub mod toolchain;
mod tools;
mod utils;
mod workspace;
pub use crate::build::{Build, BuildBuilder, BuildDirectory};
pub use crate::crates::{AlternativeRegistry, Crate};
pub use crate::prepare::PrepareError;
pub use crate::toolchain::Toolchain;
pub use crate::workspace::{Workspace, WorkspaceBuilder};
pub(crate) static HOST_TARGET: &str = include_str!(concat!(env!("OUT_DIR"), "/target"));