Add support for the experimental wasi-crypto APIs (#2597)

* Add support for the experimental wasi-crypto APIs

The sole purpose of the implementation is to allow bindings and
application developers to test the proposed APIs.

Rust and AssemblyScript bindings are also available as examples.

Like `wasi-nn`, it is currently disabled by default, and requires
the `wasi-crypto` feature flag to be compiled in.

* Rename the wasi-crypto/spec submodule

* Add a path dependency into the submodule for wasi-crypto

* Tell the publish script to vendor wasi-crypto
This commit is contained in:
Frank Denis
2021-01-25 16:32:58 +01:00
committed by GitHub
parent 95822a54f2
commit a0fad6065a
21 changed files with 2263 additions and 97 deletions

View File

@@ -65,6 +65,7 @@ const CRATES_TO_PUBLISH: &[&str] = &[
"wasmtime-wiggle",
"wasmtime-wasi",
"wasmtime-wasi-nn",
"wasmtime-wasi-crypto",
"wasmtime-rust-macro",
"wasmtime-rust",
"wasmtime-wast",
@@ -176,7 +177,7 @@ fn read_crate(manifest: &Path) -> Crate {
} else {
version.clone()
};
if name == "witx" {
if ["witx", "wasi-crypto"].contains(&&name[..]) {
publish = false;
}
Crate {
@@ -299,6 +300,13 @@ fn verify(crates: &[Crate]) {
.unwrap();
verify_and_vendor(&witx);
// Vendor wasi-crypto which is also a path dependency
let wasi_crypto = crates
.iter()
.find(|c| c.name == "wasi-crypto")
.unwrap();
verify_and_vendor(&wasi_crypto);
for krate in crates {
if !krate.publish {
continue;