Class: Everywhere::Builders::Base
- Inherits:
-
Object
- Object
- Everywhere::Builders::Base
- Defined in:
- lib/everywhere/builders/base.rb
Overview
What the three platform builders (Android, Ios, Desktop) genuinely share.
Deliberately thin: stage, preflight!, stamp! and collect are
structurally parallel across the three but mean different things on each
platform, so they stay where they are. Only identity (name, bundle id),
the environment reader and the stage marker live here.
Constant Summary collapse
- STAGE_MARKER =
Marks which template a work dir was staged from. A gem upgrade can add, rename or delete template files, and staging merges rather than wipes (see #stage), so a stale Kotlin file from an older template would keep compiling in. Version mismatch = wipe once, then merge as usual.
".everywhere-template"
Instance Method Summary collapse
-
#initialize(config:, root:, target: nil, template_dir: nil) ⇒ Base
constructor
targetis a build target like "ios-arm64" or "android-arm64"; the desktop builder has none, and everything below reads it as nil.
Constructor Details
#initialize(config:, root:, target: nil, template_dir: nil) ⇒ Base
target is a build target like "ios-arm64" or "android-arm64"; the
desktop builder has none, and everything below reads it as nil.
21 22 23 24 25 26 |
# File 'lib/everywhere/builders/base.rb', line 21 def initialize(config:, root:, target: nil, template_dir: nil) @config = config @root = root @target = target @template_dir = template_dir end |