Expand description
§A library to generate change detection instructions during build time
§Legal
Dual-licensed under MIT
or the UNLICENSE.
§Features
Automates task of generating change detection instructions for your static files.
https://doc.rust-lang.org/cargo/reference/build-scripts.html#change-detection
§Usage
Add dependency to Cargo.toml:
[dependencies]
change-detection = "1.2"
Add a call to build.rs
:
use change_detection::ChangeDetection;
fn main() {
ChangeDetection::path("src/hello.c").generate();
}
This is basically the same, as just write:
fn main() {
println!("cargo:rerun-if-changed=src/hello.c");
}
You can also use a directory. For example, if your resources are in static
directory:
use change_detection::ChangeDetection;
fn main() {
ChangeDetection::path("static").generate();
}
One call to generate can have multiple path
components:
use change_detection::ChangeDetection;
fn main() {
ChangeDetection::path("static")
.path("another_path")
.path("build.rs")
.generate();
}
Using path-matchers
library you can specify include / exclude filters:
#[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();
}
You can find generated result with this command:
find . -name output | xargs cat
Modules§
- path_
matchers - Reexport
path-matchers
.
Structs§
- Change
Detection - A change detection entry point.
- Change
Detection Builder - A change detection builder.