serverust_cli/
commands.rs1use std::path::Path;
2use std::process::Command;
3
4use crate::cli::Arch;
5
6pub fn build_cargo_command(release: bool) -> Command {
8 let mut cmd = Command::new("cargo");
9 cmd.arg("build");
10 if release {
11 cmd.arg("--release");
12 }
13 cmd
14}
15
16pub fn dev_cargo_command() -> Command {
18 let mut cmd = Command::new("cargo");
19 cmd.arg("watch").arg("-x").arg("run");
20 cmd
21}
22
23pub fn deploy_lambda_cargo_command(arch: Arch) -> Command {
25 let mut cmd = Command::new("cargo");
26 cmd.arg("lambda").arg("deploy");
27 match arch {
28 Arch::Arm64 => cmd.arg("--arm64"),
29 Arch::X86_64 => cmd.arg("--x86-64"),
30 };
31 cmd
32}
33
34pub fn openapi_export_command(out: &Path) -> Command {
38 let mut cmd = Command::new("cargo");
39 cmd.arg("run")
40 .arg("--quiet")
41 .arg("--")
42 .arg("--serverust-emit-openapi")
43 .arg(out);
44 cmd
45}
46
47pub fn info_text() -> String {
52 let framework_features = ["otel (opt-in)", "dynamodb (opt-in)"];
53 format!(
54 "serverust-cli {version}\narch: {arch}\nframework features: {features}",
55 version = env!("CARGO_PKG_VERSION"),
56 arch = std::env::consts::ARCH,
57 features = framework_features.join(", "),
58 )
59}