24 releases
new 0.8.7 | Nov 1, 2024 |
---|---|
0.8.4 | Sep 1, 2024 |
0.8.2 | Jul 1, 2024 |
0.7.5 | Mar 13, 2024 |
0.6.2 | Oct 26, 2023 |
#1390 in Command line utilities
398 downloads per month
56KB
415 lines
cargo-attribution
A cargo subcommand to give credit to your dependencies
Usage: cargo attribution [OPTIONS]
Options:
--manifest-path <MANIFEST_PATH>
Path to the Cargo.toml, [default: ./Cargo.toml]
--current-dir <CURRENT_DIR>
Directory of the cargo process, [default: .]
--output-dir <OUTPUT_DIR>
Directory of the output files, [default: ./attribution]
-d, --dependencies-name <DEPENDENCIES_NAME>
Dependencies file name [default: dependencies]
--self-name <SELF_NAME>
Self file name [default: self]
--all-features
Activate all available features
--no-default-features
Deactivate default features
--features <FEATURES>
Select features to activate, e.g. f1,f2,f3
--filter-platform <FILTER_PLATFORM>
Filter by target triple, e.g., "wasm32-unknown-unknown"
--only-normal-dependencies
Avoid dev, build, and unknown dependencies
-h, --help
Print help
-V, --version
Print version
Installation
Cargo install
Compile the crate yourself with:
cargo install cargo-attribution
Cargo binstall
Install a binary version:
cargo binstall cargo-attribution
Main Features
-
Download a general version of the licenses used by your dependencies. They are downloaded from the spdx license-list-data: https://github.com/spdx/license-list-data
-
Create a
dependencies.toml
file that contains metadata for the project's dependencies, and aself.toml
file that includes metadata of the project itself, including copyright notices.
Example of a dependency:
[[dependencies]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
description = "Experimental WASI API bindings for Rust"
license = "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT"
authors = ["The Cranelift Project Developers"]
repository = "https://github.com/bytecodealliance/wasi"
You can check the dependencies.toml file, self.toml and licenses generated for this project.
Purpose
This command allows you to comply with licenses that require you to retain the license and copyright notices, such as the MIT license, without the need to include the same license repeatedly.
MIT license extract:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
LICENSE
cargo-attribution is provided under the MPL v2.0 license. Refer to the LICENSE file for more details.
Dependencies
~20–33MB
~469K SLoC