mirror of
https://github.com/mii443/wasmer.git
synced 2025-12-08 05:38:19 +00:00
Merge branch 'master' into fix-master-red-2
This commit is contained in:
6
Cargo.lock
generated
6
Cargo.lock
generated
@@ -4324,6 +4324,7 @@ dependencies = [
|
|||||||
"flate2",
|
"flate2",
|
||||||
"hex",
|
"hex",
|
||||||
"http_req",
|
"http_req",
|
||||||
|
"indexmap",
|
||||||
"isatty",
|
"isatty",
|
||||||
"libc",
|
"libc",
|
||||||
"log",
|
"log",
|
||||||
@@ -4608,11 +4609,12 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmer-toml"
|
name = "wasmer-toml"
|
||||||
version = "0.5.0"
|
version = "0.6.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "03d0f664e5dfad0339727ad2f4f8a7d982b4c120d87b800380e306c0dc038a49"
|
checksum = "4232db0aff83ed6208d541ddcf1bf72730673528be8c4fe13c6369060f6e05a7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
|
"indexmap",
|
||||||
"semver 1.0.14",
|
"semver 1.0.14",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_cbor",
|
"serde_cbor",
|
||||||
|
|||||||
@@ -63,7 +63,8 @@ dirs = { version = "4.0" }
|
|||||||
serde_json = { version = "1.0" }
|
serde_json = { version = "1.0" }
|
||||||
target-lexicon = { version = "0.12", features = ["std"] }
|
target-lexicon = { version = "0.12", features = ["std"] }
|
||||||
prettytable-rs = "0.9.0"
|
prettytable-rs = "0.9.0"
|
||||||
wasmer-toml = "0.5.0"
|
wasmer-toml = "0.6.0"
|
||||||
|
indexmap = "1.9.2"
|
||||||
walkdir = "2.3.2"
|
walkdir = "2.3.2"
|
||||||
regex = "1.6.0"
|
regex = "1.6.0"
|
||||||
toml = "0.5.9"
|
toml = "0.5.9"
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
use anyhow::Context;
|
use anyhow::Context;
|
||||||
use cargo_metadata::{CargoOpt, MetadataCommand};
|
use cargo_metadata::{CargoOpt, MetadataCommand};
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
|
use indexmap::IndexMap;
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
@@ -204,7 +205,7 @@ impl Init {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_filesystem_mapping(include: &[String]) -> Option<HashMap<String, PathBuf>> {
|
fn get_filesystem_mapping(include: &[String]) -> Option<IndexMap<String, PathBuf>> {
|
||||||
if include.is_empty() {
|
if include.is_empty() {
|
||||||
return None;
|
return None;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -215,7 +215,7 @@ fn construct_tar_gz(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// bundle the package filesystem
|
// bundle the package filesystem
|
||||||
let default = std::collections::HashMap::default();
|
let default = indexmap::IndexMap::default();
|
||||||
for (_alias, path) in manifest.fs.as_ref().unwrap_or(&default).iter() {
|
for (_alias, path) in manifest.fs.as_ref().unwrap_or(&default).iter() {
|
||||||
let normalized_path = normalize_path(cwd, path);
|
let normalized_path = normalize_path(cwd, path);
|
||||||
let path_metadata = normalized_path.metadata().map_err(|_| {
|
let path_metadata = normalized_path.metadata().map_err(|_| {
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ use crate::suggestions::suggest_function_exports;
|
|||||||
use crate::warning;
|
use crate::warning;
|
||||||
use anyhow::{anyhow, Context, Result};
|
use anyhow::{anyhow, Context, Result};
|
||||||
use clap::Parser;
|
use clap::Parser;
|
||||||
use std::collections::HashMap;
|
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
#[cfg(feature = "cache")]
|
#[cfg(feature = "cache")]
|
||||||
@@ -124,7 +123,12 @@ impl RunWithPathBuf {
|
|||||||
|
|
||||||
#[cfg(feature = "wasi")]
|
#[cfg(feature = "wasi")]
|
||||||
{
|
{
|
||||||
let default = HashMap::default();
|
// See https://github.com/wasmerio/wasmer/issues/3492 -
|
||||||
|
// we need IndexMap to have a stable ordering for the [fs] mapping,
|
||||||
|
// otherwise overlapping filesystem mappings might not work
|
||||||
|
// since we want to control the order of mounting directories from the
|
||||||
|
// wasmer.toml file
|
||||||
|
let default = indexmap::IndexMap::default();
|
||||||
let fs = manifest.fs.as_ref().unwrap_or(&default);
|
let fs = manifest.fs.as_ref().unwrap_or(&default);
|
||||||
for (alias, real_dir) in fs.iter() {
|
for (alias, real_dir) in fs.iter() {
|
||||||
let real_dir = self_clone.path.join(&real_dir);
|
let real_dir = self_clone.path.join(&real_dir);
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ serde_json = "1.0.85"
|
|||||||
url = "2.3.1"
|
url = "2.3.1"
|
||||||
thiserror = "1.0.37"
|
thiserror = "1.0.37"
|
||||||
toml = "0.5.9"
|
toml = "0.5.9"
|
||||||
wasmer-toml = "0.5.0"
|
wasmer-toml = "0.6.0"
|
||||||
tar = "0.4.38"
|
tar = "0.4.38"
|
||||||
flate2 = "1.0.24"
|
flate2 = "1.0.24"
|
||||||
semver = "1.0.14"
|
semver = "1.0.14"
|
||||||
|
|||||||
Reference in New Issue
Block a user