From 272a73cae03d7c5ae22ff94b935a1d37f437ebef Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Tue, 2 Nov 2021 22:37:56 +0100 Subject: driver: recipe: derive version number from filename --- crates/driver/src/recipe.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/crates/driver/src/recipe.rs b/crates/driver/src/recipe.rs index 0121800..745e2f6 100644 --- a/crates/driver/src/recipe.rs +++ b/crates/driver/src/recipe.rs @@ -60,10 +60,14 @@ pub fn read_recipes>(path: P) -> Result> continue; } - let basename: &str = match path.file_stem().map(|n| n.to_str()) { + let stem: &str = match path.file_stem().map(|n| n.to_str()) { Some(Some(v)) => v, _ => continue, }; + let (basename, version) = match stem.split_once("@") { + Some((basename, version)) => (basename, Some(version)), + None => (stem, None), + }; let recipe = CURRENT_RECIPE.set(basename, || read_recipe(path))?; @@ -71,6 +75,9 @@ pub fn read_recipes>(path: P) -> Result> if meta.name.is_empty() { meta.name = basename.to_string(); } + if meta.version.is_none() { + meta.version = version.map(|v| v.to_string()); + } for (label, mut task) in recipe.tasks { let task_id = TaskID { -- cgit v1.2.3