From bf205eaaab4896adb7d2d7ba3e1f1c73f93cceb5 Mon Sep 17 00:00:00 2001 From: Zeke Foppa Date: Tue, 18 Nov 2025 11:37:19 -0800 Subject: [PATCH 1/2] [bfops/fix-hanging-generate]: Fix `spacetime generate` running `dotnet format` in the wrong directory --- crates/cli/src/subcommands/generate.rs | 6 +++--- crates/cli/src/tasks/csharp.rs | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/crates/cli/src/subcommands/generate.rs b/crates/cli/src/subcommands/generate.rs index c090baa046a..5f6d935bfc5 100644 --- a/crates/cli/src/subcommands/generate.rs +++ b/crates/cli/src/subcommands/generate.rs @@ -252,7 +252,7 @@ pub async fn exec_ex( } } - if let Err(err) = lang.format_files(paths) { + if let Err(err) = lang.format_files(out_dir, paths) { // If we couldn't format the files, print a warning but don't fail the entire // task as the output should still be usable, just less pretty. eprintln!("Could not format generated files: {err}"); @@ -285,10 +285,10 @@ impl clap::ValueEnum for Language { } impl Language { - fn format_files(&self, generated_files: BTreeSet) -> anyhow::Result<()> { + fn format_files(&self, project_dir: &PathBuf, generated_files: BTreeSet) -> anyhow::Result<()> { match self { Language::Rust => rustfmt(generated_files)?, - Language::Csharp => dotnet_format(generated_files)?, + Language::Csharp => dotnet_format(project_dir, generated_files)?, Language::TypeScript => { // TODO: implement formatting. } diff --git a/crates/cli/src/tasks/csharp.rs b/crates/cli/src/tasks/csharp.rs index 349bdfcd1bd..8d958fc7413 100644 --- a/crates/cli/src/tasks/csharp.rs +++ b/crates/cli/src/tasks/csharp.rs @@ -108,7 +108,7 @@ pub(crate) fn build_csharp(project_path: &Path, build_debug: bool) -> anyhow::Re anyhow::bail!("Built project successfully but couldn't find the output file."); } -pub(crate) fn dotnet_format(files: impl IntoIterator) -> anyhow::Result<()> { +pub(crate) fn dotnet_format(project_dir: &PathBuf, files: impl IntoIterator) -> anyhow::Result<()> { duct::cmd( "dotnet", itertools::chain( @@ -128,6 +128,7 @@ pub(crate) fn dotnet_format(files: impl IntoIterator) -> anyhow: files.into_iter().map_into(), ), ) + .dir(project_dir) .run()?; Ok(()) } From 144687e0ebb4cec54025dcfc62ab3c3ddcbc825b Mon Sep 17 00:00:00 2001 From: Zeke Foppa Date: Tue, 18 Nov 2025 11:41:21 -0800 Subject: [PATCH 2/2] [bfops/fix-hanging-generate]: comment --- crates/cli/src/tasks/csharp.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/crates/cli/src/tasks/csharp.rs b/crates/cli/src/tasks/csharp.rs index 8d958fc7413..8a18f8ed55a 100644 --- a/crates/cli/src/tasks/csharp.rs +++ b/crates/cli/src/tasks/csharp.rs @@ -128,6 +128,7 @@ pub(crate) fn dotnet_format(project_dir: &PathBuf, files: impl IntoIterator