Skip to content

Define a virtual cargo workspace to reduce maintenance/improve build speed #1152

@michaeltlombardi

Description

@michaeltlombardi

Summary of the new feature / enhancement

As a contributor to DSC,
I want to reduce the time and complexity required for managing dependencies and building projects,
So that I can iterate on features and fixes more efficiently.

Cargo has the concept of virtual workspaces, where we can define workspace members, shared metadata, and shared dependencies. This would reduce the overall maintenance for Rust projects.

See also:

Proposed technical implementation details (optional)

  1. Define a Cargo.toml file at the repository root.

  2. Define every rust project in the repository as a workspace member.

  3. Hoist dependencies to the workspace.

    To simplify this task, we can use cargo autoinherit.

  4. Verify builds and tests.

  5. Use the workspace lock file instead of per-project lockfiles.

  6. Update build script as needed.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions