#![warn(clippy::all, clippy::pedantic, missing_docs)]
use std::path::PathBuf;
mod builder;
pub use builder::{Builder, 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. Stderr: {0}")]
General(String),
#[error(transparent)]
CargoManifestError(#[from] cargo_manifest::Error),
#[error(transparent)]
CargoMetadataError(#[from] cargo_metadata::Error),
#[error(transparent)]
IoError(#[from] std::io::Error),
}