Skip to content

Workspace: Inherit project-oriented Cargo.toml attributes #6828

@behnam

Description

@behnam

Describe the problem you are trying to solve

Having a workspace set up for multiple related crates, there's usually a big chunk of Cargo.toml attributes which need to be copy-pasted across all instances.

For example, in UNIC, we have (at least) these lines in all (published) Cargo.toml files:

[badges]
maintenance = { status = "actively-developed" }
is-it-maintained-issue-resolution = { repository = "open-i18n/rust-unic" }
is-it-maintained-open-issues = { repository = "open-i18n/rust-unic" }
appveyor = { repository = "open-i18n/rust-unic", branch = "master", service = "github" }
travis-ci = { repository = "open-i18n/rust-unic", branch = "master" }

Most of such properties are project-specific, but not crate-specific. For example, an indicator of that would be the fact that the share the same repository value.

Describe the solution you'd like

It would be great if we could actually have such project-oriented attributes inherit from the workspace's main Cargo.toml, and do no need to maintain copies of them.

Notes

Wdyt?

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-workspacesArea: workspacesC-feature-requestCategory: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions