include_dir
An extension to the include_str!() macro for embedding an entire directory
tree into your binary.
Getting Started
To embed a directory and its contents into your binary, you'll need to add the
following to your build.rs script.
extern crate include_dir;
use env;
use Path;
use include_dir;
Integration Tests
Because a large part of this crate's functionality depends on generated code, it's easier to test functionality from the point-of-view of an end user. Therefore, a large proportion of the crate's tests are orchestrated by a Python script.
For each *.rs file in the integration_tests/ directory, this Python script
will:
- Create a new
--bincrate in a temporary directory - Copy the
*.rsfile into this new crate and rename it tomain.rs. - Scan the
*.rsfile for a special pattern indicating which asset directory will be included (relative to this crate's root directory). If the pattern isn't found, use this crate'ssrc/directory. - Generate a
build.rsfile which will compile in the specified file tree. - Compile and run the new binary test crate.