EmbarkStudios / EmbarkStudios/cargo-about

Emitting acceptor errors terminates the really slow search for licenses

Open
#12 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
782
Forks
46
Avg merge
1d 4h
Merged PRs (30d)
3

Description

`cargo about generate` stops looking for licenses after it finds a license which was not accepted. This is especially annoying when working with many files as the current iteration approach is really quite slow.

For comparison. [ripgrep](https://docs.rs/ripgrep) even with `--no-ignore` flies through all my files almost immediately. It would be worth taking a few pages out of rg's book.

**Edit**: [cargo license](https://docs.rs/cargo-license) does not do the deep analysis to find licenses but is immediate to give feedback.

Contributor guide

Open the contributing guide

Research direction

Start at the `cargo about generate` entry point and reproduce the slow search with many files, including a license that is not accepted. Trace how an acceptor error ends the search and compare the traversal behavior with ripgrep; done means rejected licenses no longer terminate discovery and the search gives substantially faster feedback.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.