From 7f52c52389a6eea4af31430df242a621e2537c94 Mon Sep 17 00:00:00 2001 From: raphael-goetz Date: Thu, 27 Nov 2025 21:14:03 +0100 Subject: [PATCH 1/2] dependencies: updated to latest tucana version --- Cargo.lock | 4 ++-- Cargo.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 0bbf67e..f50c61b 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1873,9 +1873,9 @@ dependencies = [ [[package]] name = "tucana" -version = "0.0.42" +version = "0.0.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22ab56226ccbbda9b2bd7505d4296712a2e0757254fbe601c30785ae9e2d09e6" +checksum = "a97d0f9945f8993b62cef0504a8a874651f1ab56cb63307c20db9402e83ed0ad" dependencies = [ "pbjson", "pbjson-build", diff --git a/Cargo.toml b/Cargo.toml index 9ec1eca..153e5d9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ homepage = "https://code0.tech" license = "Apache-2.0" [dependencies] -tucana = { version = "0.0.42", features = ["aquila"] } +tucana = { version = "0.0.43", features = ["aquila"] } async-trait = "0.1.85" log = "0.4.24" tonic = "0.14.1" From 8c128e195783b3dc24ec7af26a9e5aa9473aec5f Mon Sep 17 00:00:00 2001 From: raphael-goetz Date: Thu, 27 Nov 2025 21:25:34 +0100 Subject: [PATCH 2/2] feat: updated Version comparison --- src/flow_definition/feature/version.rs | 35 ++++++-------------------- src/flow_definition/mod.rs | 12 +++------ 2 files changed, 11 insertions(+), 36 deletions(-) diff --git a/src/flow_definition/feature/version.rs b/src/flow_definition/feature/version.rs index ef1c098..f079301 100644 --- a/src/flow_definition/feature/version.rs +++ b/src/flow_definition/feature/version.rs @@ -1,50 +1,29 @@ -use tucana::shared::{DefinitionDataType, FlowType, RuntimeFunctionDefinition, Version}; +use tucana::shared::{DefinitionDataType, FlowType, RuntimeFunctionDefinition}; pub trait HasVersion { - fn version(&self) -> &Option; - fn version_mut(&mut self) -> &mut Option; + fn version(&self) -> &String; - fn normalize_version(&mut self) { - self.version_mut().get_or_insert(Version { - major: 0, - minor: 0, - patch: 0, - }); - } - - fn is_accepted(&self, filter: &Option) -> bool { + fn is_accepted(&self, filter: &Option) -> bool { filter .as_ref() - .is_none_or(|v| self.version().as_ref() == Some(v)) + .is_none_or(|v| self.version() == v) } } impl HasVersion for DefinitionDataType { - fn version(&self) -> &Option { + fn version(&self) -> &String { &self.version } - - fn version_mut(&mut self) -> &mut Option { - &mut self.version - } } impl HasVersion for FlowType { - fn version(&self) -> &Option { + fn version(&self) -> &String { &self.version } - - fn version_mut(&mut self) -> &mut Option { - &mut self.version - } } impl HasVersion for RuntimeFunctionDefinition { - fn version(&self) -> &Option { + fn version(&self) -> &String { &self.version } - - fn version_mut(&mut self) -> &mut Option { - &mut self.version - } } diff --git a/src/flow_definition/mod.rs b/src/flow_definition/mod.rs index 5f503c6..9ace181 100644 --- a/src/flow_definition/mod.rs +++ b/src/flow_definition/mod.rs @@ -3,17 +3,17 @@ mod feature; use crate::flow_definition::error::ReaderError; use crate::flow_definition::feature::Feature; -use crate::flow_definition::feature::version::HasVersion; use serde::de::DeserializeOwned; use std::fs; use std::path::Path; -use tucana::shared::{DefinitionDataType, FlowType, RuntimeFunctionDefinition, Version}; +use tucana::shared::{DefinitionDataType, FlowType, RuntimeFunctionDefinition}; use walkdir::WalkDir; +use crate::flow_definition::feature::version::HasVersion; pub struct Reader { should_break: bool, accepted_features: Vec, - accepted_version: Option, + accepted_version: Option, path: String, } @@ -22,7 +22,7 @@ impl Reader { path: String, should_break: bool, accepted_features: Vec, - accepted_version: Option, + accepted_version: Option, ) -> Self { Self { should_break, @@ -180,10 +180,6 @@ impl Reader { let items = raw .into_iter() - .map(|mut v| { - v.normalize_version(); - v - }) .filter(|v| v.is_accepted(&self.accepted_version)) .collect();