292 Commits

Author SHA1 Message Date
8e328c4704
Most targets are now logged using their Display output, instead of Debug. 2024-08-15 19:59:48 +01:00
746c4287da
Added logging of build times when rebuilding. 2024-08-15 19:20:38 +01:00
0b00357c45
Moved recursive check earlier.
Added logging of reason for building target.
2024-08-15 05:31:36 +01:00
f2d56881ca
Added error for when a rule recurses on itself. 2024-08-13 23:24:05 +01:00
297731bd21
Optional dependency files now work as expected. 2024-08-12 19:19:41 +01:00
05adac62c7
Merge branch 'dev' 2024-08-10 16:14:42 +01:00
f67d2f677d
Added PKGBUILD for packaging in arch-based systems. 2024-08-10 16:13:35 +01:00
57d9ae427f
Merge branch 'dev' 0.1.7 2024-08-10 15:30:33 +01:00
34e1d77a29
Updated to 0.1.7.
This doesn't change any functionality, but `0.1.6` was un-publishable due to `npath` using a git dependency, so this fixes that.
2024-08-10 15:30:20 +01:00
2eeea264ca
Removed removed lint. 2024-08-10 15:30:11 +01:00
192043e8da
Updated all dependencies. 2024-08-10 15:26:23 +01:00
81b9d4366b
Replaced npath with custom implementation. 2024-08-10 15:22:23 +01:00
c27820805e
Added some tests for util::normalize_path 2024-08-10 15:10:52 +01:00
91f9eb3e2f
Merge branch 'dev' 0.1.6 2024-08-10 15:01:10 +01:00
feeb4d804d
Updated to 0.1.6. 2024-08-10 14:52:18 +01:00
df9555711c
npath is now gotten from it's github rather than a custom registry. 2024-08-10 14:50:37 +01:00
f723b0e95b
Watcher now ignores some events. 2024-08-03 22:19:17 +01:00
864e038c69
Merge branch 'dev' 0.1.5 2024-07-30 23:40:50 +01:00
baa86233c7
Updated to 0.1.5. 2024-07-30 23:40:20 +01:00
5a962be26e
Updated to rustc 1.82.0-nightly (2cbbe8b8b 2024-07-28). 2024-07-30 23:37:05 +01:00
6e224e969a
File metadata is now checked without following symlinks. 2024-07-30 23:36:15 +01:00
7b859c7eab
Removed no longer applicable lint. 2024-02-19 06:24:01 +00:00
002d4709a6
Updated to rustc 1.78.0-nightly (bccb9bbb4 2024-02-16). 2024-02-19 06:22:50 +00:00
e205b83662
Merge branch 'dev' 0.1.4 2024-01-07 15:56:15 +00:00
d6e7156600
Updated to 0.1.4. 2024-01-07 15:55:45 +00:00
97983575c0
Prepared package for publishing on a registry. 2024-01-07 15:55:30 +00:00
e52e96dfce
npath is now used from a custom registry. 2024-01-07 15:54:46 +00:00
8ca24b6ba6 Fixed cpu usage being pinned at 100% when watching.
This was due to the default timeout being 0ms.
2023-12-16 04:18:51 +00:00
f7f867ff91
Merge branch 'dev' 0.1.3 2023-12-13 21:32:11 +00:00
5de1dd71d8 Updated zbuild to 0.1.3. 2023-12-13 21:31:57 +00:00
2d1de3513a Fixed execution semaphore being closed when watching.
This lead to no more rules being able to be built once an error occurred.
2023-12-13 21:23:11 +00:00
936cbfd673 Removed outdated comment. 2023-12-11 00:05:02 +00:00
e169efa030 Execution of rules is now stopped at the first build error. 2023-12-10 18:02:29 +00:00
a879ab1c2a PrettyDisplay now hides "irrelevant" errors when printing AppError::Multiple.
Currently the only irrelevant error is empty `AppError::BuildTarget`s.
2023-12-10 18:01:33 +00:00
792699b364 Removed AppError::Shared.
Now that we can show all the errors at once, it is no longer necessary for all errors to have all the sources.
2023-12-10 16:12:37 +00:00
f91bef0ee5 Fixed some outdated comments.
We no longer fail early anywhere, so those comments were no longer true.
The todo on canceling dependencies is better suited to be on the builder.
2023-12-10 14:51:56 +00:00
5043f9d843 Rules no longer store dependencies file as a separate variant and instead uses a flag.
Renamed (internal) usages of `dep_file` to `deps_file`.

Dependencies file need the same treatment as normal files, with just an extra treatment after they're built, so a flag is sufficient.
2023-12-10 14:49:48 +00:00
5c6d919ec4 Removed unnecessary dependency on std::os::unix::ffi::OsStringExt.
This requires arguments to be utf-8, since the only cross-platform (safe) way to get a `OsStr` is from a `str`.
However, we only require this from commands that are used as output, so it should be fine.
2023-12-10 14:31:07 +00:00
fe5bdb0106 Sorted all dependencies by name. 2023-12-10 04:17:30 +00:00
6f7dfd5301 Updated all dependencies. 2023-12-10 04:12:41 +00:00
53709be359 Added some allows for missing copy implementations.
These seem to be intermittent, so we might need to lower them to `allow` in the future.
2023-12-10 04:06:07 +00:00
bac6ab4e21 Added the ability to have an error with multiple inner errors. 2023-12-09 21:06:46 +00:00
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