mirror of
https://gitlab.com/gabmus/envision.git
synced 2025-08-28 13:15:59 +00:00
fix: refactor and optimize missing dependency filtering
This commit is contained in:
parent
4709a50483
commit
27d37198c7
8 changed files with 34 additions and 42 deletions
|
@ -1,7 +1,7 @@
|
|||
use super::{
|
||||
boost_deps::boost_deps,
|
||||
common::{dep_cmake, dep_eigen, dep_gpp, dep_libgl, dep_ninja, dep_opencv},
|
||||
DepType, Dependency, DependencyCheckResult,
|
||||
DepType, DepcheckResultGetMissing, Dependency, DependencyCheckResult,
|
||||
};
|
||||
use crate::linux_distro::LinuxDistro;
|
||||
use std::collections::HashMap;
|
||||
|
@ -181,9 +181,5 @@ pub fn check_basalt_deps() -> Vec<DependencyCheckResult> {
|
|||
}
|
||||
|
||||
pub fn get_missing_basalt_deps() -> Vec<Dependency> {
|
||||
check_basalt_deps()
|
||||
.iter()
|
||||
.filter(|res| !res.found)
|
||||
.map(|res| res.dependency.clone())
|
||||
.collect()
|
||||
check_basalt_deps().filter_missing_deps()
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use super::{
|
||||
common::{dep_cmake, dep_eigen, dep_gcc, dep_git, dep_gpp, dep_ninja},
|
||||
Dependency, DependencyCheckResult,
|
||||
DepcheckResultGetMissing, Dependency, DependencyCheckResult,
|
||||
};
|
||||
|
||||
fn libsurvive_deps() -> Vec<Dependency> {
|
||||
|
@ -19,9 +19,5 @@ pub fn check_libsurvive_deps() -> Vec<DependencyCheckResult> {
|
|||
}
|
||||
|
||||
pub fn get_missing_libsurvive_deps() -> Vec<Dependency> {
|
||||
check_libsurvive_deps()
|
||||
.iter()
|
||||
.filter(|res| !res.found)
|
||||
.map(|res| res.dependency.clone())
|
||||
.collect()
|
||||
check_libsurvive_deps().filter_missing_deps()
|
||||
}
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
use super::{common::dep_opencv, DepType, Dependency, DependencyCheckResult};
|
||||
use super::{
|
||||
common::dep_opencv, DepType, DepcheckResultGetMissing, Dependency, DependencyCheckResult,
|
||||
};
|
||||
use crate::linux_distro::LinuxDistro;
|
||||
use std::collections::HashMap;
|
||||
|
||||
|
@ -39,9 +41,5 @@ pub fn check_mercury_deps() -> Vec<DependencyCheckResult> {
|
|||
}
|
||||
|
||||
pub fn get_missing_mercury_deps() -> Vec<Dependency> {
|
||||
check_mercury_deps()
|
||||
.iter()
|
||||
.filter(|res| !res.found)
|
||||
.map(|res| res.dependency.clone())
|
||||
.collect()
|
||||
check_mercury_deps().filter_missing_deps()
|
||||
}
|
||||
|
|
|
@ -109,6 +109,24 @@ impl Display for DependencyCheckResult {
|
|||
}
|
||||
}
|
||||
|
||||
pub trait DepcheckResultGetMissing {
|
||||
fn filter_missing_deps(self) -> Vec<Dependency>;
|
||||
}
|
||||
|
||||
impl DepcheckResultGetMissing for Vec<DependencyCheckResult> {
|
||||
fn filter_missing_deps(self) -> Vec<Dependency> {
|
||||
self.into_iter()
|
||||
.filter_map(|res| {
|
||||
if !res.found {
|
||||
Some(res.dependency)
|
||||
} else {
|
||||
None
|
||||
}
|
||||
})
|
||||
.collect()
|
||||
}
|
||||
}
|
||||
|
||||
fn shared_obj_paths() -> Vec<String> {
|
||||
vec![
|
||||
"/lib".into(),
|
||||
|
|
|
@ -4,7 +4,7 @@ use super::{
|
|||
dep_libgl, dep_libudev, dep_libx11, dep_libxcb, dep_ninja, dep_openxr, dep_vulkan_headers,
|
||||
dep_vulkan_icd_loader,
|
||||
},
|
||||
DepType, Dependency, DependencyCheckResult,
|
||||
DepType, DepcheckResultGetMissing, Dependency, DependencyCheckResult,
|
||||
};
|
||||
use crate::{depcheck::common::dep_libxrandr, linux_distro::LinuxDistro};
|
||||
use std::collections::HashMap;
|
||||
|
@ -131,9 +131,5 @@ pub fn check_monado_deps() -> Vec<DependencyCheckResult> {
|
|||
}
|
||||
|
||||
pub fn get_missing_monado_deps() -> Vec<Dependency> {
|
||||
check_monado_deps()
|
||||
.iter()
|
||||
.filter(|res| !res.found)
|
||||
.map(|res| res.dependency.clone())
|
||||
.collect()
|
||||
check_monado_deps().filter_missing_deps()
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
use super::{
|
||||
common::{dep_gcc, dep_git, dep_gpp, dep_ninja},
|
||||
Dependency, DependencyCheckResult,
|
||||
DepcheckResultGetMissing, Dependency, DependencyCheckResult,
|
||||
};
|
||||
use crate::linux_distro::LinuxDistro;
|
||||
use std::collections::HashMap;
|
||||
|
@ -31,9 +31,5 @@ pub fn check_openhmd_deps() -> Vec<DependencyCheckResult> {
|
|||
}
|
||||
|
||||
pub fn get_missing_openhmd_deps() -> Vec<Dependency> {
|
||||
check_openhmd_deps()
|
||||
.iter()
|
||||
.filter(|res| !res.found)
|
||||
.map(|res| res.dependency.clone())
|
||||
.collect()
|
||||
check_openhmd_deps().filter_missing_deps()
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@ use super::{
|
|||
dep_libudev, dep_libx11, dep_libxcb, dep_ninja, dep_openxr, dep_vulkan_headers,
|
||||
dep_vulkan_icd_loader,
|
||||
},
|
||||
DepType, Dependency, DependencyCheckResult,
|
||||
DepType, DepcheckResultGetMissing, Dependency, DependencyCheckResult,
|
||||
};
|
||||
use crate::{
|
||||
depcheck::common::{dep_libgl, dep_libxrandr},
|
||||
|
@ -270,9 +270,5 @@ pub fn check_wivrn_deps() -> Vec<DependencyCheckResult> {
|
|||
}
|
||||
|
||||
pub fn get_missing_wivrn_deps() -> Vec<Dependency> {
|
||||
check_wivrn_deps()
|
||||
.iter()
|
||||
.filter(|res| !res.found)
|
||||
.map(|res| res.dependency.clone())
|
||||
.collect()
|
||||
check_wivrn_deps().filter_missing_deps()
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
use super::{DepType, Dependency, DependencyCheckResult};
|
||||
use super::{DepType, DepcheckResultGetMissing, Dependency, DependencyCheckResult};
|
||||
use crate::linux_distro::LinuxDistro;
|
||||
use std::collections::HashMap;
|
||||
|
||||
|
@ -49,9 +49,5 @@ pub fn check_xrizer_deps() -> Vec<DependencyCheckResult> {
|
|||
}
|
||||
|
||||
pub fn get_missing_xrizer_deps() -> Vec<Dependency> {
|
||||
check_xrizer_deps()
|
||||
.iter()
|
||||
.filter(|res| !res.found)
|
||||
.map(|res| res.dependency.clone())
|
||||
.collect()
|
||||
check_xrizer_deps().filter_missing_deps()
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue