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.
Instead of running all the build commands directly, run them on their intended target machines through the coordinator.
This commit is a breaking change because a coordinator connection is now required for `dora build`.
So, As mentioned
[here](https://github.com/dora-rs/dora/pull/913#issuecomment-2747339237).
I did these changes and tried it with "Hennzau" fork and it seems to be
working fine.
```Checking for updates...
Checking target-arch... x86_64-unknown-linux-gnu
Checking current version... v0.3.10
Checking latest released version... v0.3.11
New release found! v0.3.10 --> v0.3.11
New release is compatible
dora release status:
* Current exe: "/home/arlott/gsoc/dora/dora/target/debug/dora"
* New exe release: "dora-cli-x86_64-unknown-linux-gnu.tar.gz"
* New exe download url: "https://api.github.com/repos/Hennzau/dora/releases/assets/240150528"
The new release will be downloaded/extracted and the existing binary will be replaced.
Do you want to continue? [Y/n] Y
Downloading...
[00:00:03] [========================================] 15.41MB/15.41MB (0s) Done
Extracting archive... Done
Replacing binary file... Done
Successfully updated Dora CLI to version: 0.3.11```