11 个版本 (3 个稳定版)
1.1.1 | 2024年2月7日 |
---|---|
1.1.0 | 2023年10月30日 |
1.0.0 | 2023年8月9日 |
0.3.3 | 2021年10月1日 |
0.2.2 | 2020年10月1日 |
#62 在 Cargo 插件
每月下载量:4,640
28KB
536 行
Cargo 插件,用于轻松查询 Cargo.toml 文件中的信息
概述
此插件帮助查询 Cargo.toml 文件中的信息,并可用于 shell 脚本或 CI/CD 管道中。插件一次只接受一个标志,并返回一个包含请求值的单个字符串。某些查询(例如关键字或作者)会返回多个值,这些值通过换行符分隔(每个值占一行)。
此插件受 cargo-edit 的启发,并作为 cargo_toml 的轻量级包装器。
贡献
感谢您的关注 - 我们非常欢迎您的贡献。
有关问题可以在 issue 中提出。为了帮助我们在快速和顺利地合并 pull request,请在提交大更改之前打开一个 issue。请保持 pull request 和提交内容的简洁。提交消息应包括提交的意图。cargo-get 使用 rustfmt 进行格式化,并使用 clippy 进行代码检查。
安装
预构建的二进制文件
- 从 GitHub 最新版本 下载适用于您的 CPU 架构的二进制文件。
- 使用
chmod +x
使二进制文件可执行 - 将二进制文件放置在您的
$PATH
中,并将其重命名为cargo-get
。
Cargo
请确保您已安装了较新的 rust/cargo 版本。
$ cargo install cargo-get
(请参阅 cargo 的文档以了解 cargo install 的工作原理以及如何设置您的系统以便找到 cargo 安装的二进制文件。)
示例
所有选项
$ cargo get -h
Cargo plugin to easily query information from Cargo.toml files
Usage: cargo-get [OPTIONS] <COMMAND>
Commands:
package.name
package.edition
package.rust_version
package.version
package.build
package.workspace
package.authors
package.links
package.description
package.homepage
package.readme
package.keywords
package.categories
package.exclude
package.include
package.license
package.license_file
package.repository
package.default_run
package.publish
package.resolver
package.metadata
workspace.members
workspace.package.authors
workspace.package.categories
workspace.package.description
workspace.package.documentation
workspace.package.edition
workspace.package.exclude
workspace.package.homepage
workspace.package.include
workspace.package.keywords
workspace.package.license
workspace.package.license_file
workspace.package.publish
workspace.package.readme
workspace.package.repository
workspace.package.rust_version
workspace.package.version
help Print this message or the help of the given subcommand(s)
Options:
--entry <PATH> Path to the crate root to query
--delimiter <Tab | CR | LF | CRLF | String> Delimiter for array values
--terminator <CR | LF | CRLF | NUL | String> String terminator for printed values. (Defaults to `LF`)
-h, --help Print help
-V, --version Print version
获取版本
$ cargo get package.version
0.2.1
$ cargo get package.version --pretty
v0.2.1
$ cargo get package.version --major --minor --patch --pre
0
2
1
alpha2
$ cargo get package.version --major --minor --delimiter="."
0.2
现在运行诸如以下命令也很容易
git tag $(cargo get package.version --pretty)
获取关键词
$ cargo get package.keywords
command-line-utilities
development-tools::cargo-plugins
自定义分隔符
# Use one of Tab, CR, LF, CRLF or a custom string.
$ cargo get package.keywords --delimiter Tab
command-line-utilities development-tools::cargo-plugins
$ cargo get package.keywords --delimiter=" -- "
command-line-utilities -- development-tools::cargo-plugins
$ cargo get package.keywords --delimiter=";"
command-line-utilities;development-tools::cargo-plugins
可选的入口点
# Full path
$ cargo get package.name --entry="../../some/other/project/Cargo.toml"
some-other-project
# Directory
$ cargo get package.name --entry="../../some/other/project"
some-other-project
# Current directory
$ cargo get package.name
current-project
GitHub Actions
包名
- name: Get package name
id: cargo-get
uses: nicolaiunrein/cargo-get@master
with:
subcommand: package.name
包作者
- name: Get package author
id: cargo-get
uses: nicolaiunrein/cargo-get@master
with:
subcommand: package.authors
依赖项
~1.7–2.4MB
~46K SLoC