From f404f597c157d3d89cc31924bb44896fee510c7d Mon Sep 17 00:00:00 2001 From: Niklas Kapelle Date: Sun, 22 Mar 2026 14:25:27 +0100 Subject: [PATCH] fixed fomod plugin type deps --- src/fomod.rs | 3 ++- src/mod_config_installer.rs | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/fomod.rs b/src/fomod.rs index 3cfa0f9..65b0c53 100644 --- a/src/fomod.rs +++ b/src/fomod.rs @@ -118,6 +118,7 @@ pub enum PluginTypeDescriptorEnum { #[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq, PartialOrd, Ord, Hash)] pub struct DependencyPluginType { + #[serde(rename = "defaultType")] pub default_type: PluginType, pub patterns: DependencyPatternList, } @@ -129,7 +130,7 @@ pub struct DependencyPatternList { #[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq, PartialOrd, Ord, Hash)] pub struct DependencyPattern { - pub dependencies: CompositeDependency, + pub dependencies: Vec, #[serde(rename = "type")] pub typ: PluginType, } diff --git a/src/mod_config_installer.rs b/src/mod_config_installer.rs index cedcae8..40d7f6e 100644 --- a/src/mod_config_installer.rs +++ b/src/mod_config_installer.rs @@ -176,7 +176,11 @@ fn resolve_plugin_type( PluginTypeDescriptorEnum::PluginType(plugin_type) => plugin_type.name, PluginTypeDescriptorEnum::DependencyType(dependency_plugin_type) => { for dep in &dependency_plugin_type.patterns.pattern { - if evaluate_dependency(&dep.dependencies, state, installed_plugins) { + if dep + .dependencies + .iter() + .all(|e| evaluate_dependency(e, state, installed_plugins)) + { return dep.typ.name; } }