Move dependencies to workspace (#4495)

<!--
Please read the "Making a PR" section of
[`CONTRIBUTING.md`](https://github.com/emilk/egui/blob/master/CONTRIBUTING.md)
before opening a Pull Request!

* Keep your PR:s small and focused.
* The PR title is what ends up in the changelog, so make it descriptive!
* If applicable, add a screenshot or gif.
* If it is a non-trivial addition, consider adding a demo for it to
`egui_demo_lib`, or a new example.
* Do NOT open PR:s from your `master` branch, as that makes it hard for
maintainers to add commits to your PR.
* Remember to run `cargo fmt` and `cargo clippy`.
* Open the PR as a draft until you have self-reviewed it and run
`./scripts/check.sh`.
* When you have addressed a PR comment, mark it as resolved.

Please be patient! I will review your PR, but my time is limited!
-->

Inspired by:

44d65f41ac/Cargo.toml (L65)

I took the liberty of removing that comment since I *think* that I got
all "relevant" ones (showing up more than once, sort of).
This commit is contained in:
Oscar Gustafsson 2024-05-14 11:02:49 +02:00 committed by GitHub
parent 44d65f41ac
commit c1eb3f884d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 38 additions and 31 deletions

View File

@ -62,24 +62,31 @@ egui_demo_lib = { version = "0.27.2", path = "crates/egui_demo_lib", default-fea
egui_glow = { version = "0.27.2", path = "crates/egui_glow", default-features = false } egui_glow = { version = "0.27.2", path = "crates/egui_glow", default-features = false }
eframe = { version = "0.27.2", path = "crates/eframe", default-features = false } eframe = { version = "0.27.2", path = "crates/eframe", default-features = false }
#TODO(emilk): make more things workspace dependencies
ahash = { version = "0.8.6", default-features = false, features = [ ahash = { version = "0.8.6", default-features = false, features = [
"no-rng", # we don't need DOS-protection, so we let users opt-in to it instead "no-rng", # we don't need DOS-protection, so we let users opt-in to it instead
"std", "std",
] } ] }
backtrace = "0.3" backtrace = "0.3"
bytemuck = "1.7.2"
criterion = { version = "0.5.1", default-features = false } criterion = { version = "0.5.1", default-features = false }
document-features = " 0.2.8" document-features = " 0.2.8"
glow = "0.13" glow = "0.13"
glutin = "0.31"
glutin-winit = "0.4"
image = { version = "0.25", default-features = false } image = { version = "0.25", default-features = false }
log = { version = "0.4", features = ["std"] } log = { version = "0.4", features = ["std"] }
nohash-hasher = "0.2" nohash-hasher = "0.2"
parking_lot = "0.12" parking_lot = "0.12"
puffin = "0.19" puffin = "0.19"
puffin_http = "0.16" puffin_http = "0.16"
ron = "0.8"
raw-window-handle = "0.6.0" raw-window-handle = "0.6.0"
serde = { version = "1", features = ["derive"] }
thiserror = "1.0.37" thiserror = "1.0.37"
web-time = "0.2" # Timekeeping for native and web web-time = "0.2" # Timekeeping for native and web
wasm-bindgen = "0.2"
wasm-bindgen-futures = "0.4"
web-sys = "0.3.58"
wgpu = { version = "0.20.0", default-features = false, features = [ wgpu = { version = "0.20.0", default-features = false, features = [
# Make the renderer `Sync` even on wasm32, because it makes the code simpler: # Make the renderer `Sync` even on wasm32, because it makes the code simpler:
"fragile-send-sync-non-atomic-wasm", "fragile-send-sync-non-atomic-wasm",

View File

@ -33,7 +33,7 @@ default = []
#! ### Optional dependencies #! ### Optional dependencies
## [`bytemuck`](https://docs.rs/bytemuck) enables you to cast `ecolor` types to `&[u8]`. ## [`bytemuck`](https://docs.rs/bytemuck) enables you to cast `ecolor` types to `&[u8]`.
bytemuck = { version = "1.7.2", optional = true, features = ["derive"] } bytemuck = { workspace = true, optional = true, features = ["derive"] }
## [`cint`](https://docs.rs/cint) enables interoperability with other color libraries. ## [`cint`](https://docs.rs/cint) enables interoperability with other color libraries.
cint = { version = "0.3.1", optional = true } cint = { version = "0.3.1", optional = true }
@ -45,4 +45,4 @@ color-hex = { version = "0.2.0", optional = true }
document-features = { workspace = true, optional = true } document-features = { workspace = true, optional = true }
## Allow serialization using [`serde`](https://docs.rs/serde). ## Allow serialization using [`serde`](https://docs.rs/serde).
serde = { version = "1", optional = true, features = ["derive"] } serde = { workspace = true, optional = true }

View File

@ -144,8 +144,8 @@ glow = { workspace = true, optional = true }
rwh_05 = { package = "raw-window-handle", version = "0.5.2", optional = true, features = [ rwh_05 = { package = "raw-window-handle", version = "0.5.2", optional = true, features = [
"std", "std",
] } ] }
ron = { version = "0.8", optional = true, features = ["integer128"] } ron = { workspace = true, optional = true, features = ["integer128"] }
serde = { version = "1", optional = true, features = ["derive"] } serde = { workspace = true, optional = true }
# ------------------------------------------- # -------------------------------------------
# native: # native:
@ -166,8 +166,8 @@ pollster = { version = "0.3", optional = true } # needed for wgpu
# we can expose these to user so that they can select which backends they want to enable to avoid compiling useless deps. # we can expose these to user so that they can select which backends they want to enable to avoid compiling useless deps.
# this can be done at the same time we expose x11/wayland features of winit crate. # this can be done at the same time we expose x11/wayland features of winit crate.
glutin = { version = "0.31", optional = true } glutin = { workspace = true, optional = true }
glutin-winit = { version = "0.4", optional = true } glutin-winit = { workspace = true, optional = true }
puffin = { workspace = true, optional = true } puffin = { workspace = true, optional = true }
wgpu = { workspace = true, optional = true, features = [ wgpu = { workspace = true, optional = true, features = [
# Let's enable some backends so that users can use `eframe` out-of-the-box # Let's enable some backends so that users can use `eframe` out-of-the-box
@ -199,12 +199,12 @@ winapi = { version = "0.3.9", features = ["winuser"] }
# ------------------------------------------- # -------------------------------------------
# web: # web:
[target.'cfg(target_arch = "wasm32")'.dependencies] [target.'cfg(target_arch = "wasm32")'.dependencies]
bytemuck = "1.7" bytemuck.workspace = true
js-sys = "0.3" js-sys = "0.3"
percent-encoding = "2.1" percent-encoding = "2.1"
wasm-bindgen = "0.2" wasm-bindgen.workspace = true
wasm-bindgen-futures = "0.4" wasm-bindgen-futures.workspace = true
web-sys = { version = "0.3.58", features = [ web-sys = { workspace = true, features = [
"BinaryType", "BinaryType",
"Blob", "Blob",
"Clipboard", "Clipboard",

View File

@ -50,7 +50,7 @@ x11 = ["winit?/x11"]
egui = { workspace = true, default-features = false } egui = { workspace = true, default-features = false }
epaint = { workspace = true, default-features = false, features = ["bytemuck"] } epaint = { workspace = true, default-features = false, features = ["bytemuck"] }
bytemuck = "1.7" bytemuck.workspace = true
document-features.workspace = true document-features.workspace = true
log.workspace = true log.workspace = true
thiserror.workspace = true thiserror.workspace = true

View File

@ -73,7 +73,7 @@ accesskit_winit = { version = "0.16.0", optional = true }
document-features = { workspace = true, optional = true } document-features = { workspace = true, optional = true }
puffin = { workspace = true, optional = true } puffin = { workspace = true, optional = true }
serde = { version = "1.0", optional = true, features = ["derive"] } serde = { workspace = true, optional = true }
webbrowser = { version = "1.0.0", optional = true } webbrowser = { version = "1.0.0", optional = true }
[target.'cfg(any(target_os="linux", target_os="dragonfly", target_os="freebsd", target_os="netbsd", target_os="openbsd"))'.dependencies] [target.'cfg(any(target_os="linux", target_os="dragonfly", target_os="freebsd", target_os="netbsd", target_os="openbsd"))'.dependencies]

View File

@ -95,5 +95,5 @@ document-features = { workspace = true, optional = true }
log = { workspace = true, optional = true } log = { workspace = true, optional = true }
puffin = { workspace = true, optional = true } puffin = { workspace = true, optional = true }
ron = { version = "0.8", optional = true } ron = { workspace = true, optional = true }
serde = { version = "1", optional = true, features = ["derive", "rc"] } serde = { workspace = true, optional = true, features = ["derive", "rc"] }

View File

@ -51,7 +51,7 @@ log.workspace = true
# Optional dependencies: # Optional dependencies:
bytemuck = { version = "1.7.1", optional = true } bytemuck = { workspace = true, optional = true }
puffin = { workspace = true, optional = true } puffin = { workspace = true, optional = true }
puffin_http = { workspace = true, optional = true } puffin_http = { workspace = true, optional = true }
# Enable both WebGL & WebGPU when targeting the web (these features have no effect when not targeting wasm32) # Enable both WebGL & WebGPU when targeting the web (these features have no effect when not targeting wasm32)
@ -64,7 +64,7 @@ image = { workspace = true, optional = true, features = ["jpeg", "png"] }
poll-promise = { version = "0.3", optional = true, default-features = false } poll-promise = { version = "0.3", optional = true, default-features = false }
# feature "persistence": # feature "persistence":
serde = { version = "1", optional = true, features = ["derive"] } serde = { workspace = true, optional = true }
# native: # native:
@ -78,5 +78,5 @@ rfd = { version = "0.13", optional = true }
# web: # web:
[target.'cfg(target_arch = "wasm32")'.dependencies] [target.'cfg(target_arch = "wasm32")'.dependencies]
wasm-bindgen = "=0.2.92" wasm-bindgen = "=0.2.92"
wasm-bindgen-futures = "0.4" wasm-bindgen-futures.workspace = true
web-sys = "0.3" web-sys.workspace = true

View File

@ -52,7 +52,7 @@ unicode_names2 = { version = "0.6.0", default-features = false } # this old vers
chrono = { version = "0.4", optional = true, features = ["js-sys", "wasmbind"] } chrono = { version = "0.4", optional = true, features = ["js-sys", "wasmbind"] }
## Enable this when generating docs. ## Enable this when generating docs.
document-features = { workspace = true, optional = true } document-features = { workspace = true, optional = true }
serde = { version = "1", optional = true, features = ["derive"] } serde = { workspace = true, optional = true }
[dev-dependencies] [dev-dependencies]

View File

@ -66,7 +66,7 @@ egui = { workspace = true, default-features = false, features = ["serde"] }
enum-map = { version = "2", features = ["serde"] } enum-map = { version = "2", features = ["serde"] }
log.workspace = true log.workspace = true
serde = { version = "1", features = ["derive"] } serde.workspace = true
#! ### Optional dependencies #! ### Optional dependencies

View File

@ -56,7 +56,7 @@ x11 = ["winit?/x11"]
egui = { workspace = true, default-features = false, features = ["bytemuck"] } egui = { workspace = true, default-features = false, features = ["bytemuck"] }
egui-winit = { workspace = true, optional = true, default-features = false } egui-winit = { workspace = true, optional = true, default-features = false }
bytemuck = "1.7" bytemuck.workspace = true
glow.workspace = true glow.workspace = true
log.workspace = true log.workspace = true
memoffset = "0.9" memoffset = "0.9"
@ -74,13 +74,13 @@ winit = { workspace = true, optional = true, default-features = false, features
# Web: # Web:
[target.'cfg(target_arch = "wasm32")'.dependencies] [target.'cfg(target_arch = "wasm32")'.dependencies]
web-sys = { version = "0.3", features = ["console"] } web-sys = { workspace = true, features = ["console"] }
wasm-bindgen = "0.2" wasm-bindgen.workspace = true
[dev-dependencies] [dev-dependencies]
glutin = "0.31" # examples/pure_glow glutin.workspace = true # examples/pure_glow
glutin-winit = "0.4.0" glutin-winit.workspace = true
# glutin stuck on old version of raw-window-handle: # glutin stuck on old version of raw-window-handle:
rwh_05 = { package = "raw-window-handle", version = "0.5.2", features = [ rwh_05 = { package = "raw-window-handle", version = "0.5.2", features = [
"std", "std",

View File

@ -42,4 +42,4 @@ egui = { workspace = true, default-features = false }
## Enable this when generating docs. ## Enable this when generating docs.
document-features = { workspace = true, optional = true } document-features = { workspace = true, optional = true }
serde = { version = "1", optional = true, features = ["derive"] } serde = { workspace = true, optional = true }

View File

@ -30,7 +30,7 @@ default = []
#! ### Optional dependencies #! ### Optional dependencies
## [`bytemuck`](https://docs.rs/bytemuck) enables you to cast `emath` types to `&[u8]`. ## [`bytemuck`](https://docs.rs/bytemuck) enables you to cast `emath` types to `&[u8]`.
bytemuck = { version = "1.7.2", optional = true, features = ["derive"] } bytemuck = { workspace = true, optional = true, features = ["derive"] }
## Enable this when generating docs. ## Enable this when generating docs.
document-features = { workspace = true, optional = true } document-features = { workspace = true, optional = true }
@ -39,4 +39,4 @@ document-features = { workspace = true, optional = true }
mint = { version = "0.5.6", optional = true } mint = { version = "0.5.6", optional = true }
## Allow serialization using [`serde`](https://docs.rs/serde). ## Allow serialization using [`serde`](https://docs.rs/serde).
serde = { version = "1", optional = true, features = ["derive"] } serde = { workspace = true, optional = true }

View File

@ -84,7 +84,7 @@ nohash-hasher.workspace = true
parking_lot.workspace = true # Using parking_lot over std::sync::Mutex gives 50% speedups in some real-world scenarios. parking_lot.workspace = true # Using parking_lot over std::sync::Mutex gives 50% speedups in some real-world scenarios.
#! ### Optional dependencies #! ### Optional dependencies
bytemuck = { version = "1.7.2", optional = true, features = ["derive"] } bytemuck = { workspace = true, optional = true, features = ["derive"] }
## Enable this when generating docs. ## Enable this when generating docs.
document-features = { workspace = true, optional = true } document-features = { workspace = true, optional = true }
@ -94,7 +94,7 @@ puffin = { workspace = true, optional = true }
rayon = { version = "1.7", optional = true } rayon = { version = "1.7", optional = true }
## Allow serialization using [`serde`](https://docs.rs/serde) . ## Allow serialization using [`serde`](https://docs.rs/serde) .
serde = { version = "1", optional = true, features = ["derive", "rc"] } serde = { workspace = true, optional = true, features = ["derive", "rc"] }
# native: # native:
[target.'cfg(not(target_arch = "wasm32"))'.dependencies] [target.'cfg(not(target_arch = "wasm32"))'.dependencies]