class

Quartz::Build::Driver

Inherits Reference < Object

Driver wraps the compile toolchain. Phase 2 shells out to ufbt; later phases will invoke arm-none-eabi-gcc directly against a cached SDK.

Constants

DEFAULT_TIMEOUT = 600.seconds

Constructors

new(app_dir : Path | String, variant : Quartz::SDK::Variant = Quartz::SDK::Variant::Stock, channel : String = "release", cache : Quartz::SDK::Cache | Nil = nil, timeout : Time::Span = DEFAULT_TIMEOUT)
Source

Instance methods

app_dir
Source
cache
Source
channel
Source
compile
Source
compile_native

End-to-end native compile using only arm-none-eabi-gcc + the cached SDK. No ufbt. Wires SdkOpts → Toolchain → Sources → Compiler → Linker → FapPacker. Emits a byte-layout-correct .fap under <app_dir>/dist/.

Not all SDK metadata is surfaced yet — api_version is 0, and plugin manifests aren't distinguished from APP manifests. Good enough to produce a loadable .fap for a simple standalone app; richer metadata lands as a follow-up.

Source
timeout
Source
variant
Source