Skip to content

Commit bf32d90

Browse files
committed
Remove option to use wasm-opt CLI
1 parent 91b6dc5 commit bf32d90

File tree

4 files changed

+41
-327
lines changed

4 files changed

+41
-327
lines changed

Cargo.lock

+6-6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/cargo-contract/Cargo.toml

+2-4
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@ serde_json = "1.0.85"
4040
tempfile = "3.3.0"
4141
url = { version = "2.3.1", features = ["serde"] }
4242
impl-serde = "0.4.0"
43-
regex = "1.6.0"
44-
wasm-opt = { version = "0.110.0", optional = true }
43+
wasm-opt = "0.110.0"
4544

4645
# dependencies for extrinsics (deploying and calling a contract)
4746
async-std = { version = "1.12.0", features = ["attributes", "tokio1"] }
@@ -71,9 +70,8 @@ predicates = "2.1.1"
7170
[features]
7271
# This `std` feature is required for testing using an inline contract's metadata, because `ink!` annotates the metadata
7372
# generation code with `#[cfg(feature = "std")]`.
74-
default = ["std", "integrated-wasm-opt"]
73+
default = ["std"]
7574
std = []
76-
integrated-wasm-opt = ["wasm-opt"]
7775

7876
# Enable this to execute long running tests, which usually are only run on the CI server
7977
#

crates/cargo-contract/src/main.rs

+23
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ use std::{
5050
str::FromStr,
5151
};
5252

53+
use ::wasm_opt::OptimizationOptions;
5354
use anyhow::{
5455
anyhow,
5556
Error,
@@ -71,6 +72,12 @@ use assert_cmd as _;
7172
#[cfg(test)]
7273
use predicates as _;
7374

75+
#[cfg(test)]
76+
use regex as _;
77+
78+
// Only used on windows.
79+
use which as _;
80+
7481
#[derive(Debug, Parser)]
7582
#[clap(bin_name = "cargo")]
7683
#[clap(version = env!("CARGO_CONTRACT_CLI_IMPL_VERSION"))]
@@ -158,6 +165,22 @@ impl From<String> for OptimizationPasses {
158165
}
159166
}
160167

168+
impl From<OptimizationPasses> for OptimizationOptions {
169+
fn from(passes: OptimizationPasses) -> OptimizationOptions {
170+
match passes {
171+
OptimizationPasses::Zero => OptimizationOptions::new_opt_level_0(),
172+
OptimizationPasses::One => OptimizationOptions::new_opt_level_1(),
173+
OptimizationPasses::Two => OptimizationOptions::new_opt_level_2(),
174+
OptimizationPasses::Three => OptimizationOptions::new_opt_level_3(),
175+
OptimizationPasses::Four => OptimizationOptions::new_opt_level_4(),
176+
OptimizationPasses::S => OptimizationOptions::new_optimize_for_size(),
177+
OptimizationPasses::Z => {
178+
OptimizationOptions::new_optimize_for_size_aggressively()
179+
}
180+
}
181+
}
182+
}
183+
161184
#[derive(Default, Clone, Debug, Args)]
162185
pub struct VerbosityFlags {
163186
/// No output printed to stdout

0 commit comments

Comments
 (0)