-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Closed
Labels
A-workspace-inheritanceArea: workspace inheritance RFC 2906Area: workspace inheritance RFC 2906A-workspacesArea: workspacesArea: workspacesC-tracking-issueCategory: A tracking issue for something unstable.Category: A tracking issue for something unstable.T-cargoTeam: CargoTeam: Cargodisposition-mergeFCP with intent to mergeFCP with intent to mergefinished-final-comment-periodFCP completeFCP complete
Description
This is a tracking issue for the RFC: Deduplicate Cargo workspace information (rust-lang/rfcs#2906).
Documentation:
Steps:
- Implement the RFC (cc @rust-lang/cargo -- can anyone write up mentoring
instructions?)- Support for inheriting in root package (Part 1 of RFC2906 - Packages can inherit fields from their root workspace #10497)
- Support inheriting in any workspace member (Part 2 of RFC2906 -- allow inheriting from a different
Cargo.toml
#10517) - Correctly inherit fields that are relative paths (Part 3 of RFC2906 - Add support for inheriting
license-path
, anddepednency.path
#10538, Part 4 of RFC2906 - Add support for inheritingreadme
#10548) - Add
rust-version
(not in RFC), see epage's comment (Part 5 of RFC2906 - Add support for inheritingrust-version
#10563) - Switch the inheritance source from
workspace
toworkspace.package
, see epage's comment (Part 6 of RFC2906 - Switch the inheritance source fromworkspace
to… #10564) - Add
include
andexclude
now thatworkspace.package
is done, see epage's comment (Part 7 of RFC2906 - Add support for inheritingexclude
andinclude
#10565) - cargo-add support (Cargo add support for workspace inheritance #10606)
- Optimizations, as needed (Part 8 of RFC2906 - Keep
InheritableFields
in aLazyCell
inside `… #10568)
- Adjust documentation (Update documentation for workspace inheritance #10611)
- Decide on documented style (
key = {worskspace = true}
vskey.workspace = true
)
- Decide on documented style (
- Stabilization PR (see instructions on cargo-dev-guide)
Changes from RFC
- Not locking workspace dependencies, see alexchrichton's comment
- Not inserting a version into path dependencies when publishing, see epage's comment
- Changed the table
package
fields inherit from, fromworkspace
toworkspace.package
, see epage's comment - Fields
- Explicitly not supporting
resolver
, see epage's comment - Supporting
edition
which the RFC showed inconsistent status for - Supporting
rust-version
which is newer than the RFC - Supporting
include
andexclude
which the RFC couldn't, see epage's comment
- Explicitly not supporting
Unresolved questions:
- Do we stablize inheriting from
workspace.package
andworkspace.dependencies
or do we switch which tables we use? see epage's comment - Preferred documentation style: RFC uses
field = { workspace = true }
but TOML allowsfield.workspace = true
- Is the performance good enough?
dkaste, Michael-J-Ward, bonsairobo, athre0z, Voronar and 46 moreLukeMathWalker, ErichDonGubler, thiagoarrais, dkaste, hgomersall and 39 more
Metadata
Metadata
Assignees
Labels
A-workspace-inheritanceArea: workspace inheritance RFC 2906Area: workspace inheritance RFC 2906A-workspacesArea: workspacesArea: workspacesC-tracking-issueCategory: A tracking issue for something unstable.Category: A tracking issue for something unstable.T-cargoTeam: CargoTeam: Cargodisposition-mergeFCP with intent to mergeFCP with intent to mergefinished-final-comment-periodFCP completeFCP complete