From 50634428915707b34b49bebe85efb48ca82b27ca Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Tue, 23 Jul 2024 16:43:38 -0500 Subject: [PATCH] Pull adapters from crates.io instead of vendoring (#323) Now that Wasmtime has releases to crates.io with the adapter artifacts use those instead of locally vendored builds to make updates a bit easier. --- Cargo.lock | 7 +++++ Cargo.toml | 1 + .../wasi_snapshot_preview1.command.wasm | Bin 80035 -> 0 bytes .../95fee6f/wasi_snapshot_preview1.proxy.wasm | Bin 28063 -> 0 bytes .../wasi_snapshot_preview1.reactor.wasm | Bin 79846 -> 0 bytes build.rs | 7 ++--- src/lib.rs | 24 +++++++----------- tests/build.rs | 16 +++++++++--- tests/support/mod.rs | 16 ++---------- 9 files changed, 33 insertions(+), 38 deletions(-) delete mode 100644 adapters/95fee6f/wasi_snapshot_preview1.command.wasm delete mode 100644 adapters/95fee6f/wasi_snapshot_preview1.proxy.wasm delete mode 100644 adapters/95fee6f/wasi_snapshot_preview1.reactor.wasm diff --git a/Cargo.lock b/Cargo.lock index 01bac8cf..8f5e13af 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -591,6 +591,7 @@ dependencies = [ "warg-crypto", "warg-protocol", "warg-server", + "wasi-preview1-component-adapter-provider", "wasm-metadata", "wasmparser 0.208.1", "wasmprinter 0.208.1", @@ -4037,6 +4038,12 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi-preview1-component-adapter-provider" +version = "23.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dba2aacb2ea1d483b13ae73bcdda9069dbf7424b20f72e0ad02d6988e4ec0bbb" + [[package]] name = "wasm-bindgen" version = "0.2.92" diff --git a/Cargo.toml b/Cargo.toml index 512b4c1d..9d1504bc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -53,6 +53,7 @@ bytes = { workspace = true } which = { workspace = true } shell-escape = "0.1.5" tempfile = { workspace = true } +wasi-preview1-component-adapter-provider = "23.0.1" [dev-dependencies] assert_cmd = { workspace = true } diff --git a/adapters/95fee6f/wasi_snapshot_preview1.command.wasm b/adapters/95fee6f/wasi_snapshot_preview1.command.wasm deleted file mode 100644 index 3c68017093451c875dee6b1e4f03922a2d4459f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 80035 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 diff --git a/adapters/95fee6f/wasi_snapshot_preview1.proxy.wasm b/adapters/95fee6f/wasi_snapshot_preview1.proxy.wasm deleted file mode 100644 index 18a1d2ae2299220c0338233ff9a7a0f84d2b9807..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28063 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
-K>0Q^aL#Tz7TBFzP=U3tQBBnNS`E1_E*r z4m{ddE)&pJrcq2|qKn01sgQ21GsXLES!as9QXuUtWnb7=Sj$p6m(69$%|f|R&*e+i z_xyWdqNLKoL?PNq!gJSOTgFZayCgh`aQ4r$Knc+*=3}5Erw6f`R9ty-Lk(rgNS8qA}M$=0nQ#3NoMlsV$ zwQA*Jqx#ARl&|g&;^&>fkL~OS=m)`2D^OAye)9=k;pbacyO63zk8c)_PHovlfsj*T!zi#@ z93Pz$T&{Hvtkn(}T)Pe4H|Fu#aUXf)8ds;2#bPq0@2DBgX1bWIW%NuclbcOtXVb-< u?7E2oemn?cZQ*xbunp}iyCz_{(T`ir9$4vz!G8NdXV$o5@c#fIinF-@ diff --git a/adapters/95fee6f/wasi_snapshot_preview1.reactor.wasm b/adapters/95fee6f/wasi_snapshot_preview1.reactor.wasm deleted file mode 100644 index 383afb3383cc2639451dcbf25d4d2cb8e8c4c19c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 79846 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

$(Gfi@C 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 KY;7K%*Z&{SM;w9x diff --git a/build.rs b/build.rs index 02cb2175..a859ba4f 100644 --- a/build.rs +++ b/build.rs @@ -1,14 +1,11 @@ use std::{path::Path, process::Command}; -const WASI_ADAPTER_VERSION: &str = "95fee6f"; - fn main() { println!("cargo:rerun-if-changed=build.rs"); - println!("cargo:rustc-env=WASI_ADAPTER_VERSION={WASI_ADAPTER_VERSION}"); if !commit_info() { println!( - "cargo:rustc-env=CARGO_VERSION_INFO={} (wasi:{WASI_ADAPTER_VERSION})", + "cargo:rustc-env=CARGO_VERSION_INFO={}", env!("CARGO_PKG_VERSION"), ); } @@ -34,7 +31,7 @@ fn commit_info() -> bool { let mut next = || parts.next().unwrap(); println!("cargo:rustc-env=CARGO_GIT_HASH={}", next()); println!( - "cargo:rustc-env=CARGO_VERSION_INFO={} ({} {} wasi:{WASI_ADAPTER_VERSION})", + "cargo:rustc-env=CARGO_VERSION_INFO={} ({} {})", env!("CARGO_PKG_VERSION"), next(), next() diff --git a/src/lib.rs b/src/lib.rs index 56164c5c..b558142f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -911,23 +911,17 @@ fn adapter_bytes( .warn("ignoring `proxy` setting in `Cargo.toml` for command component")?; } - Ok(Cow::Borrowed(include_bytes!(concat!( - "../adapters/", - env!("WASI_ADAPTER_VERSION"), - "/wasi_snapshot_preview1.command.wasm" - )))) + Ok(Cow::Borrowed( + wasi_preview1_component_adapter_provider::WASI_SNAPSHOT_PREVIEW1_COMMAND_ADAPTER, + )) } else if metadata.section.proxy { - Ok(Cow::Borrowed(include_bytes!(concat!( - "../adapters/", - env!("WASI_ADAPTER_VERSION"), - "/wasi_snapshot_preview1.proxy.wasm" - )))) + Ok(Cow::Borrowed( + wasi_preview1_component_adapter_provider::WASI_SNAPSHOT_PREVIEW1_PROXY_ADAPTER, + )) } else { - Ok(Cow::Borrowed(include_bytes!(concat!( - "../adapters/", - env!("WASI_ADAPTER_VERSION"), - "/wasi_snapshot_preview1.reactor.wasm" - )))) + Ok(Cow::Borrowed( + wasi_preview1_component_adapter_provider::WASI_SNAPSHOT_PREVIEW1_REACTOR_ADAPTER, + )) } } diff --git a/tests/build.rs b/tests/build.rs index c1134763..57a3bdd5 100644 --- a/tests/build.rs +++ b/tests/build.rs @@ -715,9 +715,13 @@ fn it_builds_with_adapter() -> Result<()> { .failure(); let project = Project::new("foo")?; + let adapter_path = "adapter/wasi_snapshot_preview1.wasm"; + project.file( + adapter_path, + wasi_preview1_component_adapter_provider::WASI_SNAPSHOT_PREVIEW1_REACTOR_ADAPTER, + )?; project.update_manifest(|mut doc| { - doc["package"]["metadata"]["component"]["adapter"] = - value(adapter_path().to_str().unwrap()); + doc["package"]["metadata"]["component"]["adapter"] = value(adapter_path); Ok(doc) })?; @@ -894,10 +898,14 @@ fn it_warns_on_proxy_setting_for_command() -> Result<()> { #[test] fn it_warns_with_proxy_and_adapter_settings() -> Result<()> { let project = Project::new("foo")?; + let adapter_path = "adapter/wasi_snapshot_preview1.wasm"; + project.file( + adapter_path, + wasi_preview1_component_adapter_provider::WASI_SNAPSHOT_PREVIEW1_REACTOR_ADAPTER, + )?; project.update_manifest(|mut doc| { doc["package"]["metadata"]["component"]["proxy"] = value(true); - doc["package"]["metadata"]["component"]["adapter"] = - value(adapter_path().to_str().unwrap()); + doc["package"]["metadata"]["component"]["adapter"] = value(adapter_path); Ok(doc) })?; diff --git a/tests/support/mod.rs b/tests/support/mod.rs index 86a0f325..07cf5531 100644 --- a/tests/support/mod.rs +++ b/tests/support/mod.rs @@ -32,18 +32,6 @@ pub fn test_signing_key() -> &'static str { "ecdsa-p256:2CV1EpLaSYEn4In4OAEDAj5O4Hzu8AFAxgHXuG310Ew=" } -pub fn adapter_path() -> PathBuf { - let mut path = std::env::current_exe().unwrap(); - path.pop(); // remove test exe name - path.pop(); // remove `deps` - path.pop(); // remove `debug` or `release` - path.pop(); // remove `target` - path.push("adapters"); - path.push(env!("WASI_ADAPTER_VERSION")); - path.push("wasi_snapshot_preview1.reactor.wasm"); - path -} - pub fn cargo_component(args: &str) -> Command { let mut exe = std::env::current_exe().unwrap(); exe.pop(); // remove test exe name @@ -261,10 +249,10 @@ impl Project { &self.dir } - pub fn file>(&self, path: B, body: &str) -> Result<&Self> { + pub fn file>(&self, path: B, body: impl AsRef<[u8]>) -> Result<&Self> { let path = self.root().join(path); fs::create_dir_all(path.parent().unwrap())?; - fs::write(self.root().join(path), body)?; + fs::write(&path, body)?; Ok(self) }