7 个版本
0.1.6 | 2021年2月13日 |
---|---|
0.1.5 | 2021年1月8日 |
0.1.4 | 2020年8月25日 |
#651 在 Cargo 插件
30 每月下载次数
49KB
1K SLoC
cargo-wop
- 无项目的 cargo
警告:该软件包目前处于实验阶段。
Rust 源文件作为独立项目。 cargo-wop
允许 cargo
将 Rust 源文件作为完整项目使用。该项目深受 cargo-script、cargo-eval 的启发。与这些项目相比,cargo-wop
被设计得尽可能接近 cargo 并支持所有合理的参数。
将文件作为脚本运行
cargo wop my-script.rs
# equivalent call:
cargo wop run my-script.rs
构建脚本中定义的工件
cargo wop build my-script.rs
运行脚本中定义的测试
cargo wop test my-script.rs
参数的解析方式
目前支持以下 cargo 命令: bench
、build
、check
、clean
、clippy
、fmt
、install
、locate-project
、metadata
、pkgid
、run
、tree
、test
、verify-project
。对于大多数命令,cargo-wop
将命令行重写如下
# Original command-line
cargo wop [cargo-command] [script] [args...]
# Rewritten command line
cargo [cargo-command] --manifest-path [generated_manifest] [args...]
某些命令使用额外的规则
new
:根据模板创建新的源文件。运行cargo wop new
获取所有可用模板的列表。运行cargo wop new template SOURCE.rs
创建文件。run
:所有参数默认传递给脚本,而不是传递给 cargo。要将参数传递给cargo
,请将它们放在--
前面。例如:cargo wop run my-script.rs --debug -- ...
build
:执行两次。一次构建软件包,第二次确定生成的构建工件并将它们复制到本地文件夹build
和run
默认为发布构建。要禁用此行为,请使用build-debug
和run-debug
命令。install
:不会添加清单路径,但会添加--path
参数到清单目录
自定义命令
exec
在清单目录内执行源文件后的命令manifest
:打印生成的清单
指定依赖项
依赖项在顶层注释中嵌入的 cargo 清单中描述。重要的是,文件必须以清单的注释开头,以便识别。例如
//! My script
//!
//! ```cargo
//! [dependencies]
//! serde = "1.0"
//! ```
//!
嵌入的清单可以包含 cargo 识别的任何键。cargo-wop
会标准化此清单并确保源文件被正确包含。它还会标准化用于指定依赖项的任何路径。要显示生成的清单,请使用
cargo wop manifest my-script.rs
例如,只需指定带有正确设置标志的 [lib]
目标,即可构建静态 C 库
//! My script
//!
//! ```cargo
//! [lib]
//! crate-type = ["cdylib"]
//!
//! [dependencies]
//! ```
可以通过以下方式将此脚本构建成库:
cargo wop build my-script.rs
开发任务
常见任务捆绑在 make.rs
脚本中。它可以与 cargo-wop
一起使用。首先安装 cargo-wop
。然后运行 make.rs
脚本
cargo install --path .
cargo wop make.rs precommit
运行 cargo wop make.rs help
查看可用命令列表。
相关项目
依赖项
~1.6–2.1MB
~39K SLoC