use std::path::PathBuf;
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct ScannedPackage {
pub name: String,
pub root: PathBuf,
pub license: Option<String>,
}
impl ScannedPackage {
pub fn new(name: &str, root: PathBuf, license: Option<String>) -> Self {
Self {
name: name.to_string(),
root,
license,
}
}
pub fn agreed_license(packages: &[Self]) -> Option<String> {
let first = packages.first()?.license.as_ref()?;
packages
.iter()
.all(|package| package.license.as_ref() == Some(first))
.then(|| first.clone())
}
}