From 7b311004b5799a390248ef596f0b09c02cdeeb4d Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Mon, 26 Sep 2022 11:30:01 -0500 Subject: [PATCH] Leverage Cargo's workspace inheritance feature (#4905) * Leverage Cargo's workspace inheritance feature This commit is an attempt to reduce the complexity of the Cargo manifests in this repository with Cargo's workspace-inheritance feature becoming stable in Rust 1.64.0. This feature allows specifying fields in the root workspace `Cargo.toml` which are then reused throughout the workspace. For example this PR shares definitions such as: * All of the Wasmtime-family of crates now use `version.workspace = true` to have a single location which defines the version number. * All crates use `edition.workspace = true` to have one default edition for the entire workspace. * Common dependencies are listed in `[workspace.dependencies]` to avoid typing the same version number in a lot of different places (e.g. the `wasmparser = "0.89.0"` is now in just one spot. Currently the workspace-inheritance feature doesn't allow having two different versions to inherit, so all of the Cranelift-family of crates still manually specify their version. The inter-crate dependencies, however, are shared amongst the root workspace. This feature can be seen as a method of "preprocessing" of sorts for Cargo manifests. This will help us develop Wasmtime but shouldn't have any actual impact on the published artifacts -- everything's dependency lists are still the same. * Fix wasi-crypto tests --- .github/workflows/main.yml | 15 +-- Cargo.lock | 14 +- Cargo.toml | 127 ++++++++++++++---- cranelift/Cargo.toml | 38 +++--- cranelift/bforest/Cargo.toml | 2 +- cranelift/codegen/Cargo.toml | 16 +-- cranelift/codegen/meta/Cargo.toml | 2 +- cranelift/codegen/shared/Cargo.toml | 2 +- cranelift/entity/Cargo.toml | 2 +- cranelift/filetests/Cargo.toml | 28 ++-- cranelift/frontend/Cargo.toml | 12 +- cranelift/fuzzgen/Cargo.toml | 10 +- cranelift/interpreter/Cargo.toml | 14 +- cranelift/isle/fuzz/Cargo.toml | 6 +- cranelift/isle/isle/Cargo.toml | 4 +- cranelift/isle/islec/Cargo.toml | 6 +- cranelift/jit/Cargo.toml | 24 ++-- cranelift/module/Cargo.toml | 8 +- cranelift/native/Cargo.toml | 6 +- cranelift/object/Cargo.toml | 18 +-- cranelift/preopt/Cargo.toml | 2 +- cranelift/reader/Cargo.toml | 8 +- cranelift/serde/Cargo.toml | 8 +- cranelift/umbrella/Cargo.toml | 2 +- cranelift/wasm/Cargo.toml | 21 ++- crates/asm-macros/Cargo.toml | 4 +- crates/bench-api/Cargo.toml | 26 ++-- crates/c-api/Cargo.toml | 22 +-- crates/c-api/macros/Cargo.toml | 2 +- crates/cache/Cargo.toml | 16 +-- crates/cli-flags/Cargo.toml | 12 +- crates/component-macro/Cargo.toml | 8 +- crates/component-util/Cargo.toml | 6 +- crates/cranelift/Cargo.toml | 30 ++--- crates/environ/Cargo.toml | 34 ++--- crates/environ/fuzz/Cargo.toml | 12 +- crates/fiber/Cargo.toml | 12 +- crates/fuzzing/Cargo.toml | 34 ++--- .../fuzzing/wasm-spec-interpreter/Cargo.toml | 6 +- crates/jit-debug/Cargo.toml | 12 +- crates/jit/Cargo.toml | 26 ++-- crates/misc/component-fuzz-util/Cargo.toml | 8 +- crates/misc/component-macro-test/Cargo.toml | 2 +- crates/misc/component-test-util/Cargo.toml | 10 +- crates/runtime/Cargo.toml | 22 +-- crates/test-programs/Cargo.toml | 18 +-- crates/test-programs/wasi-tests/Cargo.lock | 2 +- crates/test-programs/wasi-tests/Cargo.toml | 5 +- crates/types/Cargo.toml | 10 +- crates/wasi-common/Cargo.toml | 16 +-- crates/wasi-common/cap-std-sync/Cargo.toml | 20 +-- crates/wasi-common/tokio/Cargo.toml | 19 ++- crates/wasi-crypto/Cargo.toml | 12 +- crates/wasi-nn/Cargo.toml | 10 +- crates/wasi/Cargo.toml | 18 +-- crates/wasmtime/Cargo.toml | 38 +++--- crates/wast/Cargo.toml | 14 +- crates/wiggle/Cargo.toml | 11 +- crates/wiggle/generate/Cargo.toml | 6 +- crates/wiggle/macro/Cargo.toml | 6 +- crates/wiggle/test-helpers/Cargo.toml | 2 +- fuzz/Cargo.toml | 33 +++-- scripts/publish.rs | 27 +++- 63 files changed, 520 insertions(+), 446 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 438d688d0dcd..fded70ec4622 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -77,7 +77,7 @@ jobs: submodules: true - uses: ./.github/actions/install-rust with: - toolchain: nightly-2022-04-27 + toolchain: nightly-2022-09-07 # Build C API documentation - run: sudo apt-get update -y && sudo apt-get install -y libclang1-9 libclang-cpp9 @@ -194,7 +194,7 @@ jobs: # flags to rustc. - uses: ./.github/actions/install-rust with: - toolchain: nightly-2022-04-27 + toolchain: nightly-2022-09-07 - run: cargo install cargo-fuzz --vers "^0.11" # Install the OCaml packages necessary for fuzz targets that use the # `wasm-spec-interpreter`. @@ -345,9 +345,8 @@ jobs: - uses: actions/checkout@v2 with: submodules: true + - run: rustup update stable && rustup default stable - run: rustup target add wasm32-wasi - - name: Install Rust - run: rustup update stable && rustup default stable - run: ./ci/run-wasi-crypto-example.sh env: RUST_BACKTRACE: 1 @@ -359,9 +358,8 @@ jobs: - uses: actions/checkout@v2 with: submodules: true + - uses: ./.github/actions/install-rust - run: rustup target add wasm32-wasi - - name: Install Rust - run: rustup update stable && rustup default stable - run: cargo test --benches --release # Verify that cranelift's code generation is deterministic @@ -372,8 +370,7 @@ jobs: - uses: actions/checkout@v2 with: submodules: true - - name: Install Rust - run: rustup update stable && rustup default stable + - uses: ./.github/actions/install-rust - run: cd cranelift/codegen && cargo build --features all-arch - run: ci/ensure_deterministic_build.sh @@ -408,11 +405,11 @@ jobs: - uses: actions/checkout@v2 with: submodules: true + - uses: ./.github/actions/install-rust # On one builder produce the source tarball since there's no need to produce # it everywhere - run: ./ci/build-src-tarball.sh if: matrix.build == 'x86_64-linux' - - uses: ./.github/actions/install-rust - uses: ./.github/actions/binary-compatible-builds with: name: ${{ matrix.build }} diff --git a/Cargo.lock b/Cargo.lock index 349e88b5b00a..7dc3628f4a9f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -439,7 +439,7 @@ dependencies = [ [[package]] name = "component-fuzz-util" -version = "0.1.0" +version = "0.0.0" dependencies = [ "anyhow", "arbitrary", @@ -459,7 +459,7 @@ dependencies = [ [[package]] name = "component-test-util" -version = "0.1.0" +version = "0.0.0" dependencies = [ "anyhow", "arbitrary", @@ -578,7 +578,7 @@ dependencies = [ [[package]] name = "cranelift-filetests" -version = "0.73.0" +version = "0.0.0" dependencies = [ "anyhow", "cranelift-codegen", @@ -612,7 +612,7 @@ dependencies = [ [[package]] name = "cranelift-fuzzgen" -version = "0.75.0" +version = "0.0.0" dependencies = [ "anyhow", "arbitrary", @@ -3380,7 +3380,7 @@ dependencies = [ [[package]] name = "wasmtime-bench-api" -version = "0.19.0" +version = "2.0.0" dependencies = [ "anyhow", "cap-std", @@ -3397,7 +3397,7 @@ dependencies = [ [[package]] name = "wasmtime-c-api" -version = "0.19.0" +version = "2.0.0" dependencies = [ "anyhow", "cap-std", @@ -3602,7 +3602,7 @@ dependencies = [ [[package]] name = "wasmtime-fuzzing" -version = "0.19.0" +version = "0.0.0" dependencies = [ "anyhow", "arbitrary", diff --git a/Cargo.toml b/Cargo.toml index 9c6d4d8fff4a..3b6daea89c75 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "wasmtime-cli" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "Command-line interface for Wasmtime" license = "Apache-2.0 WITH LLVM-exception" documentation = "https://bytecodealliance.github.io/wasmtime/cli.html" @@ -9,7 +9,7 @@ categories = ["wasm"] keywords = ["webassembly", "wasm"] repository = "https://github.com/bytecodealliance/wasmtime" readme = "README.md" -edition = "2021" +edition.workspace = true default-run = "wasmtime" [lib] @@ -21,54 +21,53 @@ path = "src/bin/wasmtime.rs" doc = false [dependencies] -wasmtime = { path = "crates/wasmtime", version = "2.0.0", default-features = false, features = ['cache', 'cranelift'] } -wasmtime-cache = { path = "crates/cache", version = "=2.0.0" } -wasmtime-cli-flags = { path = "crates/cli-flags", version = "=2.0.0" } -wasmtime-cranelift = { path = "crates/cranelift", version = "=2.0.0" } -wasmtime-environ = { path = "crates/environ", version = "=2.0.0" } -wasmtime-wast = { path = "crates/wast", version = "=2.0.0" } -wasmtime-wasi = { path = "crates/wasi", version = "2.0.0" } -wasmtime-wasi-crypto = { path = "crates/wasi-crypto", version = "2.0.0", optional = true } -wasmtime-wasi-nn = { path = "crates/wasi-nn", version = "2.0.0", optional = true } -clap = { version = "3.2.0", features = ["color", "suggestions", "derive"] } -anyhow = "1.0.19" -target-lexicon = { version = "0.12.0", default-features = false } +wasmtime = { workspace = true, features = ['cache', 'cranelift'] } +wasmtime-cache = { workspace = true } +wasmtime-cli-flags = { workspace = true } +wasmtime-cranelift = { workspace = true } +wasmtime-environ = { workspace = true } +wasmtime-wast = { workspace = true } +wasmtime-wasi = { workspace = true } +wasmtime-wasi-crypto = { workspace = true, optional = true } +wasmtime-wasi-nn = { workspace = true, optional = true } +clap = { workspace = true, features = ["color", "suggestions", "derive"] } +anyhow = { workspace = true } +target-lexicon = { workspace = true } libc = "0.2.60" humantime = "2.0.0" -once_cell = "1.12" +once_cell = { workspace = true } listenfd = "1.0.0" [target.'cfg(unix)'.dependencies] -rustix = { version = "0.35.10", features = ["mm", "param"] } +rustix = { workspace = true, features = ["mm", "param"] } [dev-dependencies] # depend again on wasmtime to activate its default features for tests -wasmtime = { path = "crates/wasmtime", version = "2.0.0", features = ['component-model'] } -env_logger = "0.9.0" -log = "0.4.8" +wasmtime = { workspace = true, features = ['component-model', 'async', 'default'] } +env_logger = { workspace = true } +log = { workspace = true } filecheck = "0.5.0" tempfile = "3.1.0" test-programs = { path = "crates/test-programs" } -wasmtime-runtime = { path = "crates/runtime" } +wasmtime-runtime = { workspace = true } tokio = { version = "1.8.0", features = ["rt", "time", "macros", "rt-multi-thread"] } -wast = "46.0.0" +wast = { workspace = true } criterion = "0.3.4" num_cpus = "1.13.0" memchr = "2.4" async-trait = "0.1" -wat = "1.0.48" -once_cell = "1.9.0" +wat = { workspace = true } rayon = "1.5.0" +wasmtime-wast = { workspace = true, features = ['component-model'] } +wasmtime-component-util = { workspace = true } component-macro-test = { path = "crates/misc/component-macro-test" } -wasmtime-wast = { path = "crates/wast", version = "=2.0.0", features = ['component-model'] } -component-test-util = { path = "crates/misc/component-test-util" } -wasmtime-component-util = { path = "crates/component-util" } +component-test-util = { workspace = true } [target.'cfg(windows)'.dev-dependencies] -windows-sys = { version = "0.36.0", features = ["Win32_System_Memory"] } +windows-sys = { workspace = true, features = ["Win32_System_Memory"] } [build-dependencies] -anyhow = "1.0.19" +anyhow = { workspace = true } [profile.release.build-override] opt-level = 0 @@ -95,6 +94,76 @@ exclude = [ 'docs/rust_wasi_markdown_parser' ] +[workspace.package] +version = "2.0.0" +authors = ["The Wasmtime Project Developers"] +edition = "2021" + +[workspace.dependencies] +wasmtime = { path = "crates/wasmtime", version = "2.0.0", default-features = false } +wasmtime-cache = { path = "crates/cache", version = "=2.0.0" } +wasmtime-cli-flags = { path = "crates/cli-flags", version = "=2.0.0" } +wasmtime-cranelift = { path = "crates/cranelift", version = "=2.0.0" } +wasmtime-environ = { path = "crates/environ", version = "=2.0.0" } +wasmtime-fiber = { path = "crates/fiber", version = "=2.0.0" } +wasmtime-types = { path = "crates/types", version = "2.0.0" } +wasmtime-jit = { path = "crates/jit", version = "=2.0.0" } +wasmtime-jit-debug = { path = "crates/jit-debug", version = "=2.0.0" } +wasmtime-runtime = { path = "crates/runtime", version = "=2.0.0" } +wasmtime-wast = { path = "crates/wast", version = "=2.0.0" } +wasmtime-wasi = { path = "crates/wasi", version = "2.0.0" } +wasmtime-wasi-crypto = { path = "crates/wasi-crypto", version = "2.0.0" } +wasmtime-wasi-nn = { path = "crates/wasi-nn", version = "2.0.0" } +wasmtime-component-util = { path = "crates/component-util", version = "=2.0.0" } +wasmtime-component-macro = { path = "crates/component-macro", version = "=2.0.0" } +wasmtime-asm-macros = { path = "crates/asm-macros", version = "=2.0.0" } +component-test-util = { path = "crates/misc/component-test-util" } +component-fuzz-util = { path = "crates/misc/component-fuzz-util" } +wiggle = { path = "crates/wiggle", version = "=2.0.0", default-features = false } +wiggle-macro = { path = "crates/wiggle/macro", version = "=2.0.0" } +wiggle-generate = { path = "crates/wiggle/generate", version = "=2.0.0" } +wasi-common = { path = "crates/wasi-common", version = "=2.0.0" } +wasi-tokio = { path = "crates/wasi-common/tokio", version = "=2.0.0" } +wasi-cap-std-sync = { path = "crates/wasi-common/cap-std-sync", version = "=2.0.0" } +wasmtime-fuzzing = { path = "crates/fuzzing" } + +cranelift-wasm = { path = "cranelift/wasm", version = "0.89.0" } +cranelift-codegen = { path = "cranelift/codegen", version = "0.89.0" } +cranelift-frontend = { path = "cranelift/frontend", version = "0.89.0" } +cranelift-entity = { path = "cranelift/entity", version = "0.89.0" } +cranelift-native = { path = "cranelift/native", version = "0.89.0" } +cranelift-module = { path = "cranelift/module", version = "0.89.0" } +cranelift-interpreter = { path = "cranelift/interpreter", version = "0.89.0" } +cranelift-reader = { path = "cranelift/reader", version = "0.89.0" } +cranelift-filetests = { path = "cranelift/filetests" } +cranelift-object = { path = "cranelift/object", version = "0.89.0" } +cranelift-jit = { path = "cranelift/jit", version = "0.89.0" } +cranelift-preopt = { path = "cranelift/preopt", version = "0.89.0" } +cranelift-fuzzgen = { path = "cranelift/fuzzgen" } +cranelift-bforest = { path = "cranelift/bforest", version = "0.89.0" } +cranelift = { path = "cranelift/umbrella", version = "0.89.0" } + +target-lexicon = { version = "0.12.3", default-features = false } +anyhow = "1.0.22" +wasmparser = "0.89.0" +wat = "1.0.48" +wast = "46.0.0" +wasmprinter = "0.2.39" +wasm-encoder = "0.16.0" +wasm-smith = "0.11.4" +wasm-mutate = "0.2.7" +windows-sys = "0.36.0" +env_logger = "0.9" +rustix = "0.35.10" +log = { version = "0.4.8", default-features = false } +object = { version = "0.29", default-features = false, features = ['read_core', 'elf', 'std'] } +gimli = { version = "0.26.0", default-features = false, features = ['read', 'std'] } +clap = { version = "3.2.0", features = ["color", "suggestions", "derive"] } +hashbrown = "0.12" +cap-std = "0.26.0" +once_cell = "1.12.0" +smallvec = { version = "1.6.1", features = ["union"] } + [features] default = [ "jitdump", diff --git a/cranelift/Cargo.toml b/cranelift/Cargo.toml index 9c9cf2407ff9..9f8b1d880a08 100644 --- a/cranelift/Cargo.toml +++ b/cranelift/Cargo.toml @@ -7,7 +7,7 @@ license = "Apache-2.0 WITH LLVM-exception" documentation = "https://github.com/bytecodealliance/wasmtime/blob/main/cranelift/docs/index.md" repository = "https://github.com/bytecodealliance/wasmtime" publish = false -edition = "2021" +edition.workspace = true [[bin]] name = "clif-util" @@ -20,32 +20,32 @@ harness = false [dependencies] cfg-if = "1.0" -cranelift-codegen = { path = "codegen", version = "0.89.0" } -cranelift-entity = { path = "entity", version = "0.89.0" } -cranelift-interpreter = { path = "interpreter", version = "0.89.0" } -cranelift-reader = { path = "reader", version = "0.89.0" } -cranelift-frontend = { path = "frontend", version = "0.89.0" } -cranelift-wasm = { path = "wasm", version = "0.89.0", optional = true } -cranelift-native = { path = "native", version = "0.89.0" } -cranelift-filetests = { path = "filetests", version = "0.73.0" } -cranelift-module = { path = "module", version = "0.89.0" } -cranelift-object = { path = "object", version = "0.89.0" } -cranelift-jit = { path = "jit", version = "0.89.0" } -cranelift-preopt = { path = "preopt", version = "0.89.0" } -cranelift = { path = "umbrella", version = "0.89.0" } +cranelift-codegen = { workspace = true } +cranelift-entity = { workspace = true } +cranelift-interpreter = { workspace = true } +cranelift-reader = { workspace = true } +cranelift-frontend = { workspace = true } +cranelift-wasm = { workspace = true, optional = true } +cranelift-native = { workspace = true } +cranelift-filetests = { workspace = true } +cranelift-module = { workspace = true } +cranelift-object = { workspace = true } +cranelift-jit = { workspace = true } +cranelift-preopt = { workspace = true } +cranelift = { workspace = true } filecheck = "0.5.0" -log = "0.4.8" +log = { workspace = true } termcolor = "1.1.2" capstone = { version = "0.9.0", optional = true } -wat = { version = "1.0.47", optional = true } -target-lexicon = { version = "0.12", features = ["std"] } +wat = { workspace = true, optional = true } +target-lexicon = { workspace = true, features = ["std"] } pretty_env_logger = "0.4.0" rayon = { version = "1", optional = true } indicatif = "0.13.0" thiserror = "1.0.15" walkdir = "2.2" -anyhow = "1.0.32" -clap = { version = "3.2.0", features = ["derive"] } +anyhow = { workspace = true } +clap = { workspace = true } [features] default = ["disas", "wasm", "cranelift-codegen/all-arch", "cranelift-codegen/trace-log", "souper-harvest"] diff --git a/cranelift/bforest/Cargo.toml b/cranelift/bforest/Cargo.toml index 0f4aef922046..b989ccec1265 100644 --- a/cranelift/bforest/Cargo.toml +++ b/cranelift/bforest/Cargo.toml @@ -9,7 +9,7 @@ repository = "https://github.com/bytecodealliance/wasmtime" categories = ["no-std"] readme = "README.md" keywords = ["btree", "forest", "set", "map"] -edition = "2021" +edition.workspace = true [dependencies] cranelift-entity = { path = "../entity", version = "0.89.0", default-features = false } diff --git a/cranelift/codegen/Cargo.toml b/cranelift/codegen/Cargo.toml index dfb12776707f..ec113a194e66 100644 --- a/cranelift/codegen/Cargo.toml +++ b/cranelift/codegen/Cargo.toml @@ -10,21 +10,21 @@ categories = ["no-std"] readme = "README.md" keywords = ["compile", "compiler", "jit"] build = "build.rs" -edition = "2021" +edition.workspace = true [dependencies] arrayvec = "0.7" bumpalo = "3" cranelift-codegen-shared = { path = "./shared", version = "0.89.0" } -cranelift-entity = { path = "../entity", version = "0.89.0" } -cranelift-bforest = { path = "../bforest", version = "0.89.0" } -hashbrown = { version = "0.12", optional = true } -target-lexicon = "0.12" -log = { version = "0.4.6", default-features = false } +cranelift-entity = { workspace = true } +cranelift-bforest = { workspace = true } +hashbrown = { workspace = true, optional = true } +target-lexicon = { workspace = true } +log = { workspace = true } serde = { version = "1.0.94", features = ["derive"], optional = true } bincode = { version = "1.2.1", optional = true } -gimli = { version = "0.26.0", default-features = false, features = ["write"], optional = true } -smallvec = { version = "1.6.1", features = ["union"] } +gimli = { workspace = true, features = ["write"], optional = true } +smallvec = { workspace = true } regalloc2 = { version = "0.4.1", features = ["checker"] } souper-ir = { version = "2.1.0", optional = true } sha2 = { version = "0.9.0", optional = true } diff --git a/cranelift/codegen/meta/Cargo.toml b/cranelift/codegen/meta/Cargo.toml index 630b9b963106..bb8b8a9cd994 100644 --- a/cranelift/codegen/meta/Cargo.toml +++ b/cranelift/codegen/meta/Cargo.toml @@ -6,7 +6,7 @@ description = "Metaprogram for cranelift-codegen code generator library" license = "Apache-2.0 WITH LLVM-exception" repository = "https://github.com/bytecodealliance/wasmtime" readme = "README.md" -edition = "2021" +edition.workspace = true # FIXME(rust-lang/cargo#9300): uncomment once that lands # [package.metadata.docs.rs] diff --git a/cranelift/codegen/shared/Cargo.toml b/cranelift/codegen/shared/Cargo.toml index 683883c6f3c3..badb6f8376f1 100644 --- a/cranelift/codegen/shared/Cargo.toml +++ b/cranelift/codegen/shared/Cargo.toml @@ -6,7 +6,7 @@ description = "For code shared between cranelift-codegen-meta and cranelift-code license = "Apache-2.0 WITH LLVM-exception" repository = "https://github.com/bytecodealliance/wasmtime" readme = "README.md" -edition = "2021" +edition.workspace = true [dependencies] # Since this is a shared dependency of several packages, please strive to keep this dependency-free diff --git a/cranelift/entity/Cargo.toml b/cranelift/entity/Cargo.toml index e5276e081892..1049666b4661 100644 --- a/cranelift/entity/Cargo.toml +++ b/cranelift/entity/Cargo.toml @@ -9,7 +9,7 @@ repository = "https://github.com/bytecodealliance/wasmtime" categories = ["no-std"] readme = "README.md" keywords = ["entity", "set", "map"] -edition = "2021" +edition.workspace = true [dependencies] serde = { version = "1.0.94", features = ["derive"], optional = true } diff --git a/cranelift/filetests/Cargo.toml b/cranelift/filetests/Cargo.toml index 061d3497e382..c143c7634738 100644 --- a/cranelift/filetests/Cargo.toml +++ b/cranelift/filetests/Cargo.toml @@ -1,29 +1,29 @@ [package] name = "cranelift-filetests" authors = ["The Cranelift Project Developers"] -version = "0.73.0" +version = "0.0.0" description = "Test driver and implementations of the filetest commands" license = "Apache-2.0 WITH LLVM-exception" documentation = "https://docs.rs/cranelift-filetests" repository = "https://github.com/bytecodealliance/wasmtime" publish = false -edition = "2021" +edition.workspace = true [dependencies] -cranelift-codegen = { path = "../codegen", version = "0.89.0", features = ["testing_hooks"] } -cranelift-frontend = { path = "../frontend", version = "0.89.0" } -cranelift-interpreter = { path = "../interpreter", version = "0.89.0" } -cranelift-native = { path = "../native", version = "0.89.0" } -cranelift-reader = { path = "../reader", version = "0.89.0" } -cranelift-preopt = { path = "../preopt", version = "0.89.0" } -cranelift-jit = { path = "../jit", version = "0.89.0" } -cranelift-module = { path = "../module", version = "0.89.0" } +cranelift-codegen = { workspace = true, features = ["testing_hooks"] } +cranelift-frontend = { workspace = true } +cranelift-interpreter = { workspace = true } +cranelift-native = { workspace = true } +cranelift-reader = { workspace = true } +cranelift-preopt = { workspace = true } +cranelift-jit = { workspace = true } +cranelift-module = { workspace = true } file-per-thread-logger = "0.1.2" filecheck = "0.5.0" -gimli = { version = "0.26.0", default-features = false, features = ["read"] } -log = "0.4.6" +gimli = { workspace = true } +log = { workspace = true } num_cpus = "1.8.0" -target-lexicon = "0.12" +target-lexicon = { workspace = true } thiserror = "1.0.15" -anyhow = "1.0.32" +anyhow = { workspace = true } similar = "2.1.0" diff --git a/cranelift/frontend/Cargo.toml b/cranelift/frontend/Cargo.toml index fe0624a6a5af..54c150d046a3 100644 --- a/cranelift/frontend/Cargo.toml +++ b/cranelift/frontend/Cargo.toml @@ -8,14 +8,14 @@ documentation = "https://docs.rs/cranelift-frontend" categories = ["no-std"] repository = "https://github.com/bytecodealliance/wasmtime" readme = "README.md" -edition = "2021" +edition.workspace = true [dependencies] -cranelift-codegen = { path = "../codegen", version = "0.89.0", default-features = false } -target-lexicon = "0.12" -log = { version = "0.4.6", default-features = false } -hashbrown = { version = "0.12", optional = true } -smallvec = { version = "1.6.1", features = ["union"] } +cranelift-codegen = { workspace = true, default-features = false } +target-lexicon = { workspace = true } +log = { workspace = true } +hashbrown = { workspace = true, optional = true } +smallvec = { workspace = true } [features] default = ["std"] diff --git a/cranelift/fuzzgen/Cargo.toml b/cranelift/fuzzgen/Cargo.toml index 855ef1e466ce..d5b7116c54c9 100644 --- a/cranelift/fuzzgen/Cargo.toml +++ b/cranelift/fuzzgen/Cargo.toml @@ -1,18 +1,18 @@ [package] name = "cranelift-fuzzgen" -version = "0.75.0" +version = "0.0.0" authors = ["The Wasmtime Project Developers"] description = "Cranelift module generator" license = "Apache-2.0 WITH LLVM-exception" repository = "https://github.com/bytecodealliance/wasmtime" readme = "README.md" -edition = "2021" +edition.workspace = true publish = false [dependencies] -cranelift = { path = "../umbrella", version = "0.89.0" } -cranelift-native = { path = "../native", version = "0.89.0" } +cranelift = { workspace = true } +cranelift-native = { workspace = true } -anyhow = "1.0.19" +anyhow = { workspace = true } arbitrary = "1.0.0" diff --git a/cranelift/interpreter/Cargo.toml b/cranelift/interpreter/Cargo.toml index 7410e35a3a56..3be34e5fcd01 100644 --- a/cranelift/interpreter/Cargo.toml +++ b/cranelift/interpreter/Cargo.toml @@ -8,21 +8,21 @@ documentation = "https://docs.rs/cranelift-interpreter" categories = ["no-std"] license = "Apache-2.0 WITH LLVM-exception" readme = "README.md" -edition = "2021" +edition.workspace = true [dependencies] -cranelift-codegen = { path = "../codegen", version = "0.89.0" } -cranelift-entity = { path = "../entity", version = "0.89.0" } -log = { version = "0.4.8", default-features = false } -smallvec = { version = "1.6.1", features = ["union"] } +cranelift-codegen = { workspace = true } +cranelift-entity = { workspace = true } +log = { workspace = true } +smallvec = { workspace = true } thiserror = "1.0.15" [target.x86_64-pc-windows-gnu.dependencies] libm = "0.2.4" [dev-dependencies] -cranelift-frontend = { path = "../frontend", version = "0.89.0" } -cranelift-reader = { path = "../reader", version = "0.89.0" } +cranelift-frontend = { workspace = true } +cranelift-reader = { workspace = true } [badges] maintenance = { status = "experimental" } diff --git a/cranelift/isle/fuzz/Cargo.toml b/cranelift/isle/fuzz/Cargo.toml index 656da46466bd..a0d55d72dff9 100644 --- a/cranelift/isle/fuzz/Cargo.toml +++ b/cranelift/isle/fuzz/Cargo.toml @@ -3,16 +3,16 @@ name = "isle-fuzz" version = "0.0.0" authors = ["Automatically generated"] publish = false -edition = "2021" +edition.workspace = true [package.metadata] cargo-fuzz = true [dependencies] -env_logger = { version = "0.9.0", default-features = false } +env_logger = { workspace = true } cranelift-isle = { path = "../isle" } libfuzzer-sys = "0.4" -log = "0.4.14" +log = { workspace = true } [[bin]] name = "compile" diff --git a/cranelift/isle/isle/Cargo.toml b/cranelift/isle/isle/Cargo.toml index 6052fb567bc8..5d462987b884 100644 --- a/cranelift/isle/isle/Cargo.toml +++ b/cranelift/isle/isle/Cargo.toml @@ -1,7 +1,7 @@ [package] authors = ["The Cranelift Project Developers"] description = "ISLE: Instruction Selection and Lowering Expressions. A domain-specific language for instruction selection in Cranelift." -edition = "2021" +edition.workspace = true license = "Apache-2.0 WITH LLVM-exception" name = "cranelift-isle" readme = "../README.md" @@ -9,7 +9,7 @@ repository = "https://github.com/bytecodealliance/wasmtime/tree/main/cranelift/i version = "0.89.0" [dependencies] -log = { version = "0.4", optional = true } +log = { workspace = true, optional = true } miette = { version = "5.1.0", optional = true } rayon = "^1.5" diff --git a/cranelift/isle/islec/Cargo.toml b/cranelift/isle/islec/Cargo.toml index 68c2a4ac40ad..4204550fc9f3 100644 --- a/cranelift/isle/islec/Cargo.toml +++ b/cranelift/isle/islec/Cargo.toml @@ -2,12 +2,12 @@ name = "islec" version = "0.1.0" authors = ["The Cranelift Project Developers"] -edition = "2021" +edition.workspace = true license = "Apache-2.0 WITH LLVM-exception" publish = false [dependencies] cranelift-isle = { version = "*", path = "../isle/", features = ["miette-errors", "logging"] } -env_logger = { version = "0.9", default-features = false } +env_logger = { workspace = true } miette = { version = "5.1.0", features = ["fancy"] } -clap = { version = "3.2.0", features = ["derive"] } +clap = { workspace = true } diff --git a/cranelift/jit/Cargo.toml b/cranelift/jit/Cargo.toml index a2f64496aac1..54f8c976d21d 100644 --- a/cranelift/jit/Cargo.toml +++ b/cranelift/jit/Cargo.toml @@ -7,22 +7,22 @@ repository = "https://github.com/bytecodealliance/wasmtime" documentation = "https://docs.rs/cranelift-jit" license = "Apache-2.0 WITH LLVM-exception" readme = "README.md" -edition = "2021" +edition.workspace = true [dependencies] -cranelift-module = { path = "../module", version = "0.89.0" } -cranelift-native = { path = "../native", version = "0.89.0" } -cranelift-codegen = { path = "../codegen", version = "0.89.0", default-features = false, features = ["std"] } -cranelift-entity = { path = "../entity", version = "0.89.0" } -anyhow = "1.0" +cranelift-module = { workspace = true } +cranelift-native = { workspace = true } +cranelift-codegen = { workspace = true, default-features = false, features = ["std"] } +cranelift-entity = { workspace = true } +anyhow = { workspace = true } region = "2.2.0" libc = { version = "0.2.42" } -target-lexicon = "0.12" +target-lexicon = { workspace = true } memmap2 = { version = "0.2.1", optional = true } -log = { version = "0.4.6", default-features = false } +log = { workspace = true } [target.'cfg(windows)'.dependencies.windows-sys] -version = "0.36.0" +workspace = true features = [ "Win32_Foundation", "Win32_System_LibraryLoader", @@ -34,9 +34,9 @@ selinux-fix = ['memmap2'] default = [] [dev-dependencies] -cranelift = { path = "../umbrella", version = "0.89.0" } -cranelift-frontend = { path = "../frontend", version = "0.89.0" } -cranelift-entity = { path = "../entity", version = "0.89.0" } +cranelift = { workspace = true } +cranelift-frontend = { workspace = true } +cranelift-entity = { workspace = true } [badges] maintenance = { status = "experimental" } diff --git a/cranelift/module/Cargo.toml b/cranelift/module/Cargo.toml index aaa4ff1f0f63..d834e8ac371e 100644 --- a/cranelift/module/Cargo.toml +++ b/cranelift/module/Cargo.toml @@ -8,12 +8,12 @@ documentation = "https://docs.rs/cranelift-module" categories = ["no-std"] license = "Apache-2.0 WITH LLVM-exception" readme = "README.md" -edition = "2021" +edition.workspace = true [dependencies] -cranelift-codegen = { path = "../codegen", version = "0.89.0", default-features = false } -hashbrown = { version = "0.12", optional = true } -anyhow = "1.0" +cranelift-codegen = { workspace = true, default-features = false } +hashbrown = { workspace = true, optional = true } +anyhow = { workspace = true } [features] default = ["std"] diff --git a/cranelift/native/Cargo.toml b/cranelift/native/Cargo.toml index a7ebcf8f1a57..ffed0efa3d80 100644 --- a/cranelift/native/Cargo.toml +++ b/cranelift/native/Cargo.toml @@ -8,11 +8,11 @@ repository = "https://github.com/bytecodealliance/wasmtime" categories = ["no-std"] license = "Apache-2.0 WITH LLVM-exception" readme = "README.md" -edition = "2021" +edition.workspace = true [dependencies] -cranelift-codegen = { path = "../codegen", version = "0.89.0", default-features = false } -target-lexicon = "0.12" +cranelift-codegen = { workspace = true, default-features = false } +target-lexicon = { workspace = true } [target.'cfg(target_arch = "s390x")'.dependencies] libc = "0.2.95" diff --git a/cranelift/object/Cargo.toml b/cranelift/object/Cargo.toml index 408a4f8410e7..e0f9484a0350 100644 --- a/cranelift/object/Cargo.toml +++ b/cranelift/object/Cargo.toml @@ -7,19 +7,19 @@ repository = "https://github.com/bytecodealliance/wasmtime" documentation = "https://docs.rs/cranelift-object" license = "Apache-2.0 WITH LLVM-exception" readme = "README.md" -edition = "2021" +edition.workspace = true [dependencies] -cranelift-module = { path = "../module", version = "0.89.0" } -cranelift-codegen = { path = "../codegen", version = "0.89.0", default-features = false, features = ["std"] } -object = { version = "0.29.0", default-features = false, features = ["write"] } -target-lexicon = "0.12" -anyhow = "1.0" -log = { version = "0.4.6", default-features = false } +cranelift-module = { workspace = true } +cranelift-codegen = { workspace = true, default-features = false, features = ["std"] } +object = { workspace = true, features = ["write"] } +target-lexicon = { workspace = true } +anyhow = { workspace = true } +log = { workspace = true } [dev-dependencies] -cranelift-frontend = { path = "../frontend", version = "0.89.0" } -cranelift-entity = { path = "../entity", version = "0.89.0" } +cranelift-frontend = { workspace = true } +cranelift-entity = { workspace = true } [badges] maintenance = { status = "experimental" } diff --git a/cranelift/preopt/Cargo.toml b/cranelift/preopt/Cargo.toml index 24ac92052ca0..a80277da3c9c 100644 --- a/cranelift/preopt/Cargo.toml +++ b/cranelift/preopt/Cargo.toml @@ -9,7 +9,7 @@ repository = "https://github.com/bytecodealliance/wasmtime" categories = ["no-std"] readme = "README.md" keywords = ["optimize", "compile", "compiler", "jit"] -edition = "2021" +edition.workspace = true [dependencies] cranelift-codegen = { path = "../codegen", version = "0.89.0", default-features = false } diff --git a/cranelift/reader/Cargo.toml b/cranelift/reader/Cargo.toml index 1125692ce9bf..1d645512717b 100644 --- a/cranelift/reader/Cargo.toml +++ b/cranelift/reader/Cargo.toml @@ -7,12 +7,12 @@ license = "Apache-2.0 WITH LLVM-exception" documentation = "https://docs.rs/cranelift-reader" repository = "https://github.com/bytecodealliance/wasmtime" readme = "README.md" -edition = "2021" +edition.workspace = true [dependencies] -cranelift-codegen = { path = "../codegen", version = "0.89.0" } -smallvec = { version = "1.6.1", features = ["union"] } -target-lexicon = "0.12" +cranelift-codegen = { workspace = true } +smallvec = { workspace = true } +target-lexicon = { workspace = true } [badges] maintenance = { status = "experimental" } diff --git a/cranelift/serde/Cargo.toml b/cranelift/serde/Cargo.toml index 06c34868f11a..a0a9d99ec387 100644 --- a/cranelift/serde/Cargo.toml +++ b/cranelift/serde/Cargo.toml @@ -7,17 +7,17 @@ repository = "https://github.com/bytecodealliance/wasmtime" license = "Apache-2.0 WITH LLVM-exception" readme = "README.md" keywords = ["webassembly", "serde"] -edition = "2021" +edition.workspace = true [[bin]] name = "clif-json" path = "src/clif-json.rs" [dependencies] -clap = { version = "3.2.0", features = ["derive"] } +clap = { workspace = true } serde_json = "1.0.26" -cranelift-codegen = { path = "../codegen", version = "0.89.0", features = ["enable-serde"] } -cranelift-reader = { path = "../reader", version = "0.89.0" } +cranelift-codegen = { workspace = true, features = ["enable-serde"] } +cranelift-reader = { workspace = true } [badges] maintenance = { status = "experimental" } diff --git a/cranelift/umbrella/Cargo.toml b/cranelift/umbrella/Cargo.toml index 6cb1f5acbbe8..0ee2ee2b3c34 100644 --- a/cranelift/umbrella/Cargo.toml +++ b/cranelift/umbrella/Cargo.toml @@ -9,7 +9,7 @@ repository = "https://github.com/bytecodealliance/wasmtime" categories = ["no-std"] readme = "README.md" keywords = ["compile", "compiler", "jit"] -edition = "2021" +edition.workspace = true [dependencies] cranelift-codegen = { path = "../codegen", version = "0.89.0", default-features = false } diff --git a/cranelift/wasm/Cargo.toml b/cranelift/wasm/Cargo.toml index 0460f2f4a1af..ee3125ac8a45 100644 --- a/cranelift/wasm/Cargo.toml +++ b/cranelift/wasm/Cargo.toml @@ -9,24 +9,23 @@ license = "Apache-2.0 WITH LLVM-exception" categories = ["no-std", "wasm"] readme = "README.md" keywords = ["webassembly", "wasm"] -edition = "2021" +edition.workspace = true [dependencies] -wasmparser = { version = "0.89.0", default-features = false } -cranelift-codegen = { path = "../codegen", version = "0.89.0", default-features = false } -cranelift-entity = { path = "../entity", version = "0.89.0" } -cranelift-frontend = { path = "../frontend", version = "0.89.0", default-features = false } -wasmtime-types = { path = "../../crates/types", version = "2.0.0" } -hashbrown = { version = "0.12", optional = true } +wasmparser = { workspace = true } +cranelift-codegen = { workspace = true, default-features = false } +cranelift-entity = { workspace = true } +cranelift-frontend = { workspace = true, default-features = false } +wasmtime-types = { workspace = true } +hashbrown = { workspace = true, optional = true } itertools = "0.10.0" -log = { version = "0.4.6", default-features = false } +log = { workspace = true } serde = { version = "1.0.94", features = ["derive"], optional = true } smallvec = { version = "1.6.1", features = ["union"] } [dev-dependencies] -wat = "1.0.47" -target-lexicon = "0.12" -cranelift-codegen = { path = "../codegen", version = "0.89.0", default-features = false } +wat = { workspace = true } +target-lexicon = { workspace = true } [features] default = ["std"] diff --git a/crates/asm-macros/Cargo.toml b/crates/asm-macros/Cargo.toml index be8eba890efc..b8b667573f05 100644 --- a/crates/asm-macros/Cargo.toml +++ b/crates/asm-macros/Cargo.toml @@ -1,11 +1,11 @@ [package] authors = ["The Wasmtime Project Developers"] description = "Macros for defining asm functions in Wasmtime" -edition = "2021" +edition.workspace = true license = "Apache-2.0 WITH LLVM-exception" name = "wasmtime-asm-macros" repository = "https://github.com/bytecodealliance/wasmtime" -version = "2.0.0" +version.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/crates/bench-api/Cargo.toml b/crates/bench-api/Cargo.toml index 0139c90556a1..36c830c7971b 100644 --- a/crates/bench-api/Cargo.toml +++ b/crates/bench-api/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "wasmtime-bench-api" -version = "0.19.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "Exposes a benchmarking API for the Wasmtime runtime" license = "Apache-2.0 WITH LLVM-exception" repository = "https://github.com/bytecodealliance/wasmtime" readme = "README.md" -edition = "2021" +edition.workspace = true publish = false [lib] @@ -16,19 +16,19 @@ test = false doctest = false [dependencies] -anyhow = "1.0" +anyhow = { workspace = true } shuffling-allocator = { version = "1.1.1", optional = true } -target-lexicon = "0.12" -wasmtime = { path = "../wasmtime", default-features = true } -wasmtime-cli-flags = { path = "../cli-flags", default-features = true } -wasmtime-wasi = { path = "../wasi" } -wasmtime-wasi-crypto = { path = "../wasi-crypto", optional = true } -wasmtime-wasi-nn = { path = "../wasi-nn", optional = true } -wasi-cap-std-sync = { path = "../wasi-common/cap-std-sync" } -cap-std = "0.26.0" +target-lexicon = { workspace = true } +wasmtime = { workspace = true } +wasmtime-cli-flags = { workspace = true, default-features = true } +wasmtime-wasi = { workspace = true } +wasmtime-wasi-crypto = { workspace = true, optional = true } +wasmtime-wasi-nn = { workspace = true, optional = true } +wasi-cap-std-sync = { workspace = true } +cap-std = { workspace = true } [dev-dependencies] -wat = "1.0.45" +wat = { workspace = true } [features] default = ["shuffling-allocator", "wasi-nn"] diff --git a/crates/c-api/Cargo.toml b/crates/c-api/Cargo.toml index 1576473a9b79..56c3d6d2b362 100644 --- a/crates/c-api/Cargo.toml +++ b/crates/c-api/Cargo.toml @@ -1,12 +1,12 @@ [package] name = "wasmtime-c-api" -version = "0.19.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "C API to expose the Wasmtime runtime" license = "Apache-2.0 WITH LLVM-exception" repository = "https://github.com/bytecodealliance/wasmtime" readme = "README.md" -edition = "2021" +edition.workspace = true publish = false [lib] @@ -17,19 +17,19 @@ test = false doctest = false [dependencies] -env_logger = "0.9" -anyhow = "1.0" -once_cell = "1.3" -wasmtime = { path = "../wasmtime", default-features = false, features = ['cranelift'] } +env_logger = { workspace = true } +anyhow = { workspace = true } +once_cell = { workspace = true } +wasmtime = { workspace = true, features = ['cranelift'] } wasmtime-c-api-macros = { path = "macros" } # Optional dependency for the `wat2wasm` API -wat = { version = "1.0.47", optional = true } +wat = { workspace = true, optional = true } # Optional dependencies for the `wasi` feature -wasi-cap-std-sync = { path = "../wasi-common/cap-std-sync", optional = true } -wasmtime-wasi = { path = "../wasi", optional = true } -cap-std = { version = "0.26.0", optional = true } +wasi-cap-std-sync = { workspace = true, optional = true } +wasmtime-wasi = { workspace = true, optional = true } +cap-std = { workspace = true, optional = true } [features] default = ['jitdump', 'wat', 'wasi', 'cache', 'parallel-compilation', 'memory-init-cow'] diff --git a/crates/c-api/macros/Cargo.toml b/crates/c-api/macros/Cargo.toml index f6eb6ec9dfde..696d9a6dc11d 100644 --- a/crates/c-api/macros/Cargo.toml +++ b/crates/c-api/macros/Cargo.toml @@ -2,7 +2,7 @@ name = "wasmtime-c-api-macros" version = "0.19.0" authors = ["The Wasmtime Project Developers"] -edition = "2021" +edition.workspace = true publish = false [lib] diff --git a/crates/cache/Cargo.toml b/crates/cache/Cargo.toml index cec0556ad666..2506de38a32a 100644 --- a/crates/cache/Cargo.toml +++ b/crates/cache/Cargo.toml @@ -1,36 +1,36 @@ [package] name = "wasmtime-cache" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "Support for automatic module caching with Wasmtime" license = "Apache-2.0 WITH LLVM-exception" repository = "https://github.com/bytecodealliance/wasmtime" documentation = "https://docs.rs/wasmtime-cache/" -edition = "2021" +edition.workspace = true [dependencies] -anyhow = "1.0" +anyhow = { workspace = true } base64 = "0.13.0" bincode = "1.1.4" directories-next = "2.0" file-per-thread-logger = "0.1.1" -log = { version = "0.4.8", default-features = false } +log = { workspace = true } serde = { version = "1.0.94", features = ["derive"] } sha2 = "0.9.0" toml = "0.5.5" zstd = { version = "0.11.1", default-features = false } [target.'cfg(target_os = "windows")'.dependencies.windows-sys] -version = "0.36.0" +workspace = true features = [ "Win32_System_Threading", ] [target.'cfg(not(target_os = "windows"))'.dependencies] -rustix = { version = "0.35.10", features = ["process"] } +rustix = { workspace = true, features = ["process"] } [dev-dependencies] filetime = "0.2.7" -once_cell = "1.12.0" +once_cell = { workspace = true } pretty_env_logger = "0.4.0" tempfile = "3" diff --git a/crates/cli-flags/Cargo.toml b/crates/cli-flags/Cargo.toml index 2b406c318a59..ecaf0354e118 100644 --- a/crates/cli-flags/Cargo.toml +++ b/crates/cli-flags/Cargo.toml @@ -1,20 +1,20 @@ [package] name = "wasmtime-cli-flags" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "Exposes common CLI flags used for running Wasmtime" license = "Apache-2.0 WITH LLVM-exception" repository = "https://github.com/bytecodealliance/wasmtime" documentation = "https://docs.rs/wasmtime-cache/" -edition = "2021" +edition.workspace = true [dependencies] -anyhow = "1.0.19" -clap = { version = "3.2.0", features = ["color", "suggestions", "derive"] } +anyhow = { workspace = true } +clap = { workspace = true } file-per-thread-logger = "0.1.1" pretty_env_logger = "0.4.0" rayon = "1.5.0" -wasmtime = { path = "../wasmtime", version = "2.0.0", default-features = false } +wasmtime = { workspace = true } [features] default = [ diff --git a/crates/component-macro/Cargo.toml b/crates/component-macro/Cargo.toml index b0b5e9118910..882f497092d9 100644 --- a/crates/component-macro/Cargo.toml +++ b/crates/component-macro/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "wasmtime-component-macro" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "Macros for deriving component interface types from Rust types" license = "Apache-2.0 WITH LLVM-exception" repository = "https://github.com/bytecodealliance/wasmtime" documentation = "https://docs.rs/wasmtime-component-macro/" categories = ["wasm"] keywords = ["webassembly", "wasm"] -edition = "2021" +edition.workspace = true [lib] proc-macro = true @@ -17,7 +17,7 @@ proc-macro = true proc-macro2 = "1.0" quote = "1.0" syn = { version = "1.0", features = ["extra-traits"] } -wasmtime-component-util = { path = "../component-util", version = "=2.0.0" } +wasmtime-component-util = { workspace = true } [badges] maintenance = { status = "actively-developed" } diff --git a/crates/component-util/Cargo.toml b/crates/component-util/Cargo.toml index 2e83b630ddf0..f51f761301ce 100644 --- a/crates/component-util/Cargo.toml +++ b/crates/component-util/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "wasmtime-component-util" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "Utility types and functions to support the component model in Wasmtime" license = "Apache-2.0 WITH LLVM-exception" repository = "https://github.com/bytecodealliance/wasmtime" documentation = "https://docs.rs/wasmtime-component-util/" categories = ["wasm"] keywords = ["webassembly", "wasm"] -edition = "2021" +edition.workspace = true diff --git a/crates/cranelift/Cargo.toml b/crates/cranelift/Cargo.toml index 4ade29328d38..94e278fcfb10 100644 --- a/crates/cranelift/Cargo.toml +++ b/crates/cranelift/Cargo.toml @@ -1,28 +1,28 @@ [package] name = "wasmtime-cranelift" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "Integration between Cranelift and Wasmtime" license = "Apache-2.0 WITH LLVM-exception" repository = "https://github.com/bytecodealliance/wasmtime" documentation = "https://docs.rs/wasmtime-cranelift/" categories = ["wasm"] keywords = ["webassembly", "wasm"] -edition = "2021" +edition.workspace = true [dependencies] -anyhow = "1.0" -log = "0.4" -wasmtime-environ = { path = "../environ", version = "=2.0.0" } -cranelift-wasm = { path = "../../cranelift/wasm", version = "0.89.0" } -cranelift-codegen = { path = "../../cranelift/codegen", version = "0.89.0" } -cranelift-frontend = { path = "../../cranelift/frontend", version = "0.89.0" } -cranelift-entity = { path = "../../cranelift/entity", version = "0.89.0" } -cranelift-native = { path = "../../cranelift/native", version = "0.89.0" } -wasmparser = "0.89.0" -target-lexicon = "0.12" -gimli = { version = "0.26.0", default-features = false, features = ['read', 'std'] } -object = { version = "0.29.0", default-features = false, features = ['write'] } +anyhow = { workspace = true } +log = { workspace = true } +wasmtime-environ = { workspace = true } +cranelift-wasm = { workspace = true } +cranelift-codegen = { workspace = true } +cranelift-frontend = { workspace = true } +cranelift-entity = { workspace = true } +cranelift-native = { workspace = true } +wasmparser = { workspace = true } +target-lexicon = { workspace = true } +gimli = { workspace = true } +object = { workspace = true, features = ['write'] } thiserror = "1.0.4" [features] diff --git a/crates/environ/Cargo.toml b/crates/environ/Cargo.toml index 47cc2184b06e..f615b99aee3c 100644 --- a/crates/environ/Cargo.toml +++ b/crates/environ/Cargo.toml @@ -1,36 +1,36 @@ [package] name = "wasmtime-environ" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "Standalone environment support for WebAsssembly code in Cranelift" license = "Apache-2.0 WITH LLVM-exception" repository = "https://github.com/bytecodealliance/wasmtime" documentation = "https://docs.rs/wasmtime-environ/" categories = ["wasm"] keywords = ["webassembly", "wasm"] -edition = "2021" +edition.workspace = true [dependencies] -anyhow = "1.0" -cranelift-entity = { path = "../../cranelift/entity", version = "0.89.0" } -wasmtime-types = { path = "../types", version = "2.0.0" } -wasmparser = "0.89.0" +anyhow = { workspace = true } +cranelift-entity = { workspace = true } +wasmtime-types = { workspace = true } +wasmparser = { workspace = true } indexmap = { version = "1.0.2", features = ["serde-1"] } thiserror = "1.0.4" serde = { version = "1.0.94", features = ["derive"] } -log = { version = "0.4.8", default-features = false } -gimli = { version = "0.26.0", default-features = false, features = ['read'] } -object = { version = "0.29.0", default-features = false, features = ['read_core', 'write_core', 'elf'] } -target-lexicon = "0.12" -wasm-encoder = { version = "0.16.0", optional = true } -wasmprinter = { version = "0.2.39", optional = true } -wasmtime-component-util = { path = "../component-util", version = "=2.0.0", optional = true } +log = { workspace = true } +gimli = { workspace = true } +object = { workspace = true, features = ['write_core'] } +target-lexicon = { workspace = true } +wasm-encoder = { workspace = true, optional = true } +wasmprinter = { workspace = true, optional = true } +wasmtime-component-util = { workspace = true, optional = true } [dev-dependencies] atty = "0.2.14" -clap = { version = "3.2.8", features = ['derive'] } -env_logger = "0.9.0" -wat = "1.0.48" +clap = { workspace = true } +env_logger = { workspace = true } +wat = { workspace = true } [[example]] name = "factc" diff --git a/crates/environ/fuzz/Cargo.toml b/crates/environ/fuzz/Cargo.toml index 56f228c3e637..cacfcf69bdb2 100644 --- a/crates/environ/fuzz/Cargo.toml +++ b/crates/environ/fuzz/Cargo.toml @@ -3,7 +3,7 @@ name = "wasmtime-environ-fuzz" version = "0.0.0" authors = ["Automatically generated"] publish = false -edition = "2018" +edition.workspace = true [package.metadata] cargo-fuzz = true @@ -12,11 +12,11 @@ cargo-fuzz = true arbitrary = { version = "1.1.0", features = ["derive"] } env_logger = "0.9.0" libfuzzer-sys = "0.4" -wasmparser = "0.89.0" -wasmprinter = "0.2.39" -wat = "1.0" -wasmtime-environ = { path = ".." } -component-fuzz-util = { path = "../../misc/component-fuzz-util", optional = true } +wasmparser = { workspace = true } +wasmprinter = { workspace = true } +wat = { workspace = true } +wasmtime-environ = { workspace = true } +component-fuzz-util = { workspace = true, optional = true } [[bin]] name = "fact-valid-module" diff --git a/crates/fiber/Cargo.toml b/crates/fiber/Cargo.toml index a798da089bbf..1ba28127520e 100644 --- a/crates/fiber/Cargo.toml +++ b/crates/fiber/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "wasmtime-fiber" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "Fiber support for Wasmtime" license = "Apache-2.0 WITH LLVM-exception" repository = "https://github.com/bytecodealliance/wasmtime" -edition = "2021" +edition.workspace = true # We link to some native code with symbols that don't change often, so let Cargo # know that we can't show up multiple times in a crate graph. If this is an @@ -17,11 +17,11 @@ links = "wasmtime-fiber-shims" cfg-if = "1.0" [target.'cfg(unix)'.dependencies] -rustix = { version = "0.35.10", features = ["mm", "param"] } -wasmtime-asm-macros = { version = "=2.0.0", path = "../asm-macros" } +rustix = { workspace = true, features = ["mm", "param"] } +wasmtime-asm-macros = { workspace = true } [target.'cfg(windows)'.dependencies.windows-sys] -version = "0.36.1" +workspace = true features = [ "Win32_System_Threading", "Win32_Foundation", diff --git a/crates/fuzzing/Cargo.toml b/crates/fuzzing/Cargo.toml index 823aaf5337e8..7eed74511ec6 100644 --- a/crates/fuzzing/Cargo.toml +++ b/crates/fuzzing/Cargo.toml @@ -1,29 +1,29 @@ [package] -authors = ["The Wasmtime Project Developers"] +authors.workspace = true description = "Fuzzing infrastructure for Wasmtime" -edition = "2021" +edition.workspace = true name = "wasmtime-fuzzing" publish = false -version = "0.19.0" +version = "0.0.0" license = "Apache-2.0 WITH LLVM-exception" [dependencies] -anyhow = "1.0.22" +anyhow = { workspace = true } arbitrary = { version = "1.1.0", features = ["derive"] } -component-test-util = { path = "../misc/component-test-util" } -component-fuzz-util = { path = "../misc/component-fuzz-util" } -env_logger = "0.9.0" -log = "0.4.8" +component-test-util = { workspace = true } +component-fuzz-util = { workspace = true } +env_logger = { workspace = true } +log = { workspace = true } rayon = "1.2.1" -target-lexicon = "0.12.3" +target-lexicon = { workspace = true } tempfile = "3.3.0" -wasmparser = "0.89.0" -wasmprinter = "0.2.39" -wasmtime = { path = "../wasmtime" } -wasmtime-wast = { path = "../wast" } -wasm-encoder = "0.16.0" -wasm-smith = "0.11.4" -wasm-mutate = "0.2.7" +wasmparser = { workspace = true } +wasmprinter = { workspace = true } +wasmtime = { workspace = true, features = ['default'] } +wasmtime-wast = { workspace = true } +wasm-encoder = { workspace = true } +wasm-smith = { workspace = true } +wasm-mutate = { workspace = true } wasm-spec-interpreter = { path = "./wasm-spec-interpreter", optional = true } wasmi = "0.11.0" @@ -35,7 +35,7 @@ wasmi = "0.11.0" v8 = "0.44.3" [dev-dependencies] -wat = "1.0.48" +wat = { workspace = true } rand = { version = "0.8.0", features = ["small_rng"] } # Only enable the `build-libinterpret` feature when fuzzing is enabled, enabling diff --git a/crates/fuzzing/wasm-spec-interpreter/Cargo.toml b/crates/fuzzing/wasm-spec-interpreter/Cargo.toml index 35c36cca09ab..1f17e5128b15 100644 --- a/crates/fuzzing/wasm-spec-interpreter/Cargo.toml +++ b/crates/fuzzing/wasm-spec-interpreter/Cargo.toml @@ -4,7 +4,7 @@ description = "A Rust-to-OCaml wrapper for the WebAssembly specification interpr name = "wasm-spec-interpreter" version = "0.1.0" publish = false -edition = "2021" +edition.workspace = true license = "Apache-2.0 WITH LLVM-exception" # Until https://gitlab.com/ocaml-rust/ocaml-boxroot/-/issues/1 is resolved and @@ -13,10 +13,10 @@ license = "Apache-2.0 WITH LLVM-exception" # `build-libinterpret` feature set by this crate's parent). [dependencies] ocaml-interop = { version = "0.8", optional = true } -once_cell = { version = "1.12.0", optional = true } +once_cell = { workspace = true, optional = true } [dev-dependencies] -wat = "1.0.47" +wat = { workspace = true } [features] build-libinterpret = ["ocaml-interop", "once_cell"] diff --git a/crates/jit-debug/Cargo.toml b/crates/jit-debug/Cargo.toml index b6a1cd83831c..4248e8578d16 100644 --- a/crates/jit-debug/Cargo.toml +++ b/crates/jit-debug/Cargo.toml @@ -1,21 +1,21 @@ [package] name = "wasmtime-jit-debug" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "JIT debug interfaces support for Wasmtime" license = "Apache-2.0 WITH LLVM-exception" categories = ["development-tools::debugging"] keywords = ["gdb", "jit"] repository = "https://github.com/bytecodealliance/wasmtime" readme = "README.md" -edition = "2021" +edition.workspace = true [dependencies] -once_cell = {version = "1.12.0", optional = true } -object = { version = "0.29.0", default-features = false, features = ["std", "read_core"], optional = true } +once_cell = { workspace = true, optional = true } +object = { workspace = true, optional = true } [target.'cfg(target_os = "linux")'.dependencies] -rustix = { version = "0.35.10", features = ["mm", "param", "time"], optional = true } +rustix = { workspace = true, features = ["mm", "param", "time"], optional = true } [badges] maintenance = { status = "actively-developed" } diff --git a/crates/jit/Cargo.toml b/crates/jit/Cargo.toml index 40f093fa23ee..b555010552a5 100644 --- a/crates/jit/Cargo.toml +++ b/crates/jit/Cargo.toml @@ -1,40 +1,40 @@ [package] name = "wasmtime-jit" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "JIT-style execution for WebAsssembly code in Cranelift" documentation = "https://docs.rs/wasmtime-jit" license = "Apache-2.0 WITH LLVM-exception" categories = ["wasm"] keywords = ["webassembly", "wasm"] repository = "https://github.com/bytecodealliance/wasmtime" -edition = "2021" +edition.workspace = true [dependencies] -wasmtime-environ = { path = "../environ", version = "=2.0.0" } -wasmtime-jit-debug = { path = "../jit-debug", version = "=2.0.0", features = ["perf_jitdump"], optional = true } -wasmtime-runtime = { path = "../runtime", version = "=2.0.0" } +wasmtime-environ = { workspace = true } +wasmtime-jit-debug = { workspace = true, features = ["perf_jitdump"], optional = true } +wasmtime-runtime = { workspace = true } thiserror = "1.0.4" -target-lexicon = { version = "0.12.0", default-features = false } -anyhow = "1.0" +target-lexicon = { workspace = true } +anyhow = { workspace = true } cfg-if = "1.0" -gimli = { version = "0.26.0", default-features = false, features = ["std", "read"] } -object = { version = "0.29.0", default-features = false, features = ["std", "read_core", "elf"] } +gimli = { workspace = true } +object = { workspace = true } serde = { version = "1.0.94", features = ["derive"] } addr2line = { version = "0.17.0", default-features = false } bincode = "1.2.1" rustc-demangle = "0.1.16" cpp_demangle = "0.3.2" -log = "0.4.8" +log = { workspace = true } [target.'cfg(target_os = "windows")'.dependencies.windows-sys] -version = "0.36.0" +workspace = true features = [ "Win32_System_Diagnostics_Debug", ] [target.'cfg(target_os = "linux")'.dependencies] -rustix = { version = "0.35.10", features = ["process"] } +rustix = { workspace = true, features = ["process"] } [target.'cfg(target_arch = "x86_64")'.dependencies] ittapi = { version = "0.3.0", optional = true } diff --git a/crates/misc/component-fuzz-util/Cargo.toml b/crates/misc/component-fuzz-util/Cargo.toml index e17332334049..c1a64c59659f 100644 --- a/crates/misc/component-fuzz-util/Cargo.toml +++ b/crates/misc/component-fuzz-util/Cargo.toml @@ -2,13 +2,13 @@ name = "component-fuzz-util" authors = ["The Wasmtime Project Developers"] license = "Apache-2.0 WITH LLVM-exception" -version = "0.1.0" -edition = "2021" +version = "0.0.0" +edition.workspace = true publish = false [dependencies] -anyhow = { version = "1.0.19" } +anyhow = { workspace = true } arbitrary = { version = "1.1.0", features = ["derive"] } proc-macro2 = "1.0" quote = "1.0" -wasmtime-component-util = { path = "../../component-util" } +wasmtime-component-util = { workspace = true } diff --git a/crates/misc/component-macro-test/Cargo.toml b/crates/misc/component-macro-test/Cargo.toml index f613aaeb2f77..4cbf0ce7f6d1 100644 --- a/crates/misc/component-macro-test/Cargo.toml +++ b/crates/misc/component-macro-test/Cargo.toml @@ -3,7 +3,7 @@ name = "component-macro-test" authors = ["The Wasmtime Project Developers"] license = "Apache-2.0 WITH LLVM-exception" version = "0.1.0" -edition = "2021" +edition.workspace = true publish = false [lib] diff --git a/crates/misc/component-test-util/Cargo.toml b/crates/misc/component-test-util/Cargo.toml index 1c5012d32fcb..f73edc6a4aa9 100644 --- a/crates/misc/component-test-util/Cargo.toml +++ b/crates/misc/component-test-util/Cargo.toml @@ -2,12 +2,12 @@ name = "component-test-util" authors = ["The Wasmtime Project Developers"] license = "Apache-2.0 WITH LLVM-exception" -version = "0.1.0" -edition = "2021" +version = "0.0.0" +edition.workspace = true publish = false [dependencies] -env_logger = "0.9.0" -anyhow = "1.0.19" +env_logger = { workspace = true } +anyhow = { workspace = true } arbitrary = { version = "1.1.0", features = ["derive"] } -wasmtime = { path = "../../wasmtime", features = ["component-model"] } +wasmtime = { workspace = true, features = ["component-model"] } diff --git a/crates/runtime/Cargo.toml b/crates/runtime/Cargo.toml index 4dca85ba00b6..2c002cdca776 100644 --- a/crates/runtime/Cargo.toml +++ b/crates/runtime/Cargo.toml @@ -1,28 +1,28 @@ [package] name = "wasmtime-runtime" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "Runtime library support for Wasmtime" documentation = "https://docs.rs/wasmtime-runtime" license = "Apache-2.0 WITH LLVM-exception" categories = ["wasm"] keywords = ["webassembly", "wasm"] repository = "https://github.com/bytecodealliance/wasmtime" -edition = "2021" +edition.workspace = true [dependencies] -wasmtime-asm-macros = { path = "../asm-macros", version = "=2.0.0" } -wasmtime-environ = { path = "../environ", version = "=2.0.0" } -wasmtime-fiber = { path = "../fiber", version = "=2.0.0", optional = true } -wasmtime-jit-debug = { path = "../jit-debug", version = "=2.0.0", features = ["gdb_jit_int"] } +wasmtime-asm-macros = { workspace = true } +wasmtime-environ = { workspace = true } +wasmtime-fiber = { workspace = true, optional = true } +wasmtime-jit-debug = { workspace = true, features = ["gdb_jit_int"] } libc = { version = "0.2.112", default-features = false } -log = "0.4.8" +log = { workspace = true } memoffset = "0.6.0" indexmap = "1.0.2" thiserror = "1.0.4" cfg-if = "1.0" rand = "0.8.3" -anyhow = "1.0.38" +anyhow = { workspace = true } memfd = { version = "0.6.1", optional = true } paste = "1.0.3" encoding_rs = { version = "0.8.31", optional = true } @@ -31,10 +31,10 @@ encoding_rs = { version = "0.8.31", optional = true } mach = "0.3.2" [target.'cfg(unix)'.dependencies] -rustix = { version = "0.35.10", features = ["mm"] } +rustix = { workspace = true, features = ["mm"] } [target.'cfg(target_os = "windows")'.dependencies.windows-sys] -version = "0.36.0" +workspace = true features = [ "Win32_System_Kernel", "Win32_System_Memory", diff --git a/crates/test-programs/Cargo.toml b/crates/test-programs/Cargo.toml index 0ec677ff53ad..9e537f69b6c5 100644 --- a/crates/test-programs/Cargo.toml +++ b/crates/test-programs/Cargo.toml @@ -3,7 +3,7 @@ name = "test-programs" version = "0.19.0" authors = ["The Wasmtime Project Developers"] readme = "README.md" -edition = "2021" +edition.workspace = true publish = false license = "Apache-2.0 WITH LLVM-exception" @@ -11,17 +11,17 @@ license = "Apache-2.0 WITH LLVM-exception" cfg-if = "1.0" [dev-dependencies] -wasi-common = { path = "../wasi-common", version = "2.0.0" } -wasi-cap-std-sync = { path = "../wasi-common/cap-std-sync", version = "2.0.0" } -wasmtime = { path = "../wasmtime", version = "2.0.0" } -wasmtime-wasi = { path = "../wasi", version = "2.0.0", features = ["tokio"] } -target-lexicon = "0.12.0" +wasi-common = { workspace = true } +wasi-cap-std-sync = { workspace = true } +wasmtime = { workspace = true } +wasmtime-wasi = { workspace = true, features = ["tokio"] } +target-lexicon = { workspace = true } tracing-subscriber = { version = "0.3.1", default-features = false, features = ['fmt'] } tempfile = "3.1.0" os_pipe = "0.9" -anyhow = "1.0.19" -wat = "1.0.47" -cap-std = "0.26.0" +anyhow = { workspace = true } +wat = { workspace = true } +cap-std = { workspace = true } tokio = { version = "1.8.0", features = ["rt-multi-thread"] } [features] diff --git a/crates/test-programs/wasi-tests/Cargo.lock b/crates/test-programs/wasi-tests/Cargo.lock index 7915a02072a3..004fa00ccb10 100644 --- a/crates/test-programs/wasi-tests/Cargo.lock +++ b/crates/test-programs/wasi-tests/Cargo.lock @@ -22,7 +22,7 @@ checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" [[package]] name = "wasi-tests" -version = "0.19.0" +version = "0.0.0" dependencies = [ "libc", "once_cell", diff --git a/crates/test-programs/wasi-tests/Cargo.toml b/crates/test-programs/wasi-tests/Cargo.toml index 8582ab897e9a..53e4691bfc50 100644 --- a/crates/test-programs/wasi-tests/Cargo.toml +++ b/crates/test-programs/wasi-tests/Cargo.toml @@ -1,7 +1,6 @@ [package] name = "wasi-tests" -version = "0.19.0" -authors = ["The Wasmtime Project Developers"] +version = "0.0.0" readme = "README.md" edition = "2021" publish = false @@ -9,7 +8,7 @@ publish = false [dependencies] libc = "0.2.65" wasi = "0.10.2" -once_cell = "1.12.0" +once_cell = "1.12" # This crate is built with the wasm32-wasi target, so it's separate # from the main Wasmtime build, so use this directive to exclude it diff --git a/crates/types/Cargo.toml b/crates/types/Cargo.toml index 502808cf6118..032e7017d798 100644 --- a/crates/types/Cargo.toml +++ b/crates/types/Cargo.toml @@ -1,15 +1,15 @@ [package] name = "wasmtime-types" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "WebAssembly type definitions for Cranelift" license = "Apache-2.0 WITH LLVM-exception" repository = "https://github.com/bytecodealliance/wasmtime" documentation = "https://docs.rs/wasmtime-types" -edition = "2021" +edition.workspace = true [dependencies] -cranelift-entity = { path = "../../cranelift/entity", version = "0.89.0", features = ['enable-serde'] } +cranelift-entity = { workspace = true, features = ['enable-serde'] } serde = { version = "1.0.94", features = ["derive"] } thiserror = "1.0.4" -wasmparser = { version = "0.89.0", default-features = false } +wasmparser = { workspace = true } diff --git a/crates/wasi-common/Cargo.toml b/crates/wasi-common/Cargo.toml index 22db5b74a89d..6ef6dc6cfdb9 100644 --- a/crates/wasi-common/Cargo.toml +++ b/crates/wasi-common/Cargo.toml @@ -1,14 +1,14 @@ [package] name = "wasi-common" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "WASI implementation in Rust" license = "Apache-2.0 WITH LLVM-exception" categories = ["wasm"] keywords = ["webassembly", "wasm"] repository = "https://github.com/bytecodealliance/wasmtime" readme = "README.md" -edition = "2021" +edition.workspace = true include = ["src/**/*", "WASI/phases/**/*", "README.md", "LICENSE", "build.rs"] build = "build.rs" @@ -18,22 +18,22 @@ build = "build.rs" links = "wasi-common-19" [dependencies] -anyhow = "1.0" +anyhow = { workspace = true } thiserror = "1.0" -wiggle = { path = "../wiggle", default-features = false, version = "=2.0.0" } +wiggle = { workspace = true, default-features = false } tracing = "0.1.19" -cap-std = "0.26.0" +cap-std = { workspace = true } cap-rand = "0.26.0" bitflags = "1.2" [target.'cfg(unix)'.dependencies] -rustix = { version = "0.35.10", features = ["fs"] } +rustix = { workspace = true, features = ["fs"] } [target.'cfg(windows)'.dependencies] io-extras = "0.15.0" [target.'cfg(windows)'.dependencies.windows-sys] -version = "0.36.0" +workspace = true features = [ "Win32_Foundation", "Win32_Networking_WinSock", diff --git a/crates/wasi-common/cap-std-sync/Cargo.toml b/crates/wasi-common/cap-std-sync/Cargo.toml index 5081d3509949..d73b9e2cf903 100644 --- a/crates/wasi-common/cap-std-sync/Cargo.toml +++ b/crates/wasi-common/cap-std-sync/Cargo.toml @@ -1,21 +1,21 @@ [package] name = "wasi-cap-std-sync" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "WASI implementation in Rust" license = "Apache-2.0 WITH LLVM-exception" categories = ["wasm"] keywords = ["webassembly", "wasm"] repository = "https://github.com/bytecodealliance/wasmtime" readme = "README.md" -edition = "2021" +edition.workspace = true include = ["src/**/*", "README.md", "LICENSE" ] [dependencies] -wasi-common = { path = "../", version = "=2.0.0" } +wasi-common = { workspace = true } async-trait = "0.1" -anyhow = "1.0" -cap-std = "0.26.0" +anyhow = { workspace = true } +cap-std = { workspace = true } cap-fs-ext = "0.26.0" cap-time-ext = "0.26.0" cap-rand = "0.26.0" @@ -26,15 +26,15 @@ io-lifetimes = { version = "0.7.0", default-features = false } is-terminal = "0.3.0" [target.'cfg(unix)'.dependencies] -rustix = { version = "0.35.10", features = ["fs"] } +rustix = { workspace = true, features = ["fs"] } [target.'cfg(windows)'.dependencies] -once_cell = "1.12.0" +once_cell = { workspace = true } io-extras = "0.15.0" -rustix = { version = "0.35.10", features = ["net"] } +rustix = { workspace = true, features = ["net"] } [target.'cfg(windows)'.dependencies.windows-sys] -version = "0.36.0" +workspace = true features = [ "Win32_Foundation", ] diff --git a/crates/wasi-common/tokio/Cargo.toml b/crates/wasi-common/tokio/Cargo.toml index cbb7b8684631..f0e9582ecdea 100644 --- a/crates/wasi-common/tokio/Cargo.toml +++ b/crates/wasi-common/tokio/Cargo.toml @@ -1,26 +1,26 @@ [package] name = "wasi-tokio" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "WASI implementation in Rust" license = "Apache-2.0 WITH LLVM-exception" categories = ["wasm"] keywords = ["webassembly", "wasm"] repository = "https://github.com/bytecodealliance/wasmtime" -edition = "2021" +edition.workspace = true include = ["src/**/*", "LICENSE" ] [dependencies] -wasi-common = { path = "../", version = "=2.0.0" } -wasi-cap-std-sync = { path = "../cap-std-sync", version = "=2.0.0" } -wiggle = { path = "../../wiggle", version = "=2.0.0" } +wasi-common = { workspace = true } +wasi-cap-std-sync = { workspace = true } +wiggle = { workspace = true, features = ['wasmtime_integration'] } tokio = { version = "1.8.0", features = [ "rt", "fs", "time", "io-util", "net", "io-std", "rt-multi-thread"] } -cap-std = "0.26.0" -anyhow = "1" +cap-std = { workspace = true } +anyhow = { workspace = true } io-lifetimes = { version = "0.7.0", default-features = false } [target.'cfg(unix)'.dependencies] -rustix = { version = "0.35.10", features = ["fs"] } +rustix = { workspace = true, features = ["fs"] } [target.'cfg(windows)'.dependencies] io-extras = "0.15.0" @@ -28,5 +28,4 @@ io-extras = "0.15.0" [dev-dependencies] tempfile = "3.1.0" tokio = { version = "1.8.0", features = [ "macros" ] } -anyhow = "1" cap-tempfile = "0.26.0" diff --git a/crates/wasi-crypto/Cargo.toml b/crates/wasi-crypto/Cargo.toml index e26471269010..ae5eede45291 100644 --- a/crates/wasi-crypto/Cargo.toml +++ b/crates/wasi-crypto/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "wasmtime-wasi-crypto" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "Wasmtime implementation of the wasi-crypto API" documentation = "https://docs.rs/wasmtime-wasi-crypto" license = "Apache-2.0 WITH LLVM-exception" @@ -9,13 +9,13 @@ categories = ["wasm", "cryptography"] keywords = ["webassembly", "wasm", "crypto"] repository = "https://github.com/bytecodealliance/wasmtime" readme = "README.md" -edition = "2021" +edition.workspace = true [dependencies] -anyhow = "1.0" +anyhow = { workspace = true } wasi-crypto = { path = "spec/implementations/hostcalls/rust", version = "0.1.5" } -wasmtime = { path = "../wasmtime", version = "2.0.0", default-features = false } -wiggle = { path = "../wiggle", version = "=2.0.0" } +wasmtime = { workspace = true } +wiggle = { workspace = true, default-features = true, features = ['wasmtime_integration'] } [badges] maintenance = { status = "experimental" } diff --git a/crates/wasi-nn/Cargo.toml b/crates/wasi-nn/Cargo.toml index 42f0ff8ecb61..1448c2b36101 100644 --- a/crates/wasi-nn/Cargo.toml +++ b/crates/wasi-nn/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "wasmtime-wasi-nn" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "Wasmtime implementation of the wasi-nn API" documentation = "https://docs.rs/wasmtime-wasi-nn" license = "Apache-2.0 WITH LLVM-exception" @@ -9,12 +9,12 @@ categories = ["wasm", "computer-vision"] keywords = ["webassembly", "wasm", "neural-network"] repository = "https://github.com/bytecodealliance/wasmtime" readme = "README.md" -edition = "2021" +edition.workspace = true [dependencies] # These dependencies are necessary for the witx-generation macros to work: -anyhow = "1.0" -wiggle = { path = "../wiggle", version = "=2.0.0" } +anyhow = { workspace = true } +wiggle = { workspace = true } # These dependencies are necessary for the wasi-nn implementation: openvino = { version = "0.4.1", features = ["runtime-linking"] } diff --git a/crates/wasi/Cargo.toml b/crates/wasi/Cargo.toml index e257625c1a69..a2cb669ec47c 100644 --- a/crates/wasi/Cargo.toml +++ b/crates/wasi/Cargo.toml @@ -1,24 +1,24 @@ [package] name = "wasmtime-wasi" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "WASI implementation in Rust" license = "Apache-2.0 WITH LLVM-exception" categories = ["wasm"] keywords = ["webassembly", "wasm"] repository = "https://github.com/bytecodealliance/wasmtime" readme = "README.md" -edition = "2021" +edition.workspace = true include = ["src/**/*", "README.md", "LICENSE", "build.rs"] build = "build.rs" [dependencies] -wasi-common = { path = "../wasi-common", version = "=2.0.0" } -wasi-cap-std-sync = { path = "../wasi-common/cap-std-sync", version = "=2.0.0", optional = true } -wasi-tokio = { path = "../wasi-common/tokio", version = "=2.0.0", optional = true } -wiggle = { path = "../wiggle", default-features = false, version = "=2.0.0", features = ["wasmtime_integration"] } -wasmtime = { path = "../wasmtime", default-features = false, version = "2.0.0" } -anyhow = "1.0" +wasi-common = { workspace = true } +wasi-cap-std-sync = { workspace = true, optional = true } +wasi-tokio = { workspace = true, optional = true } +wiggle = { workspace = true, default-features = false, features = ["wasmtime_integration"] } +wasmtime = { workspace = true } +anyhow = { workspace = true } [features] default = ["sync"] diff --git a/crates/wasmtime/Cargo.toml b/crates/wasmtime/Cargo.toml index 0e9f5d617f7a..58667f22e845 100644 --- a/crates/wasmtime/Cargo.toml +++ b/crates/wasmtime/Cargo.toml @@ -1,46 +1,46 @@ [package] name = "wasmtime" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "High-level API to expose the Wasmtime runtime" documentation = "https://docs.rs/wasmtime" license = "Apache-2.0 WITH LLVM-exception" repository = "https://github.com/bytecodealliance/wasmtime" readme = "README.md" -edition = "2021" +edition.workspace = true [package.metadata.docs.rs] rustdoc-args = ["--cfg", "nightlydoc"] [dependencies] -wasmtime-runtime = { path = "../runtime", version = "=2.0.0" } -wasmtime-environ = { path = "../environ", version = "=2.0.0" } -wasmtime-jit = { path = "../jit", version = "=2.0.0" } -wasmtime-cache = { path = "../cache", version = "=2.0.0", optional = true } -wasmtime-fiber = { path = "../fiber", version = "=2.0.0", optional = true } -wasmtime-cranelift = { path = "../cranelift", version = "=2.0.0", optional = true } -wasmtime-component-macro = { path = "../component-macro", version = "=2.0.0", optional = true } -wasmtime-component-util = { path = "../component-util", version = "=2.0.0", optional = true } -target-lexicon = { version = "0.12.0", default-features = false } -wasmparser = "0.89.0" -anyhow = "1.0.19" +wasmtime-runtime = { workspace = true } +wasmtime-environ = { workspace = true } +wasmtime-jit = { workspace = true } +wasmtime-cache = { workspace = true, optional = true } +wasmtime-fiber = { workspace = true, optional = true } +wasmtime-cranelift = { workspace = true, optional = true } +wasmtime-component-macro = { workspace = true, optional = true } +wasmtime-component-util = { workspace = true, optional = true } +target-lexicon = { workspace = true } +wasmparser = { workspace = true } +anyhow = { workspace = true } libc = "0.2" cfg-if = "1.0" -log = "0.4.8" -wat = { version = "1.0.47", optional = true } +log = { workspace = true } +wat = { workspace = true, optional = true } serde = { version = "1.0.94", features = ["derive"] } bincode = "1.2.1" indexmap = "1.6" paste = "1.0.3" psm = "0.1.11" -once_cell = "1.12.0" +once_cell = { workspace = true } rayon = { version = "1.0", optional = true } -object = { version = "0.29", default-features = false, features = ['read_core', 'elf'] } +object = { workspace = true } async-trait = { version = "0.1.51", optional = true } encoding_rs = { version = "0.8.31", optional = true } [target.'cfg(target_os = "windows")'.dependencies.windows-sys] -version = "0.36.0" +workspace = true features = [ "Win32_System_Diagnostics_Debug", ] diff --git a/crates/wast/Cargo.toml b/crates/wast/Cargo.toml index e4df4086c0e1..f245d532a861 100644 --- a/crates/wast/Cargo.toml +++ b/crates/wast/Cargo.toml @@ -1,19 +1,19 @@ [package] name = "wasmtime-wast" -version = "2.0.0" -authors = ["The Wasmtime Project Developers"] +version.workspace = true +authors.workspace = true description = "wast testing support for wasmtime" license = "Apache-2.0 WITH LLVM-exception" categories = ["wasm"] keywords = ["webassembly", "wasm"] repository = "https://github.com/bytecodealliance/wasmtime" -edition = "2021" +edition.workspace = true [dependencies] -anyhow = "1.0.19" -wasmtime = { path = "../wasmtime", version = "2.0.0", default-features = false, features = ['cranelift'] } -wast = "46.0.0" -log = "0.4" +anyhow = { workspace = true } +wasmtime = { workspace = true, features = ['cranelift'] } +wast = { workspace = true } +log = { workspace = true } [badges] maintenance = { status = "actively-developed" } diff --git a/crates/wiggle/Cargo.toml b/crates/wiggle/Cargo.toml index 63a29d10936e..1152a77123df 100644 --- a/crates/wiggle/Cargo.toml +++ b/crates/wiggle/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "wiggle" -version = "2.0.0" +version.workspace = true authors = ["Pat Hickey ", "Jakub Konka ", "Alex Crichton "] -edition = "2021" +edition.workspace = true license = "Apache-2.0 WITH LLVM-exception" description = "Runtime components of wiggle code generator" categories = ["wasm"] @@ -13,19 +13,18 @@ include = ["src/**/*", "README.md", "LICENSE"] [dependencies] thiserror = "1" witx = { path = "../wasi-common/WASI/tools/witx", version = "0.9.1", optional = true } -wiggle-macro = { path = "macro", version = "=2.0.0" } +wiggle-macro = { workspace = true } tracing = "0.1.26" bitflags = "1.2" async-trait = "0.1.42" -wasmtime = { path = "../wasmtime", version = "2.0.0", optional = true, default-features = false } -anyhow = "1.0" +wasmtime = { workspace = true, optional = true } +anyhow = { workspace = true } [badges] maintenance = { status = "actively-developed" } [dev-dependencies] wiggle-test = { path = "test-helpers" } -anyhow = "1" proptest = "1.0.0" tokio = { version = "1", features = ["rt-multi-thread","time", "macros"] } diff --git a/crates/wiggle/generate/Cargo.toml b/crates/wiggle/generate/Cargo.toml index 44dd95846453..2a84e3262ad7 100644 --- a/crates/wiggle/generate/Cargo.toml +++ b/crates/wiggle/generate/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "wiggle-generate" -version = "2.0.0" +version.workspace = true authors = ["Pat Hickey ", "Jakub Konka ", "Alex Crichton "] license = "Apache-2.0 WITH LLVM-exception" -edition = "2021" +edition.workspace = true description = "Library crate for wiggle code generator." categories = ["wasm"] keywords = ["webassembly", "wasm"] @@ -18,7 +18,7 @@ witx = { version = "0.9.1", path = "../../wasi-common/WASI/tools/witx" } quote = "1.0" proc-macro2 = "1.0" heck = "0.4" -anyhow = "1" +anyhow = { workspace = true } syn = { version = "1.0", features = ["full"] } shellexpand = "2.0" diff --git a/crates/wiggle/macro/Cargo.toml b/crates/wiggle/macro/Cargo.toml index 750aa512cb91..778a7e01b095 100644 --- a/crates/wiggle/macro/Cargo.toml +++ b/crates/wiggle/macro/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "wiggle-macro" -version = "2.0.0" +version.workspace = true authors = ["Pat Hickey ", "Jakub Konka ", "Alex Crichton "] -edition = "2021" +edition.workspace = true license = "Apache-2.0 WITH LLVM-exception" description = "Wiggle code generator" categories = ["wasm"] @@ -21,7 +21,7 @@ test = false doctest = false [dependencies] -wiggle-generate = { path = "../generate", version = "=2.0.0" } +wiggle-generate = { workspace = true } quote = "1.0" syn = { version = "1.0", features = ["full"] } proc-macro2 = "1.0" diff --git a/crates/wiggle/test-helpers/Cargo.toml b/crates/wiggle/test-helpers/Cargo.toml index 1250f3e196e1..058cf06f6a51 100644 --- a/crates/wiggle/test-helpers/Cargo.toml +++ b/crates/wiggle/test-helpers/Cargo.toml @@ -3,7 +3,7 @@ name = "wiggle-test" version = "0.21.0" authors = ["Pat Hickey ", "Jakub Konka ", "Alex Crichton "] license = "Apache-2.0 WITH LLVM-exception" -edition = "2021" +edition.workspace = true description = "Reusable testing components for wiggle code generator. Only intended to be used by tests in `wiggle` crate." categories = ["wasm"] keywords = ["webassembly", "wasm"] diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index 9dc45c9da4b8..4fbd6afc1f38 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -1,36 +1,35 @@ [package] name = "wasmtime-fuzz" version = "0.0.0" -authors = ["The Wasmtime Project Developers"] -edition = "2021" +edition.workspace = true publish = false [package.metadata] cargo-fuzz = true [dependencies] -anyhow = { version = "1.0.19" } -cranelift-codegen = { path = "../cranelift/codegen", features = ["incremental-cache"] } -cranelift-reader = { path = "../cranelift/reader" } -cranelift-wasm = { path = "../cranelift/wasm" } -cranelift-filetests = { path = "../cranelift/filetests" } -cranelift-interpreter = { path = "../cranelift/interpreter" } -cranelift-fuzzgen = { path = "../cranelift/fuzzgen" } +anyhow = { workspace = true } +cranelift-codegen = { workspace = true, features = ["incremental-cache"] } +cranelift-reader = { workspace = true } +cranelift-wasm = { workspace = true } +cranelift-filetests = { workspace = true } +cranelift-interpreter = { workspace = true } +cranelift-fuzzgen = { workspace = true } libfuzzer-sys = { version = "0.4.0", features = ["arbitrary-derive"] } -target-lexicon = "0.12" -smallvec = { version = "1.6.1", features = ["union"] } -wasmtime = { path = "../crates/wasmtime" } -wasmtime-fuzzing = { path = "../crates/fuzzing" } -component-test-util = { path = "../crates/misc/component-test-util" } -component-fuzz-util = { path = "../crates/misc/component-fuzz-util" } +target-lexicon = { workspace = true } +smallvec = { workspace = true } +wasmtime = { workspace = true } +wasmtime-fuzzing = { workspace = true } +component-test-util = { workspace = true } +component-fuzz-util = { workspace = true } [build-dependencies] -anyhow = "1.0.19" +anyhow = { workspace = true } proc-macro2 = "1.0" arbitrary = { version = "1.1.0", features = ["derive"] } rand = { version = "0.8.0" } quote = "1.0" -component-fuzz-util = { path = "../crates/misc/component-fuzz-util" } +component-fuzz-util = { workspace = true } [features] default = ['fuzz-spec-interpreter'] diff --git a/scripts/publish.rs b/scripts/publish.rs index f0a956517136..600ab1372d1f 100644 --- a/scripts/publish.rs +++ b/scripts/publish.rs @@ -105,6 +105,10 @@ const PUBLIC_CRATES: &[&str] = &[ "wasmtime-types", ]; +struct Workspace { + version: String, +} + struct Crate { manifest: PathBuf, name: String, @@ -114,9 +118,13 @@ struct Crate { fn main() { let mut crates = Vec::new(); - crates.push(read_crate("./Cargo.toml".as_ref())); - find_crates("crates".as_ref(), &mut crates); - find_crates("cranelift".as_ref(), &mut crates); + let root = read_crate(None, "./Cargo.toml".as_ref()); + let ws = Workspace { + version: root.version.clone(), + }; + crates.push(root); + find_crates("crates".as_ref(), &ws, &mut crates); + find_crates("cranelift".as_ref(), &ws, &mut crates); let pos = CRATES_TO_PUBLISH .iter() @@ -179,9 +187,9 @@ fn main() { } } -fn find_crates(dir: &Path, dst: &mut Vec) { +fn find_crates(dir: &Path, ws: &Workspace, dst: &mut Vec) { if dir.join("Cargo.toml").exists() { - let krate = read_crate(&dir.join("Cargo.toml")); + let krate = read_crate(Some(ws), &dir.join("Cargo.toml")); if !krate.publish || CRATES_TO_PUBLISH.iter().any(|c| krate.name == *c) { dst.push(krate); } else { @@ -192,12 +200,12 @@ fn find_crates(dir: &Path, dst: &mut Vec) { for entry in dir.read_dir().unwrap() { let entry = entry.unwrap(); if entry.file_type().unwrap().is_dir() { - find_crates(&entry.path(), dst); + find_crates(&entry.path(), ws, dst); } } } -fn read_crate(manifest: &Path) -> Crate { +fn read_crate(ws: Option<&Workspace>, manifest: &Path) -> Crate { let mut name = None; let mut version = None; let mut publish = true; @@ -218,6 +226,11 @@ fn read_crate(manifest: &Path) -> Crate { .to_string(), ); } + if let Some(ws) = ws { + if version.is_none() && line.starts_with("version.workspace = true") { + version = Some(ws.version.clone()); + } + } if line.starts_with("publish = false") { publish = false; }