diff --git a/crates/aiken-project/src/watch.rs b/crates/aiken-project/src/watch.rs index 8f54eae7..c96f611d 100644 --- a/crates/aiken-project/src/watch.rs +++ b/crates/aiken-project/src/watch.rs @@ -91,6 +91,7 @@ pub fn default_filter(evt: &Event) -> bool { pub fn with_project( directory: Option<&Path>, deny: bool, + silent: bool, json: bool, mut action: A, ) -> miette::Result<()> @@ -122,9 +123,11 @@ where let warning_count = warnings.len(); if !json { - for warning in &warnings { - eprintln!(); - warning.report() + if !silent { + for warning in &warnings { + eprintln!(); + warning.report() + } } if let Err(errs) = build_result { @@ -156,7 +159,7 @@ where } } - if warning_count > 0 && deny { + if warning_count > 0 && deny && !silent { Err(ExitFailure::into_report()) } else { Ok(()) @@ -249,7 +252,7 @@ where .if_supports_color(Stderr, |s| s.bold()) .if_supports_color(Stderr, |s| s.purple()), ); - with_project(directory, false, false, &mut action).unwrap_or(()) + with_project(directory, false, false, false, &mut action).unwrap_or(()) } } } diff --git a/crates/aiken/src/cmd/benchmark.rs b/crates/aiken/src/cmd/benchmark.rs index 3b09a928..6183d0cd 100644 --- a/crates/aiken/src/cmd/benchmark.rs +++ b/crates/aiken/src/cmd/benchmark.rs @@ -89,6 +89,7 @@ pub fn exec( let result = with_project( directory.as_deref(), false, + false, !io::stdout().is_terminal(), |p| { p.benchmark( diff --git a/crates/aiken/src/cmd/blueprint/address.rs b/crates/aiken/src/cmd/blueprint/address.rs index 955f5111..c061893d 100644 --- a/crates/aiken/src/cmd/blueprint/address.rs +++ b/crates/aiken/src/cmd/blueprint/address.rs @@ -46,7 +46,7 @@ pub fn exec( mainnet, }: Args, ) -> miette::Result<()> { - with_project(directory.as_deref(), false, false, |p| { + with_project(directory.as_deref(), false, false, false, |p| { let address = p.address( module.as_deref(), validator.as_deref(), diff --git a/crates/aiken/src/cmd/blueprint/apply.rs b/crates/aiken/src/cmd/blueprint/apply.rs index c18e675f..c31e5a58 100644 --- a/crates/aiken/src/cmd/blueprint/apply.rs +++ b/crates/aiken/src/cmd/blueprint/apply.rs @@ -62,7 +62,7 @@ pub fn exec( validator, }: Args, ) -> miette::Result<()> { - with_project(None, false, false, |p| { + with_project(None, false, false, false, |p| { eprintln!( "{} blueprint", " Analyzing" diff --git a/crates/aiken/src/cmd/blueprint/hash.rs b/crates/aiken/src/cmd/blueprint/hash.rs index 41c76c5e..c7d82850 100644 --- a/crates/aiken/src/cmd/blueprint/hash.rs +++ b/crates/aiken/src/cmd/blueprint/hash.rs @@ -36,7 +36,7 @@ pub fn exec( validator, }: Args, ) -> miette::Result<()> { - with_project(directory.as_deref(), false, false, |p| { + with_project(directory.as_deref(), false, false, false, |p| { let address = p.address( module.as_deref(), validator.as_deref(), diff --git a/crates/aiken/src/cmd/blueprint/policy.rs b/crates/aiken/src/cmd/blueprint/policy.rs index da510a39..d5959128 100644 --- a/crates/aiken/src/cmd/blueprint/policy.rs +++ b/crates/aiken/src/cmd/blueprint/policy.rs @@ -36,7 +36,7 @@ pub fn exec( validator, }: Args, ) -> miette::Result<()> { - with_project(directory.as_deref(), false, false, |p| { + with_project(directory.as_deref(), false, false, false, |p| { let policy = p.policy( module.as_deref(), validator.as_deref(), diff --git a/crates/aiken/src/cmd/build.rs b/crates/aiken/src/cmd/build.rs index eb64a16b..60ca8965 100644 --- a/crates/aiken/src/cmd/build.rs +++ b/crates/aiken/src/cmd/build.rs @@ -13,6 +13,10 @@ pub struct Args { #[clap(short = 'D', long)] deny: bool, + /// Silence warnings; warnings will not be printed + #[clap(short = 'S', long)] + silent: bool, + /// When enabled, re-run the command on file changes instead of exiting #[clap(short, long)] watch: bool, @@ -75,6 +79,7 @@ pub fn exec( Args { directory, deny, + silent, watch, uplc, trace_filter, @@ -96,7 +101,7 @@ pub fn exec( ) }) } else { - with_project(directory.as_deref(), deny, false, |p| { + with_project(directory.as_deref(), deny, silent, false, |p| { p.build( uplc, match trace_filter { diff --git a/crates/aiken/src/cmd/check.rs b/crates/aiken/src/cmd/check.rs index ef96c771..2b122473 100644 --- a/crates/aiken/src/cmd/check.rs +++ b/crates/aiken/src/cmd/check.rs @@ -35,6 +35,10 @@ pub struct Args { #[clap(short = 'D', long)] deny: bool, + /// Silence warnings; warnings will not be printed + #[clap(short = 'S', long)] + silent: bool, + /// Skip tests; run only the type-checker #[clap(short, long)] skip_tests: bool, @@ -108,6 +112,7 @@ pub fn exec( Args { directory, deny, + silent, skip_tests, debug, show_json_schema, @@ -150,6 +155,7 @@ pub fn exec( with_project( directory.as_deref(), deny, + silent, !io::stdout().is_terminal(), |p| { p.check( diff --git a/crates/aiken/src/cmd/docs.rs b/crates/aiken/src/cmd/docs.rs index b17c0c35..3f0b898f 100644 --- a/crates/aiken/src/cmd/docs.rs +++ b/crates/aiken/src/cmd/docs.rs @@ -11,6 +11,10 @@ pub struct Args { #[clap(short = 'D', long)] deny: bool, + /// Silence warnings; warnings will not be printed + #[clap(short = 'S', long)] + silent: bool, + /// When enabled, re-run the command on file changes instead of exiting #[clap(short, long)] watch: bool, @@ -28,6 +32,7 @@ pub fn exec( Args { directory, deny, + silent, watch, destination, include_dependencies, @@ -38,7 +43,7 @@ pub fn exec( p.docs(destination.clone(), include_dependencies) }) } else { - with_project(directory.as_deref(), deny, false, |p| { + with_project(directory.as_deref(), deny, silent, false, |p| { p.docs(destination.clone(), include_dependencies) }) }; diff --git a/crates/aiken/src/cmd/export.rs b/crates/aiken/src/cmd/export.rs index 902820e5..8f7c150f 100644 --- a/crates/aiken/src/cmd/export.rs +++ b/crates/aiken/src/cmd/export.rs @@ -61,7 +61,7 @@ pub fn exec( trace_level, }: Args, ) -> miette::Result<()> { - with_project(directory.as_deref(), false, false, |p| { + with_project(directory.as_deref(), false, false, false, |p| { p.compile(Options::default())?; let export = p.export(