8 个版本
0.1.7 | 2023年4月30日 |
---|---|
0.1.6 | 2020年12月17日 |
0.1.5 | 2020年7月19日 |
0.1.4 | 2020年6月7日 |
0.1.2 | 2019年3月21日 |
#97 in 构建工具
每月 39 次下载
15KB
220 行
cargo-post
A cargo
wrapper that executes a post build script after a successful build.
安装
cargo install cargo-post
用法
执行 cargo CMD [ARGS]
并随后运行 post_build.rs
cargo post CMD [ARGS]
The post_build.rs
is only run if CMD
is a build command like build
or xbuild
.
In workspaces, you might have to pass a --package
argument to cargo build
to specify the package for which the post build script should be run.
示例
构建包并随后运行 post_build.rs
cargo post build
以发布模式构建包并随后运行 post_build.rs
cargo post build --release
使用 cargo-xbuild 构建
cargo post xbuild
检查包而不执行 post_build
cargo post check
The build script is not executed because cargo check
is not a build command. The same behavior occurs for cargo post doc
or cargo post update
.
后构建脚本格式
后构建脚本类似于 cargo 构建脚本,但它们具有不同的环境变量集
CRATE_BUILD_COMMAND
: 用于构建(不包括post
)的完整 cargo 命令- 示例:当使用
cargo post build --release
编译 crate 时,环境变量具有以下值:cargo build --release
。
- 示例:当使用
CRATE_MANIFEST_DIR
:存放Cargo.toml
的目录。CRATE_MANIFEST_PATH
:crate 的Cargo.toml
的路径。CRATE_PROFILE
:debug
或release
,取决于构建命令中是否传递了--release
。CRATE_TARGET
:传递给--target
的完整内容,如果没有传递--target
,则为空字符串。CRATE_TARGET_TRIPLE
:传递给--target
的目标三元组,如果没有传递--target
,则为空字符串。- 示例:使用
cargo post xbuild --target /some/path/to/your/target-x86_64.json
,此环境变量的值为target-x86_64
。
- 示例:使用
CRATE_TARGET_DIR
:crate 的target
目录的路径。CRATE_OUT_DIR
:cargo 放置编译的二进制文件的目录的路径。此路径通过将CRATE_TARGET_TRIPLE
和CRATE_PROFILE
添加到CRATE_TARGET_DIR
来构造。
依赖项
可以在您的 Cargo.toml
中的 [package.metadata.cargo-post.dependencies]
表中指定构建后脚本的依赖项。
许可证
许可证为以下之一
- Apache License,版本 2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
除非您明确说明,否则根据 Apache-2.0 许可证定义,您有意提交的任何贡献,作为作品的一部分包含在内,将如上双许可,无需附加条款或条件。
依赖项
~1.2–2.1MB
~45K SLoC