aboutsummaryrefslogtreecommitdiff
path: root/xtask/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'xtask/src/main.rs')
-rw-r--r--xtask/src/main.rs29
1 files changed, 21 insertions, 8 deletions
diff --git a/xtask/src/main.rs b/xtask/src/main.rs
index f7a79362d..b69b884e5 100644
--- a/xtask/src/main.rs
+++ b/xtask/src/main.rs
@@ -13,11 +13,12 @@ use std::env;
13use pico_args::Arguments; 13use pico_args::Arguments;
14use xtask::{ 14use xtask::{
15 codegen::{self, Mode}, 15 codegen::{self, Mode},
16 dist::run_dist, 16 dist::DistCmd,
17 install::{ClientOpt, InstallCmd, ServerOpt}, 17 install::{ClientOpt, InstallCmd, Malloc, ServerOpt},
18 metrics::MetricsCmd,
18 not_bash::pushd, 19 not_bash::pushd,
19 pre_commit, project_root, 20 pre_commit, project_root,
20 release::ReleaseCmd, 21 release::{PromoteCmd, ReleaseCmd},
21 run_clippy, run_fuzzer, run_pre_cache, run_rustfmt, Result, 22 run_clippy, run_fuzzer, run_pre_cache, run_rustfmt, Result,
22}; 23};
23 24
@@ -45,7 +46,7 @@ USAGE:
45FLAGS: 46FLAGS:
46 --client-code Install only VS Code plugin 47 --client-code Install only VS Code plugin
47 --server Install only the language server 48 --server Install only the language server
48 --jemalloc Use jemalloc for server 49 --mimalloc Use mimalloc for server
49 -h, --help Prints help information 50 -h, --help Prints help information
50 " 51 "
51 ); 52 );
@@ -61,13 +62,14 @@ FLAGS:
61 return Ok(()); 62 return Ok(());
62 } 63 }
63 64
64 let jemalloc = args.contains("--jemalloc"); 65 let malloc =
66 if args.contains("--mimalloc") { Malloc::Mimalloc } else { Malloc::System };
65 67
66 args.finish()?; 68 args.finish()?;
67 69
68 InstallCmd { 70 InstallCmd {
69 client: if server { None } else { Some(ClientOpt::VsCode) }, 71 client: if server { None } else { Some(ClientOpt::VsCode) },
70 server: if client_code { None } else { Some(ServerOpt { jemalloc }) }, 72 server: if client_code { None } else { Some(ServerOpt { malloc }) },
71 } 73 }
72 .run() 74 .run()
73 } 75 }
@@ -105,11 +107,21 @@ FLAGS:
105 args.finish()?; 107 args.finish()?;
106 ReleaseCmd { dry_run }.run() 108 ReleaseCmd { dry_run }.run()
107 } 109 }
110 "promote" => {
111 let dry_run = args.contains("--dry-run");
112 args.finish()?;
113 PromoteCmd { dry_run }.run()
114 }
108 "dist" => { 115 "dist" => {
109 let nightly = args.contains("--nightly"); 116 let nightly = args.contains("--nightly");
110 let client_version: Option<String> = args.opt_value_from_str("--client")?; 117 let client_version: Option<String> = args.opt_value_from_str("--client")?;
111 args.finish()?; 118 args.finish()?;
112 run_dist(nightly, client_version) 119 DistCmd { nightly, client_version }.run()
120 }
121 "metrics" => {
122 let dry_run = args.contains("--dry-run");
123 args.finish()?;
124 MetricsCmd { dry_run }.run()
113 } 125 }
114 _ => { 126 _ => {
115 eprintln!( 127 eprintln!(
@@ -127,7 +139,8 @@ SUBCOMMANDS:
127 codegen 139 codegen
128 install 140 install
129 lint 141 lint
130 dist" 142 dist
143 promote"
131 ); 144 );
132 Ok(()) 145 Ok(())
133 } 146 }