mirror of
https://github.com/mii443/wasmer.git
synced 2025-12-06 20:58:28 +00:00
Migrate from wapm-toml to wasmer-toml
This commit is contained in:
36
Cargo.lock
generated
36
Cargo.lock
generated
@@ -4016,22 +4016,6 @@ dependencies = [
|
|||||||
"try-lock",
|
"try-lock",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "wapm-toml"
|
|
||||||
version = "0.4.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "994ef26447f3158955d2e3fca96021d1f1c47b830e2053569177673dca1447a9"
|
|
||||||
dependencies = [
|
|
||||||
"anyhow",
|
|
||||||
"semver 1.0.14",
|
|
||||||
"serde",
|
|
||||||
"serde_cbor",
|
|
||||||
"serde_json",
|
|
||||||
"serde_yaml",
|
|
||||||
"thiserror",
|
|
||||||
"toml",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasi"
|
name = "wasi"
|
||||||
version = "0.11.0+wasi-snapshot-preview1"
|
version = "0.11.0+wasi-snapshot-preview1"
|
||||||
@@ -4348,7 +4332,6 @@ dependencies = [
|
|||||||
"unix_mode",
|
"unix_mode",
|
||||||
"url",
|
"url",
|
||||||
"walkdir",
|
"walkdir",
|
||||||
"wapm-toml",
|
|
||||||
"wasmer",
|
"wasmer",
|
||||||
"wasmer-cache",
|
"wasmer-cache",
|
||||||
"wasmer-compiler",
|
"wasmer-compiler",
|
||||||
@@ -4358,6 +4341,7 @@ dependencies = [
|
|||||||
"wasmer-emscripten",
|
"wasmer-emscripten",
|
||||||
"wasmer-object",
|
"wasmer-object",
|
||||||
"wasmer-registry",
|
"wasmer-registry",
|
||||||
|
"wasmer-toml",
|
||||||
"wasmer-types",
|
"wasmer-types",
|
||||||
"wasmer-vfs",
|
"wasmer-vfs",
|
||||||
"wasmer-vm",
|
"wasmer-vm",
|
||||||
@@ -4596,11 +4580,27 @@ dependencies = [
|
|||||||
"tokio",
|
"tokio",
|
||||||
"toml",
|
"toml",
|
||||||
"url",
|
"url",
|
||||||
"wapm-toml",
|
"wasmer-toml",
|
||||||
"webc",
|
"webc",
|
||||||
"whoami",
|
"whoami",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "wasmer-toml"
|
||||||
|
version = "0.5.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "03d0f664e5dfad0339727ad2f4f8a7d982b4c120d87b800380e306c0dc038a49"
|
||||||
|
dependencies = [
|
||||||
|
"anyhow",
|
||||||
|
"semver 1.0.14",
|
||||||
|
"serde",
|
||||||
|
"serde_cbor",
|
||||||
|
"serde_json",
|
||||||
|
"serde_yaml",
|
||||||
|
"thiserror",
|
||||||
|
"toml",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "wasmer-types"
|
name = "wasmer-types"
|
||||||
version = "3.1.0"
|
version = "3.1.0"
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ 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"
|
||||||
wapm-toml = "0.4.0"
|
wasmer-toml = "0.5.0"
|
||||||
walkdir = "2.3.2"
|
walkdir = "2.3.2"
|
||||||
regex = "1.6.0"
|
regex = "1.6.0"
|
||||||
toml = "0.5.9"
|
toml = "0.5.9"
|
||||||
|
|||||||
@@ -146,7 +146,10 @@ impl Init {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Writes the metadata to a wasmer.toml file
|
/// Writes the metadata to a wasmer.toml file
|
||||||
fn write_wasmer_toml(path: &PathBuf, toml: &wapm_toml::Manifest) -> Result<(), anyhow::Error> {
|
fn write_wasmer_toml(
|
||||||
|
path: &PathBuf,
|
||||||
|
toml: &wasmer_toml::Manifest,
|
||||||
|
) -> Result<(), anyhow::Error> {
|
||||||
let toml_string = toml::to_string_pretty(&toml)?
|
let toml_string = toml::to_string_pretty(&toml)?
|
||||||
.replace(
|
.replace(
|
||||||
"[dependencies]",
|
"[dependencies]",
|
||||||
@@ -221,15 +224,15 @@ impl Init {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn get_command(
|
fn get_command(
|
||||||
modules: &[wapm_toml::Module],
|
modules: &[wasmer_toml::Module],
|
||||||
bin_or_lib: BinOrLib,
|
bin_or_lib: BinOrLib,
|
||||||
) -> Option<Vec<wapm_toml::Command>> {
|
) -> Option<Vec<wasmer_toml::Command>> {
|
||||||
match bin_or_lib {
|
match bin_or_lib {
|
||||||
BinOrLib::Bin => Some(
|
BinOrLib::Bin => Some(
|
||||||
modules
|
modules
|
||||||
.iter()
|
.iter()
|
||||||
.map(|m| {
|
.map(|m| {
|
||||||
wapm_toml::Command::V1(wapm_toml::CommandV1 {
|
wasmer_toml::Command::V1(wasmer_toml::CommandV1 {
|
||||||
name: m.name.clone(),
|
name: m.name.clone(),
|
||||||
module: m.name.clone(),
|
module: m.name.clone(),
|
||||||
main_args: None,
|
main_args: None,
|
||||||
@@ -291,12 +294,12 @@ impl Init {
|
|||||||
let is_wit = e.path().extension().and_then(|s| s.to_str()) == Some(".wit");
|
let is_wit = e.path().extension().and_then(|s| s.to_str()) == Some(".wit");
|
||||||
let is_wai = e.path().extension().and_then(|s| s.to_str()) == Some(".wai");
|
let is_wai = e.path().extension().and_then(|s| s.to_str()) == Some(".wai");
|
||||||
if is_wit {
|
if is_wit {
|
||||||
Some(wapm_toml::Bindings::Wit(wapm_toml::WitBindings {
|
Some(wasmer_toml::Bindings::Wit(wasmer_toml::WitBindings {
|
||||||
wit_exports: e.path().to_path_buf(),
|
wit_exports: e.path().to_path_buf(),
|
||||||
wit_bindgen: semver::Version::parse("0.1.0").unwrap(),
|
wit_bindgen: semver::Version::parse("0.1.0").unwrap(),
|
||||||
}))
|
}))
|
||||||
} else if is_wai {
|
} else if is_wai {
|
||||||
Some(wapm_toml::Bindings::Wai(wapm_toml::WaiBindings {
|
Some(wasmer_toml::Bindings::Wai(wasmer_toml::WaiBindings {
|
||||||
exports: None,
|
exports: None,
|
||||||
imports: vec![e.path().to_path_buf()],
|
imports: vec![e.path().to_path_buf()],
|
||||||
wai_version: semver::Version::parse("0.2.0").unwrap(),
|
wai_version: semver::Version::parse("0.2.0").unwrap(),
|
||||||
@@ -320,12 +323,12 @@ impl Init {
|
|||||||
}
|
}
|
||||||
|
|
||||||
enum GetBindingsResult {
|
enum GetBindingsResult {
|
||||||
OneBinding(wapm_toml::Bindings),
|
OneBinding(wasmer_toml::Bindings),
|
||||||
MultiBindings(Vec<wapm_toml::Bindings>),
|
MultiBindings(Vec<wasmer_toml::Bindings>),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl GetBindingsResult {
|
impl GetBindingsResult {
|
||||||
fn first_binding(&self) -> Option<wapm_toml::Bindings> {
|
fn first_binding(&self) -> Option<wasmer_toml::Bindings> {
|
||||||
match self {
|
match self {
|
||||||
Self::OneBinding(s) => Some(s.clone()),
|
Self::OneBinding(s) => Some(s.clone()),
|
||||||
Self::MultiBindings(s) => s.get(0).cloned(),
|
Self::MultiBindings(s) => s.get(0).cloned(),
|
||||||
@@ -346,7 +349,7 @@ fn construct_manifest(
|
|||||||
template: Option<&Template>,
|
template: Option<&Template>,
|
||||||
include_fs: &[String],
|
include_fs: &[String],
|
||||||
quiet: bool,
|
quiet: bool,
|
||||||
) -> wapm_toml::Manifest {
|
) -> wasmer_toml::Manifest {
|
||||||
if let Some(ct) = cargo_toml.as_ref() {
|
if let Some(ct) = cargo_toml.as_ref() {
|
||||||
let msg = format!(
|
let msg = format!(
|
||||||
"NOTE: Initializing wasmer.toml file with metadata from Cargo.toml{NEWLINE} -> {}",
|
"NOTE: Initializing wasmer.toml file with metadata from Cargo.toml{NEWLINE} -> {}",
|
||||||
@@ -381,17 +384,17 @@ fn construct_manifest(
|
|||||||
.and_then(|t| t.description.clone())
|
.and_then(|t| t.description.clone())
|
||||||
.unwrap_or_else(|| format!("Description for package {package_name}"));
|
.unwrap_or_else(|| format!("Description for package {package_name}"));
|
||||||
|
|
||||||
let default_abi = wapm_toml::Abi::Wasi;
|
let default_abi = wasmer_toml::Abi::Wasi;
|
||||||
let bindings = Init::get_bindings(target_file, bin_or_lib);
|
let bindings = Init::get_bindings(target_file, bin_or_lib);
|
||||||
|
|
||||||
if let Some(GetBindingsResult::MultiBindings(m)) = bindings.as_ref() {
|
if let Some(GetBindingsResult::MultiBindings(m)) = bindings.as_ref() {
|
||||||
let found = m
|
let found = m
|
||||||
.iter()
|
.iter()
|
||||||
.map(|m| match m {
|
.map(|m| match m {
|
||||||
wapm_toml::Bindings::Wit(wb) => {
|
wasmer_toml::Bindings::Wit(wb) => {
|
||||||
format!("found: {}", serde_json::to_string(wb).unwrap_or_default())
|
format!("found: {}", serde_json::to_string(wb).unwrap_or_default())
|
||||||
}
|
}
|
||||||
wapm_toml::Bindings::Wai(wb) => {
|
wasmer_toml::Bindings::Wai(wb) => {
|
||||||
format!("found: {}", serde_json::to_string(wb).unwrap_or_default())
|
format!("found: {}", serde_json::to_string(wb).unwrap_or_default())
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -412,7 +415,7 @@ fn construct_manifest(
|
|||||||
log::warn!("{msg}");
|
log::warn!("{msg}");
|
||||||
}
|
}
|
||||||
|
|
||||||
let modules = vec![wapm_toml::Module {
|
let modules = vec![wasmer_toml::Module {
|
||||||
name: package_name.to_string(),
|
name: package_name.to_string(),
|
||||||
source: cargo_toml
|
source: cargo_toml
|
||||||
.as_ref()
|
.as_ref()
|
||||||
@@ -443,8 +446,8 @@ fn construct_manifest(
|
|||||||
}),
|
}),
|
||||||
}];
|
}];
|
||||||
|
|
||||||
wapm_toml::Manifest {
|
wasmer_toml::Manifest {
|
||||||
package: wapm_toml::Package {
|
package: wasmer_toml::Package {
|
||||||
name: if let Some(s) = namespace {
|
name: if let Some(s) = namespace {
|
||||||
format!("{s}/{package_name}")
|
format!("{s}/{package_name}")
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ impl Publish {
|
|||||||
let manifest = std::fs::read_to_string(&manifest_path_buf)
|
let manifest = std::fs::read_to_string(&manifest_path_buf)
|
||||||
.map_err(|e| anyhow::anyhow!("could not find manifest: {e}"))
|
.map_err(|e| anyhow::anyhow!("could not find manifest: {e}"))
|
||||||
.with_context(|| anyhow::anyhow!("{}", manifest_path_buf.display()))?;
|
.with_context(|| anyhow::anyhow!("{}", manifest_path_buf.display()))?;
|
||||||
let mut manifest = wapm_toml::Manifest::parse(&manifest)?;
|
let mut manifest = wasmer_toml::Manifest::parse(&manifest)?;
|
||||||
manifest.base_directory_path = cwd.clone();
|
manifest.base_directory_path = cwd.clone();
|
||||||
|
|
||||||
if let Some(package_name) = self.package_name.as_ref() {
|
if let Some(package_name) = self.package_name.as_ref() {
|
||||||
@@ -158,7 +158,7 @@ impl Publish {
|
|||||||
|
|
||||||
fn construct_tar_gz(
|
fn construct_tar_gz(
|
||||||
builder: &mut tar::Builder<Vec<u8>>,
|
builder: &mut tar::Builder<Vec<u8>>,
|
||||||
manifest: &wapm_toml::Manifest,
|
manifest: &wasmer_toml::Manifest,
|
||||||
cwd: &Path,
|
cwd: &Path,
|
||||||
) -> Result<(Option<String>, Option<String>), anyhow::Error> {
|
) -> Result<(Option<String>, Option<String>), anyhow::Error> {
|
||||||
let package = &manifest.package;
|
let package = &manifest.package;
|
||||||
@@ -523,7 +523,7 @@ mod validate {
|
|||||||
use wasmer_wasm_interface::{validate, Interface};
|
use wasmer_wasm_interface::{validate, Interface};
|
||||||
|
|
||||||
pub fn validate_directory(
|
pub fn validate_directory(
|
||||||
manifest: &wapm_toml::Manifest,
|
manifest: &wasmer_toml::Manifest,
|
||||||
registry: &str,
|
registry: &str,
|
||||||
pkg_path: PathBuf,
|
pkg_path: PathBuf,
|
||||||
) -> anyhow::Result<()> {
|
) -> anyhow::Result<()> {
|
||||||
@@ -606,7 +606,7 @@ mod validate {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn validate_bindings(
|
fn validate_bindings(
|
||||||
bindings: &wapm_toml::Bindings,
|
bindings: &wasmer_toml::Bindings,
|
||||||
base_directory_path: &Path,
|
base_directory_path: &Path,
|
||||||
) -> Result<(), ValidationError> {
|
) -> Result<(), ValidationError> {
|
||||||
// Note: checking for referenced files will make sure they all exist.
|
// Note: checking for referenced files will make sure they all exist.
|
||||||
@@ -624,7 +624,7 @@ mod validate {
|
|||||||
#[error("Failed to read file {file}; {error}")]
|
#[error("Failed to read file {file}; {error}")]
|
||||||
MiscCannotRead { file: String, error: String },
|
MiscCannotRead { file: String, error: String },
|
||||||
#[error(transparent)]
|
#[error(transparent)]
|
||||||
Imports(#[from] wapm_toml::ImportsError),
|
Imports(#[from] wasmer_toml::ImportsError),
|
||||||
}
|
}
|
||||||
|
|
||||||
// legacy function, validates wasm. TODO: clean up
|
// legacy function, validates wasm. TODO: clean up
|
||||||
|
|||||||
@@ -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"
|
||||||
wapm-toml = "0.4.0"
|
wasmer-toml = "0.5.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"
|
||||||
|
|||||||
@@ -126,7 +126,7 @@ impl LocalPackage {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Reads the wasmer.toml fron $PATH with wapm.toml as a fallback
|
/// Reads the wasmer.toml fron $PATH with wapm.toml as a fallback
|
||||||
pub fn read_toml(base_path: &Path) -> Result<wapm_toml::Manifest, String> {
|
pub fn read_toml(base_path: &Path) -> Result<wasmer_toml::Manifest, String> {
|
||||||
let wasmer_toml = std::fs::read_to_string(base_path.join(PACKAGE_TOML_FILE_NAME))
|
let wasmer_toml = std::fs::read_to_string(base_path.join(PACKAGE_TOML_FILE_NAME))
|
||||||
.or_else(|_| std::fs::read_to_string(base_path.join(PACKAGE_TOML_FALLBACK_NAME)))
|
.or_else(|_| std::fs::read_to_string(base_path.join(PACKAGE_TOML_FALLBACK_NAME)))
|
||||||
.map_err(|_| {
|
.map_err(|_| {
|
||||||
@@ -135,7 +135,7 @@ impl LocalPackage {
|
|||||||
base_path.display()
|
base_path.display()
|
||||||
)
|
)
|
||||||
})?;
|
})?;
|
||||||
let wasmer_toml = toml::from_str::<wapm_toml::Manifest>(&wasmer_toml)
|
let wasmer_toml = toml::from_str::<wasmer_toml::Manifest>(&wasmer_toml)
|
||||||
.map_err(|e| format!("Could not parse toml for {:?}: {e}", base_path.display()))?;
|
.map_err(|e| format!("Could not parse toml for {:?}: {e}", base_path.display()))?;
|
||||||
Ok(wasmer_toml)
|
Ok(wasmer_toml)
|
||||||
}
|
}
|
||||||
@@ -159,7 +159,7 @@ impl LocalPackage {
|
|||||||
pub fn get_executable_file_from_path(
|
pub fn get_executable_file_from_path(
|
||||||
package_dir: &Path,
|
package_dir: &Path,
|
||||||
command: Option<&str>,
|
command: Option<&str>,
|
||||||
) -> Result<(wapm_toml::Manifest, PathBuf), anyhow::Error> {
|
) -> Result<(wasmer_toml::Manifest, PathBuf), anyhow::Error> {
|
||||||
let wasmer_toml = LocalPackage::read_toml(package_dir).map_err(|e| anyhow::anyhow!("{e}"))?;
|
let wasmer_toml = LocalPackage::read_toml(package_dir).map_err(|e| anyhow::anyhow!("{e}"))?;
|
||||||
|
|
||||||
let name = wasmer_toml.package.name.clone();
|
let name = wasmer_toml.package.name.clone();
|
||||||
@@ -406,7 +406,7 @@ pub fn query_package_from_registry(
|
|||||||
QueryPackageError::ErrorSendingQuery(format!("no package version for {name:?}"))
|
QueryPackageError::ErrorSendingQuery(format!("no package version for {name:?}"))
|
||||||
})?;
|
})?;
|
||||||
|
|
||||||
let manifest = toml::from_str::<wapm_toml::Manifest>(&v.manifest).map_err(|e| {
|
let manifest = toml::from_str::<wasmer_toml::Manifest>(&v.manifest).map_err(|e| {
|
||||||
QueryPackageError::ErrorSendingQuery(format!("Invalid manifest for crate {name:?}: {e}"))
|
QueryPackageError::ErrorSendingQuery(format!("Invalid manifest for crate {name:?}: {e}"))
|
||||||
})?;
|
})?;
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ pub enum SignArchiveResult {
|
|||||||
pub fn try_chunked_uploading(
|
pub fn try_chunked_uploading(
|
||||||
registry: Option<String>,
|
registry: Option<String>,
|
||||||
token: Option<String>,
|
token: Option<String>,
|
||||||
package: &wapm_toml::Package,
|
package: &wasmer_toml::Package,
|
||||||
manifest_string: &String,
|
manifest_string: &String,
|
||||||
license_file: &Option<String>,
|
license_file: &Option<String>,
|
||||||
readme: &Option<String>,
|
readme: &Option<String>,
|
||||||
|
|||||||
Reference in New Issue
Block a user