diff options
Diffstat (limited to 'xtask/src/main.rs')
-rw-r--r-- | xtask/src/main.rs | 29 |
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; | |||
13 | use pico_args::Arguments; | 13 | use pico_args::Arguments; |
14 | use xtask::{ | 14 | use 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: | |||
45 | FLAGS: | 46 | FLAGS: |
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 | } |