#![warn(missing_docs)]
use std::path::PathBuf;
mod builder;
pub use builder::{Builder, Color, PackageTarget};
#[derive(thiserror::Error, Debug)]
#[non_exhaustive]
pub enum BuildError {
#[error("Manifest must be for an actual package. `{0:?}` is a virtual manifest")]
VirtualManifest(PathBuf),
#[error("Failed to build rustdoc JSON: {0}")]
General(String),
#[error("Failed to build rustdoc JSON (see stderr)")]
BuildRustdocJsonError,
#[error("Failed to capture output: {0}")]
CapturedOutputError(String),
#[error("Failed to execute: {0}")]
CommandExecutionError(String),
#[error(transparent)]
CargoManifestError(#[from] cargo_manifest::Error),
#[error(transparent)]
CargoMetadataError(#[from] cargo_metadata::Error),
#[error(transparent)]
IoError(#[from] std::io::Error),
}