Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'xtask/src/install.rs')
-rw-r--r--xtask/src/install.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/xtask/src/install.rs b/xtask/src/install.rs
index 72e612f9e1..eb33d6f9be 100644
--- a/xtask/src/install.rs
+++ b/xtask/src/install.rs
@@ -15,6 +15,9 @@ impl flags::Install {
if let Some(server) = self.server() {
install_server(sh, server).context("install server")?;
}
+ if let Some(server) = self.proc_macro_server() {
+ install_proc_macro_server(sh, server).context("install proc-macro server")?;
+ }
if let Some(client) = self.client() {
install_client(sh, client).context("install client")?;
}
@@ -34,6 +37,10 @@ pub(crate) struct ServerOpt {
pub(crate) dev_rel: bool,
}
+pub(crate) struct ProcMacroServerOpt {
+ pub(crate) dev_rel: bool,
+}
+
fn fix_path_for_mac(sh: &Shell) -> anyhow::Result<()> {
let mut vscode_path: Vec<PathBuf> = {
const COMMON_APP_PATH: &str =
@@ -132,3 +139,11 @@ fn install_server(sh: &Shell, opts: ServerOpt) -> anyhow::Result<()> {
cmd.run()?;
Ok(())
}
+
+fn install_proc_macro_server(sh: &Shell, opts: ProcMacroServerOpt) -> anyhow::Result<()> {
+ let profile = if opts.dev_rel { "dev-rel" } else { "release" };
+
+ let cmd = cmd!(sh, "cargo +nightly install --path crates/proc-macro-srv-cli --profile={profile} --locked --force --features sysroot-abi");
+ cmd.run()?;
+ Ok(())
+}