41 Commits

Author SHA1 Message Date
d8ab30c7ae Replaced std::fs usages with tokio::fs where possible. 2022-09-24 00:35:27 +01:00
5a010019b5 Builder now locks all dependencies when building target.
Static targets now go through `Builder::build`, when existing instead of being fully ignored. They are will only rebuilt if they don't exist though.
Watcher now properly watches all changes to files.
2022-09-24 00:12:53 +01:00
3fc968749d Replaced BuildStatus with a rwlock wrapper.
Fixed deadlock without `--watch`.
Improved logging throughout the `build` module.
2022-09-23 21:21:25 +01:00
a654b7d781 Started work on dependency watching. 2022-09-22 21:21:16 +01:00
8aab6d64f3 Removed the dependency graph in favor of an event system. 2022-09-22 17:46:59 +01:00
04894498a0 Updated rustc to rustc 1.66.0-nightly (432abd86f 2022-09-20).
Removed unused `deps_graph` function.
2022-09-21 20:44:29 +01:00
6874c3da6e Builder now contains a dependency graph. 2022-09-21 18:04:14 +01:00
db1b3acc2c
Updated some comments in the building process. 2022-09-21 13:22:26 +01:00
a025518c54 Added a usage guide.
Slightly updated readme.
0.1.0
2022-09-20 17:28:54 +01:00
38db58b423 Started work on a README. 2022-09-19 09:52:53 +01:00
78da7a1685 Clarified a todo 2022-09-19 09:19:50 +01:00
aae1ae0b3f Merged exec_cwd into exec. 2022-09-19 09:18:21 +01:00
833f66646a Improved end-target reporting. 2022-09-19 09:02:32 +01:00
a0822fabc4 Fixed static dependencies not actually being static. 2022-09-19 09:02:08 +01:00
72b8f4963e Merged all rule dependencies into a single field.
Separated rule outputs onto their own type.
2022-09-19 08:28:55 +01:00
bf8b516ce9 Semaphore lock on executables is now at the rule-level instead of command level. 2022-09-19 04:38:45 +01:00
6dbd586f6e Replaced all remaining instances of anyhow (except for main's return type). 2022-09-19 04:32:35 +01:00
5f47caeb84 App result return types now use AppError. 2022-09-19 03:34:37 +01:00
280c7d49e9 Now using AppError in expression expanding and matching. 2022-09-19 03:29:34 +01:00
d91673492c Now using AppError in more places. 2022-09-19 03:21:35 +01:00
6cf7472a84 Started work on creating a global error. 2022-09-19 02:41:09 +01:00
b5338c7764 Added some implementation documentation to BuildStatus::await_built. 2022-09-19 02:13:08 +01:00
3e502eb8b7 match_expr now panics on any aliases. 2022-09-19 02:03:10 +01:00
05e74a4edc Improved implementation of expand_target. 2022-09-19 02:01:43 +01:00
f25a24fce7 expand_expr visitors now don't depend on each other. 2022-09-19 02:00:16 +01:00
9ac00b7304 Improved implementation of expand_rule. 2022-09-19 01:55:04 +01:00
d8e71628e0 expand_expr now merges neighbor strings.
`expand_expr_string` now uses `expand_expr` to expand all.
2022-09-19 01:38:47 +01:00
f0189edc7f Added rule dependencies. 2022-09-19 00:01:22 +01:00
d0cb711aad Added more defaults to ast parser. 2022-09-18 23:14:11 +01:00
ef2cf4a70c Addressed some TODOs in ast::Expr deserialization. 2022-09-12 14:38:07 +01:00
c41f53a7f5
Revised zbuild.yaml file finding. 2022-09-12 14:27:55 +01:00
14a297aa47
Updated to rustc 1.65.0-nightly (c2804e6ec 2022-09-07). 2022-09-09 02:30:19 +01:00
72f17d52d3 dir_name no longer appends / to the alias. 2022-08-29 01:52:10 +01:00
e4fe3071a7 Expressions are now always a single string.
Expression operators are now alias and pattern operators.
Added pattern operator `NonEmpty`.
2022-08-29 01:46:08 +01:00
f97f238393 Slightly improved some documentation in build.rs. 2022-08-28 06:38:42 +01:00
dd8d6922d0 Improved documentation in main. 2022-08-28 06:30:40 +01:00
aca484483c Building Rules is now infallible. 2022-08-28 06:27:25 +01:00
b1b9a8f6cd Added a description to --help flag. 2022-08-28 06:25:23 +01:00
c8de42a9df Added flag to specify zbuild path. 2022-08-28 06:21:56 +01:00
9cef31d0ca Improved and moved logging setup to logger module. 2022-08-28 06:12:17 +01:00
878a390360 Initial commit.
Brought over from separate project.
2022-08-28 05:50:20 +01:00