Compiles a parsed network manifest into Broadway-based source files written
to _build/<MIX_ENV>/bloccs_generated/<network>/.
Two stages:
Bloccs.Compiler.Node— one Broadway pipeline module per nodeBloccs.Compiler.Network— a Supervisor module that boots every pipeline and an edges-table module the Router consumes
Then the caller Code.require_file/1s the emitted files (or
Mix.Task does it as part of bloccs.compile) and starts the supervisor.
Summary
Functions
Compile a network. Writes source files to dest_dir (defaults to
_build/<MIX_ENV>/bloccs_generated/<network_id>).
Convenience: compile the network and immediately Code.require_file/1
every emitted source so the modules become callable.
Functions
@spec compile( Bloccs.Manifest.Network.t(), keyword() ) :: {:ok, %{supervisor: module(), files: [Path.t()]}}
Compile a network. Writes source files to dest_dir (defaults to
_build/<MIX_ENV>/bloccs_generated/<network_id>).
Returns {:ok, %{supervisor: module, files: [path]}}.
@spec compile_and_load( Bloccs.Manifest.Network.t(), keyword() ) :: {:ok, module()}
Convenience: compile the network and immediately Code.require_file/1
every emitted source so the modules become callable.