Skip to content

Add cargo lucifer subcommand #6666

Closed

Description

@killercup

Add a new subcommand that brings light (get it?) to cargo's dependency resolving, answering questions like

  • Why was that dependency included?
  • Why was that feature on this dependency enabled?
  • Which other versions were considered and why was this one chosen?

Yes, I made this issue because I saw the last issue was number 6665. Feel free to close it as "bad joke".

Activity

  1. added
    C-feature-requestCategory: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`
    on Feb 14, 2019
  2. dwijnand commented on Feb 14, 2019

    @dwijnand
    Contributor

    I dig the joke 😄

    Could this use case be satisfied by documenting something along the lines of RUST_LOG=cargo::ops::resolve=info cargo generate-lockfile?

  3. spacekookie commented on Feb 14, 2019

    @spacekookie
    Contributor

    To propose a bikeshed here, I think it should be called cargo cult

  4. killercup commented on Feb 14, 2019

    @killercup
    ContributorAuthor

    @dwijnand Maybe env RUST_LOG=cargo::core::resolver=trace cargo generate-lockfile if it was more pretty :D

  5. dwijnand commented on Feb 14, 2019

    @dwijnand
    Contributor

    This is how I map log levels:

    • trace I'm deeeep in this module, give me lots of details
    • debug I'm a cargo dev, give me the general-sense detailed log for this module
    • info I'm a cargo user, looking some more info from the operations in this module

    But actually, make this detail (or some of it) should be printed by cargo generate-lockfile -v.

  6. epage commented on Oct 31, 2023

    @epage
    Contributor

    cargo tree I think solves

    • Why was it included (cargo tree -i)
    • Features (cargo tree -e features)

    As for "what other versions and why this one", that gets complicated with a lot of information involved. Not really seeing a way around that than env CARGO_LOG=cargo::core::resolver=trace cargo generate-lockfile.

    Probably the main thing left is documenting these resources somewhere. Like the section of the documentation on the resolver.

  7. added a commit that references this issue on Oct 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-dependency-resolutionArea: dependency resolution and the resolverA-new-subcommandArea: new subcommandC-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