All Projects β†’ EmbarkStudios β†’ Cargo About

EmbarkStudios / Cargo About

Licence: other
πŸ“œ Cargo plugin to generate list of all licenses for a crate πŸ¦€

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Cargo About

Cargo Spellcheck
Checks all your documentation for spelling and grammar mistakes with hunspell and a nlprule based checker for grammar
Stars: ✭ 183 (+23.65%)
Mutual labels:  hacktoberfest, cargo
Rustfix
Automatically apply the suggestions made by rustc
Stars: ✭ 586 (+295.95%)
Mutual labels:  hacktoberfest, cargo
Cargo C
build and install C-compatible libraries
Stars: ✭ 196 (+32.43%)
Mutual labels:  hacktoberfest, cargo
Tarpaulin
A code coverage tool for Rust projects
Stars: ✭ 1,097 (+641.22%)
Mutual labels:  hacktoberfest, cargo
Cargo Deny
❌ Cargo plugin for linting your dependencies πŸ¦€
Stars: ✭ 533 (+260.14%)
Mutual labels:  hacktoberfest, cargo
Stegbrute
Fast Steganography bruteforce tool written in Rust useful for CTF's
Stars: ✭ 134 (-9.46%)
Mutual labels:  hacktoberfest, cargo
Hacktoberfest2020
Make your first PR! ~ A beginner-friendly repository. Add your profile, a blog, or any program under any language (it can be anything from a hello-world program to a complex data structure algorithm) or update the existing one. Just make sure to add the file under the correct directory. Happy hacking!
Stars: ✭ 147 (-0.68%)
Mutual labels:  hacktoberfest
Hacktoberfest Swag
Looking for hacktoberfest swag? You've come to the right place.
Stars: ✭ 148 (+0%)
Mutual labels:  hacktoberfest
Parse Sdk Android
The Android SDK for the Parse Platform
Stars: ✭ 1,806 (+1120.27%)
Mutual labels:  hacktoberfest
Rom Rails
Rails integration for Ruby Object Mapper
Stars: ✭ 146 (-1.35%)
Mutual labels:  hacktoberfest
Has Parameters
A trait that allows you to pass arguments to Laravel middleware in a more PHP'ish way.
Stars: ✭ 149 (+0.68%)
Mutual labels:  hacktoberfest
Prism.plugin.popups
This provides extensibility for Prism.Forms INavigationService to handle Popup Views
Stars: ✭ 149 (+0.68%)
Mutual labels:  hacktoberfest
Rioxarray
geospatial xarray extension powered by rasterio
Stars: ✭ 148 (+0%)
Mutual labels:  hacktoberfest
Hads
πŸ“š Markdown superpowered documentation for Node.js
Stars: ✭ 147 (-0.68%)
Mutual labels:  hacktoberfest
Astarte
Core Astarte Repository
Stars: ✭ 148 (+0%)
Mutual labels:  hacktoberfest
Handwritten.js
Convert typed text to realistic handwriting!
Stars: ✭ 1,806 (+1120.27%)
Mutual labels:  hacktoberfest
Djangocms Installer
Console wizard to bootstrap django CMS projects
Stars: ✭ 148 (+0%)
Mutual labels:  hacktoberfest
Django Sql Explorer
Easily share data across your company via SQL queries. From Grove Collab.
Stars: ✭ 1,958 (+1222.97%)
Mutual labels:  hacktoberfest
Custom Pod Autoscaler
Custom Pod Autoscaler base, allows creation of Custom Pod Autoscalers
Stars: ✭ 148 (+0%)
Mutual labels:  hacktoberfest
Cigar
πŸ’¨ Smoke testing tool written in PHP
Stars: ✭ 148 (+0%)
Mutual labels:  hacktoberfest

πŸ“œ 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

cargo install cargo-about

Generate license information for your own project

# 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.

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.

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.

ignore-build-dependencies = true

ignore-dev-dependencies

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

ignore-dev-dependencies = true

[[DEPENDENCY.additional]]

  • root Name of the root folder
  • license Name of the license. Has to be parsable from SPDX, see https://spdx.org/licenses/
  • license-file The path to the license file where the license is specified
  • license-start The starting line number of the license in the specified license file
  • license-end The ending line number of the license in the specified license file
# 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.

  • license Name of the license that you want to ingore. Has to be parsable from SPDX, see https://spdx.org/licenses/
  • license-file The path to the license file where the license is specified
[[imgui-sys.ignore]]
license = "Zlib"
license-file = "third-party/cimgui/imgui/examples/libs/glfw/COPYING.txt"

about.hbs

See handlebars

Variables

  • overview A list of LicenseSet
  • licenses A list of License

Types

LicenseSet

  • count The number of times the license is used
  • name The name of the license
  • id The id of the license

License

  • name The full name of the license
  • id The SPDX identifier
  • text The license text
  • source_path The path of the license
  • used_by A list of UsedBy

UsedBy

  • crate Metadata for a cargo package
  • path Optional path of the dependency that is being used by the license

Example

<ul class="licenses-overview">
    {{#each overview}}
    <li><a href="#{{id}}">{{name}}</a> ({{count}})</li>
    {{/each}}
</ul>

Preview of the default about.hbs

license You can view the full license here

FAQ

Unable to satisfy the following licenses

[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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].