#credits #license #cargo-toml #attribution #cargo-subcommand #file-metadata #cli

bin+lib cargo-attribution

一个 cargo 子命令,用于向您的依赖项致谢

19 个版本 (7 个重大变更)

0.8.2 2024年7月1日
0.7.5 2024年3月13日
0.6.2 2023年10月26日

1108命令行工具

MPL-2.0 许可协议

56KB
415 代码行

cargo-attribution

License Crates.io Minimum Supported Rust Version CI

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

安装

Cargo install

使用以下命令自行编译 crate:

cargo install cargo-attribution

Cargo binstall

安装二进制版本

cargo binstall cargo-attribution

主要功能

  • 下载依赖项使用的通用许可证版本。这些许可证是从 spdx 许可列表数据下载的: https://github.com/spdx/license-list-data

  • 创建一个包含项目依赖项元数据的 dependencies.toml 文件,以及包含项目自身元数据(包括版权声明)的 self.toml 文件。

依赖项示例

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

您可以查看此项目的 dependencies.toml 文件,self.tomllicenses 生成文件。

目的

此命令允许您遵守需要您保留许可证和版权声明的许可证,例如 MIT 许可证,而无需反复包含相同的许可证。

MIT 许可证摘录

上述版权声明和此许可声明应包含在软件的所有副本或实质性部分中。

LICENSE

cargo-attribution 在 MPL v2.0 许可协议下提供。有关详细信息,请参阅 LICENSE 文件。

依赖项

~20–33MB
~482K SLoC