pub use crate::output::CheckResult;
use crate::{
apis::ManagedApis,
cmd::{
check::check_impl,
dispatch::{BlessedSourceArgs, GeneratedSourceArgs},
},
environment::{Environment, GeneratedSource},
output::OutputOpts,
};
use camino::Utf8PathBuf;
pub fn check_apis_up_to_date(
env: &Environment,
apis: &ManagedApis,
) -> Result<CheckResult, anyhow::Error> {
check_apis_impl(env, apis, None)
}
pub fn check_apis_with_generated_from_dir(
env: &Environment,
apis: &ManagedApis,
generated_from_dir: Utf8PathBuf,
) -> Result<CheckResult, anyhow::Error> {
check_apis_impl(env, apis, Some(generated_from_dir))
}
fn check_apis_impl(
env: &Environment,
apis: &ManagedApis,
generated_from_dir: Option<Utf8PathBuf>,
) -> Result<CheckResult, anyhow::Error> {
let env = env.resolve(None)?;
let blessed_source = BlessedSourceArgs {
blessed_from_vcs: None,
blessed_from_vcs_path: None,
blessed_from_dir: None,
}
.to_blessed_source(&env)?;
let generated_source =
GeneratedSource::from(GeneratedSourceArgs { generated_from_dir });
let output = OutputOpts { color: clap::ColorChoice::Auto };
check_impl(apis, &env, &blessed_source, &generated_source, &output)
}