Gen
A Go tool that runs the full build pipeline — icon, jsonc,
bundler, plugins, core, link, appconf, fastlane — the way task gen
would, but without needing go-task installed. It invokes
each step’s prebuilt tools/<step>/dist/ binary with the arguments the
pipeline ordinarily passes, resolving the repository root from the running
binary’s location, so it works from any working directory.
Requirements
-
Go 1.26 or newer (only for compilation.
dist/directory contains binaries). -
The prebuilt binary for every step you run, produced by
task buildinside eachtools/<step>/src/. A missing binary fails the run with a hint.
Usage
From the repository root:
tools/gen/dist/gen-<os>-<arch>
This runs all steps in order. To run a subset:
tools/gen/dist/gen-<os>-<arch> --steps icon,jsonc
Each step’s output is printed as =⇒ gen <step>.
Pipeline order
Steps run in dependency order: plugins wipes build/<platform>/sources/,
so it must run before core. core, link, appconf and fastlane take no
arguments — the rest are passed the paths pointing into lib/ and build/
their docs on this page describe.
Tasks
From the repository root:
-
task gen: run the full build pipeline for both Xcode and Android. -
task gen.build(gb): build thetools/genbinary.
From tools/gen/src:
-
task build(b): cross-compile binaries into../dist/for macOS (amd64/arm64), Linux (amd64) and Windows (amd64). -
task test(t): run the test suite.