Skip to content

Improve multi-crate project management #2122

Closed
@alexcrichton

Description

@alexcrichton

Cargo's story around having a project (or a repo) with many crates isn't the best right now, there are a number of papercuts that add up over time:

  • Each crate gets its own Cargo.lock, which means that each crate can be working with a different set of dependencies. Not only is it difficult to manage all these lockfiles but it's often not desired to have different sets of dependencies when working in the source tree.
  • By default crates have distinct target folders, meaning crates are recompiled as you move around the project tree.
  • Currently you can't run cargo test -p foo for a crate that has a dev-dependency Dev-dependencies are not linked when testing subpackages #860
  • "test everything" isn't an easily accessible command

I'll likely add more over time!

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-featuresArea: features — conditional compilationA-toolingArea: interaction with other tools

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions