diff --git a/cargo-near/src/commands/build_command/build.rs b/cargo-near/src/commands/build_command/build.rs index 57a54719..4efd4b25 100644 --- a/cargo-near/src/commands/build_command/build.rs +++ b/cargo-near/src/commands/build_command/build.rs @@ -40,6 +40,8 @@ pub fn run(args: super::BuildCommand) -> color_eyre::eyre::Result::new(); + if !args.no_release { cargo_args.push("--release"); } @@ -70,9 +72,24 @@ pub fn run(args: super::BuildCommand) -> color_eyre::eyre::Result, + /// Set compile-time feature flags. + #[interactive_clap(long)] + #[interactive_clap(skip_interactive_input)] + pub features: Option, + /// Disables default feature flags. + #[interactive_clap(long)] + #[interactive_clap(skip_interactive_input)] + pub no_default_features: bool, /// Coloring: auto, always, never #[interactive_clap(long)] #[interactive_clap(value_enum)] @@ -46,6 +54,8 @@ impl BuildCommandlContext { no_doc: scope.no_doc, out_dir: scope.out_dir.clone(), manifest_path: scope.manifest_path.clone(), + features: scope.features.clone(), + no_default_features: scope.no_default_features, color: scope.color.clone(), }; self::build::run(args)?; diff --git a/cargo-near/src/commands/deploy/mod.rs b/cargo-near/src/commands/deploy/mod.rs index 6fcec916..abca1bf1 100644 --- a/cargo-near/src/commands/deploy/mod.rs +++ b/cargo-near/src/commands/deploy/mod.rs @@ -67,6 +67,8 @@ impl interactive_clap::FromCli for Contract { no_doc: cli_build_command_args.no_doc, out_dir: cli_build_command_args.out_dir.clone(), manifest_path: cli_build_command_args.manifest_path.clone(), + features: cli_build_command_args.features.clone(), + no_default_features: cli_build_command_args.no_default_features, color: cli_build_command_args.color.clone(), } } else { diff --git a/integration-tests/src/lib.rs b/integration-tests/src/lib.rs index 9a57e469..9374935e 100644 --- a/integration-tests/src/lib.rs +++ b/integration-tests/src/lib.rs @@ -79,6 +79,8 @@ macro_rules! invoke_cargo_near { no_doc: cmd.no_doc, out_dir: cmd.out_dir, manifest_path: Some(cargo_path.into()), + features: cmd.features, + no_default_features: cmd.no_default_features, color: cmd.color, }; cargo_near::commands::build_command::build::run(args)?;