# RBuild - A Rust-based build system **NOTE**: Dates are in YYYY-MM-DD format. ## v0.3.1 (2019-08-20) - Adds `always` keyword, which will always run the specified command regardless of timestamps. ## v0.3.0 (2019-04-29) - Removes caching entirely. The meta-build system is now responsible for generating unique paths for targets configured with different options. ## v0.2.0 (2019-04-28) - New lexer and parser, so now keywords no longer need to be on new lines. - Added `#NUM` syntax to annotate paths with their ids. - `dep` renamed to `deps` and now accepts multiple unsigned integer (corresponding to path id) dependencies. - `run` now accepts arguments directly, and `arg` has been removed. - Quotes or backslash (`\`) can be used to escape whitespace (see example in `tests/minimal\ project/rbuild`) - Command hashing is now performed during parsing, and no longer relies on `format!`ing `Command`s. ## v0.1.1 (2019-04-27) - Performance optimizations, by removing excessive `format!`s. - Removes `--verbose` option. ## v0.1.0 (2019-04-02) - Adds the Target struct, which corresponds to a path in the rbuild file. - Adds a basic command-line utility that accepts the rbuild file and targets as arguments. - RBuild now ignores leading and trailing whitespace in values in the configuration file. - Adds functionality for reading and writing to a hash cache, so that commands are rerun when the rbuild file is modified. - Migrates command-line parsing to RgParse. - Adds a `--threads` option that allows the user to specify the maximum number of parallel jobs. - Adds a `--cache` option for specifying the path to the hash cache. - Adds a `--verbose` option that prints out commands before running them. - Changes default behavior of RBuild to run all targets if none are specified.