From 302a24afb2385dcbb161e331cce2ce0826c3c61a Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Wed, 3 Nov 2021 17:04:34 +0100 Subject: driver: change task reference string syntax to recipe:task@version/host:target --- crates/driver/src/context.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/crates/driver/src/context.rs b/crates/driver/src/context.rs index 1c8c0bd..9789e31 100644 --- a/crates/driver/src/context.rs +++ b/crates/driver/src/context.rs @@ -86,15 +86,19 @@ impl<'ctx> Display for TaskRef<'ctx> { write!(f, "{}", self.id.recipe)?; if let Some(pv) = pv_arg { - write!(f, "-{}", pv)?; + write!(f, "@{}", pv)?; } write!(f, ":{}", self.id.task)?; + if host_arg.is_some() || target_arg.is_some() { + write!(f, "/")?; + } + if let Some(host) = host_arg { - write!(f, "@{}", host.short)?; + write!(f, "{}", host.short)?; } if let Some(target) = target_arg { - write!(f, "/{}", target.short)?; + write!(f, ":{}", target.short)?; } Ok(()) } @@ -331,7 +335,7 @@ impl Context { pub fn parse<'ctx>(&'ctx self, s: &str) -> error::Result { lazy_static! { static ref RE: Regex = Regex::new( - r"^(?P[[:word:]-]+):(?P[[:word:]-]+)(?:@(?P[[:word:]-]+))?(?:/(?P[[:word:]-]+))?$", + r"^(?P[[:word:]-]+):(?P[[:word:]-]+)(?:/(?P[[:word:]-]+)?(?::(?P[[:word:]-]+))?)?$", ).unwrap(); } -- cgit v1.2.3