3 个稳定版本
1.2.0 | 2021年4月17日 |
---|---|
1.1.0 | 2020年12月12日 |
1.0.0 | 2020年12月5日 |
#395 在 构建工具
7,552 每月下载量
用于 25 个crate(通过 static-files)
25KB
387 行
在构建时生成变更检测指令的库
法律
双许可协议下 MIT
或 UNLICENSE。
功能
自动化生成静态文件变更检测指令的任务。
https://doc.rust-lang.net.cn/cargo/reference/build-scripts.html#change-detection
用法
将依赖项添加到 Cargo.toml
[dependencies]
change-detection = "1.2"
在 build.rs
中添加调用
use change_detection::ChangeDetection;
fn main() {
ChangeDetection::path("src/hello.c").generate();
}
这基本上是相同的,只需写下
fn main() {
println!("cargo:rerun-if-changed=src/hello.c");
}
您还可以使用目录。例如,如果您的资源在 static
目录中
use change_detection::ChangeDetection;
fn main() {
ChangeDetection::path("static").generate();
}
一次生成调用可以有多个 path
组件
use change_detection::ChangeDetection;
fn main() {
ChangeDetection::path("static")
.path("another_path")
.path("build.rs")
.generate();
}
使用 path-matchers
库,您可以指定包含/排除过滤器
#[cfg(features = "glob")]
use change_detection::{path_matchers::glob, ChangeDetection};
fn main() {
#[cfg(features = "glob")]
ChangeDetection::exclude(glob("another_path/**/*.tmp").unwrap())
.path("static")
.path("another_path")
.path("build.rs")
.generate();
}
您可以使用此命令查看实际生成的结果
find . -name output | xargs cat
依赖项
~51KB