use crate::core::lock::Artifact;
pub fn select_artifact<'a>(artifacts: &'a [Artifact], platform: &str) -> Option<&'a Artifact> {
if let Some(art) = artifacts.iter().find(|a| a.platform == platform) {
return Some(art);
}
match platform {
"macosx_arm64" => {
if let Some(art) = artifacts.iter().find(|a| a.platform == "macosx_x86_64") {
return Some(art);
}
}
"manylinux_aarch64" => {
if let Some(art) = artifacts.iter().find(|a| a.platform == "manylinux") {
return Some(art);
}
}
_ => {}
}
if let Some(art) = artifacts.iter().find(|a| a.platform == "any") {
return Some(art);
}
artifacts
.iter()
.find(|a| a.platform == "source" || a.filename.ends_with(".tar.gz"))
}