mirror of
https://github.com/mii443/wasmer.git
synced 2025-12-07 13:18:20 +00:00
deps: Remove duplicate webc dependencies
These were introduced by an older version of targz-to-pirita depending on an older wasmer-registry
This commit is contained in:
committed by
Michael-F-Bryan
parent
9910220c0a
commit
97136b111c
@@ -26,9 +26,9 @@ use wasmer::{
|
||||
use wasmer_cache::Cache;
|
||||
use wasmer_compiler::ArtifactBuild;
|
||||
use wasmer_registry::Package;
|
||||
use wasmer_wasix::runners::{wcgi::AbortHandle, MappedDirectory, Runner};
|
||||
use webc::{metadata::Manifest, Container};
|
||||
use webc_v4::DirOrFile;
|
||||
use wasmer_wasix::runners::wcgi::AbortHandle;
|
||||
use wasmer_wasix::runners::{MappedDirectory, Runner};
|
||||
use webc::{metadata::Manifest, v1::DirOrFile, Container};
|
||||
|
||||
use crate::{
|
||||
store::StoreOptions,
|
||||
@@ -72,10 +72,10 @@ impl RunUnstable {
|
||||
|
||||
let (mut store, _) = self.store.get_store()?;
|
||||
|
||||
let cache = self.wasmer_home.module_cache();
|
||||
let result = match target.load(cache, &store)? {
|
||||
let mut cache = self.wasmer_home.module_cache();
|
||||
let result = match target.load(&mut cache, &store)? {
|
||||
ExecutableTarget::WebAssembly(wasm) => self.execute_wasm(&target, &wasm, &mut store),
|
||||
ExecutableTarget::Webc(container, cache) => {
|
||||
ExecutableTarget::Webc(container) => {
|
||||
self.execute_webc(&target, container, cache, &mut store)
|
||||
}
|
||||
};
|
||||
@@ -317,7 +317,7 @@ fn compile_directory_to_webc(dir: &Path) -> Result<Vec<u8>, Error> {
|
||||
let mut files = BTreeMap::new();
|
||||
load_files_from_disk(&mut files, dir, dir)?;
|
||||
|
||||
let wasmer_toml = webc_v4::DirOrFile::File("wasmer.toml".into());
|
||||
let wasmer_toml = DirOrFile::File("wasmer.toml".into());
|
||||
if let Some(toml_data) = files.remove(&wasmer_toml) {
|
||||
// HACK(Michael-F-Bryan): The version of wapm-targz-to-pirita we are
|
||||
// using doesn't know we renamed "wapm.toml" to "wasmer.toml", so we
|
||||
@@ -343,11 +343,11 @@ fn load_files_from_disk(files: &mut FileMap, dir: &Path, base: &Path) -> Result<
|
||||
|
||||
if path.is_dir() {
|
||||
load_files_from_disk(files, &path, base)?;
|
||||
files.insert(webc_v4::DirOrFile::Dir(relative_path), Vec::new());
|
||||
files.insert(DirOrFile::Dir(relative_path), Vec::new());
|
||||
} else if path.is_file() {
|
||||
let data = std::fs::read(&path)
|
||||
.with_context(|| format!("Unable to read \"{}\"", path.display()))?;
|
||||
files.insert(webc_v4::DirOrFile::File(relative_path), data);
|
||||
files.insert(DirOrFile::File(relative_path), data);
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
@@ -462,12 +462,12 @@ impl TargetOnDisk {
|
||||
}
|
||||
}
|
||||
|
||||
fn load(&self, mut cache: ModuleCache, store: &Store) -> Result<ExecutableTarget, Error> {
|
||||
fn load(&self, cache: &mut ModuleCache, store: &Store) -> Result<ExecutableTarget, Error> {
|
||||
match self {
|
||||
TargetOnDisk::Webc(webc) => {
|
||||
// As an optimisation, try to use the mmapped version first.
|
||||
if let Ok(container) = Container::from_disk(webc.clone()) {
|
||||
return Ok(ExecutableTarget::Webc(container, cache));
|
||||
return Ok(ExecutableTarget::Webc(container));
|
||||
}
|
||||
|
||||
// Otherwise, fall back to the version that reads everything
|
||||
@@ -476,7 +476,7 @@ impl TargetOnDisk {
|
||||
.with_context(|| format!("Unable to read \"{}\"", webc.display()))?;
|
||||
let container = Container::from_bytes(bytes)?;
|
||||
|
||||
Ok(ExecutableTarget::Webc(container, cache))
|
||||
Ok(ExecutableTarget::Webc(container))
|
||||
}
|
||||
TargetOnDisk::Directory(dir) => {
|
||||
// FIXME: Runners should be able to load directories directly
|
||||
@@ -487,17 +487,13 @@ impl TargetOnDisk {
|
||||
let container = Container::from_bytes(webc)
|
||||
.context("Unable to parse the generated WEBC file")?;
|
||||
|
||||
Ok(ExecutableTarget::Webc(container, cache))
|
||||
Ok(ExecutableTarget::Webc(container))
|
||||
}
|
||||
TargetOnDisk::WebAssemblyBinary(path) => {
|
||||
let wasm = std::fs::read(path)
|
||||
.with_context(|| format!("Unable to read \"{}\"", path.display()))?;
|
||||
let module = compile_wasm_cached(
|
||||
path.display().to_string(),
|
||||
&wasm,
|
||||
&mut cache,
|
||||
store.engine(),
|
||||
)?;
|
||||
let module =
|
||||
compile_wasm_cached(path.display().to_string(), &wasm, cache, store.engine())?;
|
||||
Ok(ExecutableTarget::WebAssembly(module))
|
||||
}
|
||||
TargetOnDisk::Wat(path) => {
|
||||
@@ -506,12 +502,8 @@ impl TargetOnDisk {
|
||||
let wasm =
|
||||
wasmer::wat2wasm(&wat).context("Unable to convert the WAT to WebAssembly")?;
|
||||
|
||||
let module = compile_wasm_cached(
|
||||
path.display().to_string(),
|
||||
&wasm,
|
||||
&mut cache,
|
||||
store.engine(),
|
||||
)?;
|
||||
let module =
|
||||
compile_wasm_cached(path.display().to_string(), &wasm, cache, store.engine())?;
|
||||
Ok(ExecutableTarget::WebAssembly(module))
|
||||
}
|
||||
TargetOnDisk::Artifact(artifact) => {
|
||||
@@ -572,7 +564,7 @@ fn compile_wasm_cached(
|
||||
#[derive(Debug, Clone)]
|
||||
enum ExecutableTarget {
|
||||
WebAssembly(Module),
|
||||
Webc(Container, ModuleCache),
|
||||
Webc(Container),
|
||||
}
|
||||
|
||||
fn generate_coredump(err: &Error, source: &Path, coredump_path: &Path) -> Result<(), Error> {
|
||||
|
||||
Reference in New Issue
Block a user