e23bed5e646d84b4d327fa6dda7805e181be9d69
This introduces three new things: * `handleException` which prints out exception details and its stack trace. * `handleExceptionWithAsyncTrace` which does the same, but also prints the async trace if any. * `LIX_BLOCK_ON` which is awaits a promise and adds an exception trace if an exception got thrown, similar to `LIX_TRY_AWAIT`. However, this is not supposed to be used in async functions, but on callsites of `aio.blockOn()` which is especially useful for Hydra[1]. For `LIX_BLOCK_ON` I had to introduce another function because there's apparently no way to implement all of it in a macro: on macros with compound statements the return value must be a trivial expression at the bottom, i.e. no `try`/`catch`. Now, returning the value from the `try`-block requires the variable to be defined up-front, but for that we'd need to know the type-name. Hence the construction with a template-function being invoked by a macro that injects the current source-location. [1] https://git.lix.systems/lix-project/hydra/pulls/52 Change-Id: I56cc92c94f7e8f0be5d4dc5a7d8cb21a92e776ef
Lix
Lix is an implementation of Nix, a powerful package management system for Linux and other Unix systems that makes package management reliable and reproducible.
Read more about us at https://lix.systems.
Installation
On Linux and macOS the easiest way to install Lix is to run the following shell command (as a user other than root):
$ curl -sSf -L https://install.lix.systems/lix | sh -s -- install
For systems that already have a Nix implementation installed, such as NixOS systems, read our install page
Building And Developing
See our Hacking guide in our manual for instruction on how to set up a development environment and build Lix from source.
Additional Resources
- The Lix reference manual:
- Our wiki
- Matrix - #space:lix.systems
License
Lix is released under LGPL-2.1-or-later.
Description
Working fork of Lix - carries the adaptive load-aware build-remote patch. Upstream: gerrit.lix.systems
92 MiB
Languages
C++
74.9%
Python
11.7%
Nix
6.1%
Shell
3.6%
Meson
2%
Other
1.6%