John T. Wodder II
John T. Wodder II
### Describe the bug Consider the following program: ```rust use anyhow::Context; use aws_sdk_s3::Client; use clap::Parser; #[derive(Clone, Debug, Eq, Parser, PartialEq)] struct Arguments { bucket: String, } #[tokio::main] async fn main()...
Currently, `cargo-lichking` determines the packages to bundle licenses for by evaluating the dependency tree for the top-level project with its default features selected. However, it may happen that a developer...
If a project's dependency tree contains two different versions of the same package[^1], `cargo-lichking` mostly does the right thing and handles them separately (though the `list` command's output could be...
Currently (as of its v0.7.1), the source for the [`sct`](https://crates.io/crates/sct) package (a dependency of rustls) contains the following license files: - `LICENSE` — lists the licenses that `sct` is distributed...
The Apache 2.0 license states in part: > If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include...
By my reading of the code, if a package specifies a license file via the `license-file` metadata field, `cargo-lichking` will not actually bundle that file unless it happens to have...
Currently, `cargo-lichking` parses license expressions by just splitting them apart on slashes and "OR"; however, [SPDX license expressions](https://spdx.dev/learn/handling-license-info/) can also contain the operators "AND" & "WITH" and use parentheses for...
This project needs tests. Possible ways to implement these tests include: - Use an [`expect`](https://en.wikipedia.org/wiki/Expect)-style library (e.g., [`rexpect`](https://crates.io/crates/rexpect) or [`expectrl`](https://lib.rs/crates/expectrl)) to create & interact with a test terminal in which...
If the source for the entries in a Markdown changelog are wrapped to some number of characters, then when `scriv` uses them as the body of a GitHub release, GitHub...
We just started using scriv in a project with a pre-existing CHANGELOG file, and the first scriv-powered release made the top of the CHANGELOG look like this: ``` # 0.17.6...