Skip to content

Centralize dependencies and package metadata in the workspace - #5

Open
Garfield1002 wants to merge 1 commit into
LLVMParty:masterfrom
Garfield1002:workspace-dependencies
Open

Centralize dependencies and package metadata in the workspace#5
Garfield1002 wants to merge 1 commit into
LLVMParty:masterfrom
Garfield1002:workspace-dependencies

Conversation

@Garfield1002

Copy link
Copy Markdown
Contributor

Makes changing versions easier and removes the odd ../path pattern

Each member declared its own versions and its own ../ path dependencies, so a
shared dependency had to be edited in several manifests to stay consistent.
Move them to [workspace.dependencies] and [workspace.package]; members now
carry only what is specific to them.

z3 is the case that motivated this: it is a normal dependency of smt-server
and a dev-dependency of qfbvsmtrs, both on 0.20.0 with gh-release. Nothing
tied the two together, and letting them drift would build and link two
different z3 versions.

Member crates keep their own `description` and their own feature additions on
top of the shared entry, so smt-server still gets qfbvsmtrs with "wire" and
rumba-core with "parse", and qfbvsmtrs still takes smt-wire as optional.

crates/qfbvsmtrs/fuzz declares its own [workspace] and is therefore outside
this one; its path dependency stays as it is, and it is still checked with
--manifest-path as CI does.

Pure refactor: Cargo.lock is byte-identical, and `cargo tree --workspace
--all-features --edges all` is unchanged modulo path prefixes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant