Quartz::Build::Driver
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)
SourceInstance methods
app_dir
Sourcecache
Sourcechannel
Sourcecompile
Sourcecompile_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.
timeout
Sourcevariant
Source