Build Details
=============
## Introduction
`build_details` is a code generation helper that provides build information
at runtime.
There are two steps to adding `build_details` to a crate:
* Adding/modifying `build.rs`; and
* Including the generated file.
## Getting Started
### Invoking Build Details
Invoking `build_details` is as simple as adding the following snippet to
`build.rs`:
```rust
extern crate build_details;
fn main() {
build_details::BuildDetails::default()
.generate("build_details.rs")
.unwrap();
}
```
### Including Generated File
In `src/lib.rs`:
```rust
pub mod build_details {
include!(concat!(env!("OUT_DIR"), "/build_details.rs"));
}
```
### A note on `BuildDetail::Cfg`
Using `BuildDetail::Cfg` requires a runtime dependency on `phf`.
In `Cargo.toml`, add:
```toml
[dependencies]
phf = "0.7"
```
In `src/lib.rs` or `src/main.rs`:
```rust
extern crate phf;
```
## Limitations
* Build timestamp isn't regenerated every build. [Issue #1][i1].
[i1]: https://github.com/tecywiz121/build_details/issues/1
## License
Licensed under the [Mozilla Public License, Version 2.0](LICENSE.md).
### Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the Covered Software by you, as defined in the Mozilla Public
License, shall be licensed as above, without any additional terms or conditions.