diff --git a/cargo-shuttle/src/args.rs b/cargo-shuttle/src/args.rs index cf5ed3be4..01e76a299 100644 --- a/cargo-shuttle/src/args.rs +++ b/cargo-shuttle/src/args.rs @@ -290,6 +290,9 @@ pub struct RunArgs { #[command(flatten)] pub secret_args: SecretsArgs, + + #[arg(long)] + pub quiet: bool, } #[derive(Parser, Debug, Default)] diff --git a/cargo-shuttle/src/lib.rs b/cargo-shuttle/src/lib.rs index f85305c7f..7773c526f 100644 --- a/cargo-shuttle/src/lib.rs +++ b/cargo-shuttle/src/lib.rs @@ -1116,6 +1116,13 @@ impl Shuttle { service: &BuiltService, idx: u16, ) -> Result> { + macro_rules! println { + ($($rest:tt)*) => { + if !std::env::args().any(|arg| arg == "--quiet") { + std::println!($($rest)*); + } + } + } let secrets_file = run_args.secret_args.secrets.clone().or_else(|| { let crate_dir = service.crate_directory(); // Prioritise crate-local prod secrets over workspace dev secrets (in the rare case that both exist) diff --git a/common-tests/src/cargo_shuttle.rs b/common-tests/src/cargo_shuttle.rs index 9414f6142..7f55de58f 100644 --- a/common-tests/src/cargo_shuttle.rs +++ b/common-tests/src/cargo_shuttle.rs @@ -31,6 +31,7 @@ pub async fn cargo_shuttle_run(working_directory: &str, external: bool) -> Strin external, release: false, raw: false, + quiet: false, secret_args: Default::default(), };