132 Commits

Author SHA1 Message Date
2cc54cb55b Replaced thiserror with custom impl.
Added `ExitResult` for returning from `main`.

This allows us to format errors more properly without having to go through `anyhow::Error`.
2023-12-09 18:32:53 +00:00
1cf832759a Switched decl_error to a macro_rules macro.
This is due to some issues related to field privacy. Intermittently we'd get an error that `AppError::{Shared, Other}` weren't visible to the `thiserror::Error` derive macro, so this fixes that for now.
2023-12-09 17:44:31 +00:00
c0760b7ffd Removed BuildResult::built_here.
It always had the same value as `built`.
2023-12-09 17:10:43 +00:00
b08e2c4fbc Simplified a future mapping. 2023-12-09 17:05:01 +00:00
3f67a98e16 All build errors are now displayed again on exit.
This is useful when you're building with multiple jobs and an error gets buried in the middle of other jobs' output.
2023-12-09 17:02:48 +00:00
143816e0e6 decl_error now requires the Shared and Other variant types.
This is due to an intermittent compiler error that says that those fields aren't visible to `derive(thiserror::Error)`.
2023-12-09 16:49:04 +00:00
a2d9591b07 Removed impossible error. 2023-12-09 16:47:43 +00:00
c5e788ec30 Program stdout no longer needs to be utf-8 when passing it to other programs. 2023-12-09 16:46:14 +00:00
4e030395fc AppError is now generated with a macro. 2023-12-09 16:38:05 +00:00
6515926473 Re-enabled clippy.significant_drop_in_scrutinee lint.
This required rewriting some code to not trigger the lint, but it ended up more readable, so it was a good thing.
2023-12-09 11:39:34 +00:00
428415c9f4 Re-enabled clippy.arithmetic_side_effects lint. 2023-12-09 11:27:38 +00:00
19aa81cd00 Removed build::file_modified_time.
It was already possible to get the build time using `Metadata::modified`, despite it being fallible.
2023-12-09 11:26:24 +00:00
bef4135311 Re-enabled clippy.default_numeric_fallback lint. 2023-12-09 11:18:22 +00:00
76b6c23bf7 Removed expected lint that was allowed. 2023-12-09 11:16:21 +00:00
35989fe394 Removed some more allowed lints. 2023-12-09 11:12:35 +00:00
0014341015 Cleaned up some lints. 2023-12-09 11:09:45 +00:00
e509859c6f Fixed return value being 0 despite build error occurring. 2023-12-08 22:26:06 +00:00
2e53661bbd Added warning on using --watch when a log file is present nearby any watched files. 2023-12-04 21:10:16 +00:00
4ef11adb18 Watcher now watches the file parent in a non-recursive way.
Being recursive was already unnecessary to allow the behavior we needed.
2023-12-04 21:07:10 +00:00
6a591c4fe3 Updated to rustc 1.75.0-nightly (fee5518cd 2023-11-05). 2023-12-04 20:54:23 +00:00
da8522b291 Removed unused imports. 2023-12-04 20:54:10 +00:00
3350096af3 Fixed wrong help message for log-file command. 2023-12-04 20:53:59 +00:00
101f78d93e Improved logging implementation. 2023-09-13 08:56:59 +01:00
c268f5599c Watcher::new now takes a Duration for the debouncer timeout. 2023-09-13 08:26:30 +01:00
0b9a8078b6 Updated to rustc 1.74.0-nightly (2f5df8a94 2023-08-31). 2023-09-07 03:43:23 +01:00
ed61b04f93 Fixed arguments being shuffled around. 2023-08-23 15:41:59 +01:00
4662d73997 Added ability to strip a command argument if it fails. 2023-08-23 15:28:54 +01:00
6f5329628a Reworked rule execution to allow recursive commands. 2023-08-23 14:39:35 +01:00
63ce369251 Fixed unhandled case where executable semaphore failed to acquire. 2023-08-23 13:41:29 +01:00
94ecd810ec Updated to rustc 1.73.0-nightly (399b06823 2023-07-20). 2023-08-23 13:30:37 +01:00
1ae8448b11 Expander now carries the manifest lifetime, so it may cache certain results 2023-07-13 12:53:25 +01:00
471ebdecdd Fixed several clippy lints. 2023-07-13 12:51:12 +01:00
559a287117 Fixed compiler crash due to expect lint. 2023-07-13 12:42:10 +01:00
71eb625fb7 Fixed error trace formatting the target with debug output. 2023-07-10 10:39:02 +01:00
ff175e0deb Improved variable logging. 2023-07-01 00:07:10 +01:00
c70df6e078 Replaced notify-debouncer-mini with notify-debouncer-full. 2023-07-01 00:00:46 +01:00
469e62a506 Added hack to ensure (some) removed files still get watched. 2023-06-30 23:50:35 +01:00
a001754a3c Changed default watcher timeout to 0ms, to default to no timeout. 2023-06-30 23:43:47 +01:00
1a66fcdad7
Build execution times are now logged as trace instead of debug. 2023-06-30 22:50:18 +01:00
875adccd4a Fixed wrong doc link. 2023-06-18 17:50:56 +01:00
9db44fbee3 Added and moved lints to Cargo.toml. 2023-06-18 17:42:59 +01:00
dc80c25ace Updated to rustc 1.72.0-nightly (871b59520 2023-05-31). 2023-06-18 17:28:11 +01:00
41344853b6 Reduced some tracing::infos to debugs.
Built targets are now also output using `println`.
2023-03-17 04:05:11 +00:00
d419fd845f Expander::expand_expr now returns an Expr. 2023-02-13 09:53:11 +00:00
7f305b25fa Separated ast patterns and aliases into their own types. 2023-02-13 08:45:30 +00:00
8aa54e0cb0 Build logging is now deduplicated when multiple reverse dependencies exist. 2023-02-12 08:29:19 +00:00
7fa2def774 Added timeout argument for watcher. 2023-02-12 08:25:47 +00:00
96cd53ecbe Updated to rustc 1.69.0-nightly (c18a5e8a5 2023-01-25). 2023-02-12 08:11:11 +00:00
a9167f8fa9 Removed allocation when using default rules. 2023-01-09 08:20:36 +00:00
955c433077 Removed dead functions. 2023-01-09 08:17:03 +00:00