Skip to main content

compile_once

Function compile_once 

Source
pub fn compile_once(
    compiler: &Compiler,
    project_root: &Path,
    build_dir: &Path,
    schema_registry: bool,
) -> bool
Expand description

One compile of the project into build_dir, on the same rooting rule as bynkc compile <project_root> (#524, via [bynk_driver::project_options]). Default: in-process. Escape hatch: a BYNK_BYNKC override shells that binary instead — the only path on which a second, skewable compiler enters (doctor reports its skew only here). Returns false on failure with the diagnostics already rendered.

schema_registry (#980): true for the real bynk dev/bynk deploy call sites — otherwise a deploy could ship a schemaVersion computed purely from @schema(N) annotations, diverging from what bynkc compile would have shipped for the same source (the write is a no-op when the tree is already up to date). false for compile_once_warnings_behaviour.rs, the only other caller: it compiles a committed repo fixture in place, the same hazard bynkc/tests/e2e.rs’s in-place fixtures have — an unconditional write would leave a real bynk.schema.lock in the tree on every test run.