From 6ea55caa85980c84d010de81711c52c1ea29752a Mon Sep 17 00:00:00 2001
From: Bernhard Schuster <bernhard@ahoi.io>
Date: Mon, 11 Oct 2021 18:59:45 +0200
Subject: [PATCH] overseer: simplify debugging some more (#4053)

* overseer: simplify debugging some more

* chore: undo gitignore change
---
 .../overseer/overseer-gen/proc-macro/build.rs  |  2 ++
 .../overseer-gen/proc-macro/src/lib.rs         | 18 ++++++++++++------
 2 files changed, 14 insertions(+), 6 deletions(-)
 create mode 100644 polkadot/node/overseer/overseer-gen/proc-macro/build.rs

diff --git a/polkadot/node/overseer/overseer-gen/proc-macro/build.rs b/polkadot/node/overseer/overseer-gen/proc-macro/build.rs
new file mode 100644
index 00000000000..ebc4e5d75ab
--- /dev/null
+++ b/polkadot/node/overseer/overseer-gen/proc-macro/build.rs
@@ -0,0 +1,2 @@
+/// A dummy build script, so `OUT_DIR` is set.
+fn main() {}
diff --git a/polkadot/node/overseer/overseer-gen/proc-macro/src/lib.rs b/polkadot/node/overseer/overseer-gen/proc-macro/src/lib.rs
index 1a0634b2972..1c7d32d6449 100644
--- a/polkadot/node/overseer/overseer-gen/proc-macro/src/lib.rs
+++ b/polkadot/node/overseer/overseer-gen/proc-macro/src/lib.rs
@@ -98,12 +98,12 @@ pub(crate) fn impl_overseer_gen(
 	additive.extend(impl_message_wrapper_enum(&info)?);
 	additive.extend(impl_dispatch(&info));
 
-	#[cfg(feature = "expansion")]
-	{
+	if cfg!(feature = "expansion") {
 		use std::io::Write;
 
-		let cwd = std::env::current_dir().unwrap();
-		let path: std::path::PathBuf = cwd.join("overlord-expansion.rs");
+		let out = env!("OUT_DIR");
+		let out = std::path::PathBuf::from(out);
+		let path = out.join("overlord-expansion.rs");
 		let mut f = std::fs::OpenOptions::new()
 			.write(true)
 			.create(true)
@@ -117,9 +117,15 @@ pub(crate) fn impl_overseer_gen(
 		std::process::Command::new("rustfmt")
 			.arg("--edition=2018")
 			.arg(&path)
-			.current_dir(cwd)
+			.current_dir(out)
 			.spawn()
 			.expect("Running rustfmt works. qed");
+
+		let path = path.display().to_string();
+		Ok(quote! {
+			include!( #path );
+		})
+	} else {
+		Ok(additive)
 	}
-	Ok(additive)
 }
-- 
GitLab