Most important change is https://github.com/GREsau/schemars/pull/310, which keeps newlines unchanged during schema generation. This is important to preserve the lists, markdown code blocks, and markdown headings in our docs.
- Buffer log messages that are sent before subscribers are connected
- Include working directory in 'running build command' message
- Lower log level of 'building' message to `Debug`
We forgot to create the working directory in a few cases in #901. This
PR fixes this by adding the proper `create_dir_all` calls.
Alternative to https://github.com/dora-rs/dora/pull/1064
The dataflow descriptor format still changes often, which led to parse errors. By doing the parsing lazily, this should only affect users of the `dataflow_descriptor` function from now on.
The coordinator now sends an immediate `DataflowStartTriggered` reply when receiving a `DataflowStart` command. This enables the CLI to directly attach to the dataflow and observe the build output.
To wait until the build/spawning is done, this commit introduces a new `WaitForSpawn` command, to which the coordinator replies with a `DataflowSpawned` message once the node has been started. We use this command for the `dora build` command.
Fixes the tests/examples of this repo. A UNC path as working directory doesn't work because the build commands of our examples invoke `cargo` on the dora repo. The dora repo uses wildcards in the member list in the top-level Cargo.toml, which are ignored in UNC-paths. Thus, `failed to load manifest for workspace member` errors occur.
The previous machine ID is still used, but optional. Users don't need to ensure that the chosen machine IDs are unique anymore because they are augmented with a UUID.
Make `dora-message` a dependency of `dora-core`, instead of the other way around. This way, we can continue to freely bump the version of `dora-core` with the other workspace crates, without introducing errors such as #708.