Class: Ucode::Commands::BuildCommand
- Inherits:
-
Object
- Object
- Ucode::Commands::BuildCommand
- Defined in:
- lib/ucode/commands/build.rb
Overview
ucode build — full pipeline: fetch (ucd + unihan + charts) →
parse → (optional) glyphs → (optional) site. Resumable: each step
is idempotent and safe to re-run.
Resolves the version intent once at the top and threads the resolved string through every sub-command. See Candidate 4 of the 2026-06-29 architecture review.
Glyph step is opt-in as of v0.1 because the SVG cell extractor
is still experimental. Pass include_glyphs: true to enable it;
otherwise the glyphs step is recorded as skipped.
Instance Method Summary collapse
-
#call(version_intent, output_root:, site_root: nil, monolith_path: nil, force_fetch: false, include_glyphs: false, warn: nil) ⇒ Hash
Aggregated step results.
Instance Method Details
#call(version_intent, output_root:, site_root: nil, monolith_path: nil, force_fetch: false, include_glyphs: false, warn: nil) ⇒ Hash
Returns aggregated step results.
31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/ucode/commands/build.rb', line 31 def call(version_intent, output_root:, site_root: nil, monolith_path: nil, force_fetch: false, include_glyphs: false, warn: nil) version = VersionResolver.resolve(version_intent) steps = {} steps[:fetch] = run_fetch(version, force: force_fetch) steps[:parse] = ParseCommand.new.call(version, output_root: output_root) steps[:glyphs] = run_glyphs(version, output_root, monolith_path, include_glyphs: include_glyphs, warn: warn) steps[:site] = run_site(output_root, site_root) if site_root { version: version, steps: steps } end |