From 52f2b3255781999fda28a2f6d3c94402c4b29fa9 Mon Sep 17 00:00:00 2001 From: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Date: Tue, 15 Jul 2025 13:07:29 +0200 Subject: [PATCH] extension_cli: Copy over snippet file when bundling extensions (#34450) Closes #30670 Release Notes: - Fixed snippets from extensions not working. --- crates/extension_cli/src/main.rs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/crates/extension_cli/src/main.rs b/crates/extension_cli/src/main.rs index 45a7e3b641..ab4a9cddb0 100644 --- a/crates/extension_cli/src/main.rs +++ b/crates/extension_cli/src/main.rs @@ -289,6 +289,24 @@ async fn copy_extension_resources( } } + if let Some(snippets_path) = manifest.snippets.as_ref() { + let parent = snippets_path.parent(); + if let Some(parent) = parent.filter(|p| p.components().next().is_some()) { + fs::create_dir_all(output_dir.join(parent))?; + } + copy_recursive( + fs.as_ref(), + &extension_path.join(&snippets_path), + &output_dir.join(&snippets_path), + CopyOptions { + overwrite: true, + ignore_if_exists: false, + }, + ) + .await + .with_context(|| format!("failed to copy snippets from '{}'", snippets_path.display()))?; + } + Ok(()) }