use crate::cli::validate::command::OutputFormat;
use crate::cli::validate::results::ValidationResults;
use crate::manifest::Manifest;
pub struct ValidationContext<'a> {
pub manifest: &'a Manifest,
pub format: &'a OutputFormat,
pub verbose: bool,
pub quiet: bool,
pub validation_results: &'a mut ValidationResults,
pub warnings: &'a mut Vec<String>,
pub errors: &'a mut Vec<String>,
}
impl<'a> ValidationContext<'a> {
pub fn new(
manifest: &'a Manifest,
format: &'a OutputFormat,
verbose: bool,
quiet: bool,
validation_results: &'a mut ValidationResults,
warnings: &'a mut Vec<String>,
errors: &'a mut Vec<String>,
) -> Self {
Self {
manifest,
format,
verbose,
quiet,
validation_results,
warnings,
errors,
}
}
pub fn print_verbose(&self, message: &str) {
if self.verbose && !self.quiet {
println!("{}", message);
}
}
pub fn print(&self, message: &str) {
if !self.quiet {
println!("{}", message);
}
}
}
pub mod dependencies;
pub mod lockfile;
pub mod manifest;
pub mod paths;
pub mod sources;
pub mod templates;
pub use dependencies::validate_dependencies;
pub use lockfile::validate_lockfile;
pub use manifest::validate_manifest;
pub use paths::validate_paths;
pub use sources::validate_sources;
pub use templates::validate_templates;