This repository was archived by the owner on Aug 14, 2026. It is now read-only.
Commit 3c52cf8
authored
refactor: make orchestrator engine-agnostic at the typed surface (#26)
Remove Unity-specific licensing fields from orchestrator's typed surfaces
(BuildParameters, OrchestratorConfig, CLI input mapper, build/orchestrate
yargs commands, cli-plugin adapter):
- unitySerial
- unityLicensingServer
- skipActivation
These were vestigial — BuildParameters.create() hardcoded them to empty
strings, no orchestrator service read them for logic. They existed only
to mirror unity-builder's BuildParameters shape, which is exactly the
boundary violation: orchestrator's domain is dispatch + providers, not
engine-specific licensing.
The plugin contract (coreParams: Record<string, any>) is already opaque
and engine-agnostic. The host (unity-builder today, @game-ci/cli in the
future) passes its full BuildParameters object through; orchestrator
reads only generic build context (targetPlatform, projectPath, etc.) and
its plugin-owned config from env/inputs. Engine-specific keys ride in
the dict untouched.
No companion change needed in unity-builder: it continues to construct
its own BuildParameters with whatever fields it wants and pass it as
coreParams. The dict's index signature accepts everything.
Documentation:
- Tracking issue #25 lays out the full architecture, today/future state,
and migration runway.
- Code comments in plugin-lifecycle.ts, interfaces.ts, build-parameters.ts,
build.ts, orchestrate.ts, input-mapper.ts, build-parameters-adapter.ts
reference the issue and explain the boundary intent so the next
contributor understands why these fields are not (and must not be)
declared here.
Out of scope (separate cleanups, noted in tracking issue):
- cacheUnityInstallationOnMac / unityHubVersionOnMac in input-mapper
(Mac runtime install caching, more entangled)
- task-parameter-serializer.ts UNITY_SERIAL well-known-secret list
(well-known-secrets generalization)
- activate CLI command (Unity-specific legacy helper, leave as-is)
Refs game-ci/unity-builder#739 and game-ci/unity-builder#838 (the user-
facing fix that motivated this boundary cleanup).1 parent 68bbf99 commit 3c52cf8
9 files changed
Lines changed: 487 additions & 444 deletions
File tree
- src
- cli-plugin
- cli
- __tests__
- commands
- model
- orchestrator
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
24 | | - | |
25 | | - | |
26 | | - | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
27 | 29 | | |
28 | 30 | | |
29 | 31 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
90 | | - | |
91 | | - | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
92 | 99 | | |
93 | 100 | | |
94 | 101 | | |
| |||
0 commit comments