📜 cargo-about

Embark Embark Crates.io Docs dependency status Build Status

Cargo plugin for generating a listing of all of the crates used by a root crate, and the terms under which they are licensed.

Please Note: This is a tool that we use (and like!) and it makes sense to us to release it as open source. However, we can’t take any responsibility for your use of the tool, if it will function correctly or fulfil your needs. No functionality in - or information provided by - cargo-about constitutes legal advice.

Getting started

Installing

bash cargo install cargo-about

Generate license information for your own project

```bash

Generates about.toml and about.hbs in your cargo project

cargo about init

Generate the license information with

cargo about generate about.hbs > license.html ```

about.toml

[accepted]

Priority list of all the accepted licenses for a project. cargo-about will try to satisfy the licenses in the order that they are declared in this list.

ini accepted = [ "Apache-2.0", "MIT", ]

[targets]

A list of targets that are actually building for. Crates which are only included via cfg() expressions that don't match one or more of the listed targets will be ignored.

ini targets = [ "x86_64-unknown-linux-gnu", "x86_64-unknown-linux-musl", "x86_64-pc-windows-msvc", "x86_64-apple-darwin", ]

ignore-build-dependencies

If true, all crates that are only used as build dependencies will be ignored.

ini ignore-build-dependencies = true

ignore-dev-dependencies

If true, all crates that are only used as dev dependencies will be ignored.

ini ignore-dev-dependencies = true

[[DEPENDENCY.additional]]

```ini

Example

[[physx-sys.additional]] root = "PhysX" license = "BSD-3-Clause" license-file = "PhysX/README.md" license-start = 3 license-end = 28 ```

[[DEPENDENCY.ignore]]

Sometimes libraries include licenses for example code that you don't want to use.

ini [[imgui-sys.ignore]] license = "Zlib" license-file = "third-party/cimgui/imgui/examples/libs/glfw/COPYING.txt"

about.hbs

See handlebars

Variables

Types

LicenseSet

License

UsedBy

Example

```hbs

```

Preview of the default about.hbs

license You can view the full license here

FAQ

Unable to satisfy the following licenses

bash [ERROR] Crate 'aho-corasick': Unable to satisfy [Unlicense OR MIT], with the following accepted licenses [Apache-2.0]

In this case you are missing either MIT or Unlicense as an accepted license in your about.toml

Contributing

Contributor Covenant

We welcome community contributions to this project.

Please read our Contributor Guide for more information on how to get started.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.