bevyengine / bevyengine/bevy

Investigate workspace-level dependencies

Open
#12,374 3 comments 0 reactions 0 assignees View on GitHub
A-Cross-Cutting C-Dependencies S-Needs-Investigation
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 16h
Merged PRs (30d)
171

Description

> Good stuff. I'd like to look into workspace-level dependencies at some point too.

_Originally posted by @alice-i-cecile in https://github.com/bevyengine/bevy/issues/12313#issuecomment-1979531886_

[Workspace-level dependencies](https://doc.rust-lang.org/cargo/reference/workspaces.html#the-dependencies-table) allow for consistent dependency versions across multiple crates. They can be handy for keeping popular libraries, such as `serde`, `syn`, `toml_edit` and more in sync and reduce dependency duplication.

They can be specified with:

```toml
# Root Cargo.toml
[workspace.dependencies]
serde = "1.0.99999"
```

And can be used by a crate with:

```toml
[dependencies]
serde = { workspace = true }
# or
serde.workspace = true
```

Contributor guide

Open the contributing guide

Research direction

Read Cargo’s workspace dependencies reference, then inspect the root Cargo.toml and the crate manifests to identify dependencies that should be centralized. Done means the selected versions are declared in the workspace and crate dependencies use workspace references, with dependency resolution and the existing checks still passing.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.