xcodebuild-axi 0.1.7 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/CHANGELOG.md +137 -2
  2. package/README.md +77 -2
  3. package/dist/src/action.d.ts +8 -0
  4. package/dist/src/action.js +37 -30
  5. package/dist/src/action.js.map +1 -1
  6. package/dist/src/args.d.ts +11 -0
  7. package/dist/src/args.js +30 -0
  8. package/dist/src/args.js.map +1 -1
  9. package/dist/src/cli.d.ts +8 -0
  10. package/dist/src/cli.js +53 -22
  11. package/dist/src/cli.js.map +1 -1
  12. package/dist/src/commands/analyze.d.ts +2 -0
  13. package/dist/src/commands/analyze.js +3 -1
  14. package/dist/src/commands/analyze.js.map +1 -1
  15. package/dist/src/commands/archive.d.ts +1 -0
  16. package/dist/src/commands/archive.js +7 -3
  17. package/dist/src/commands/archive.js.map +1 -1
  18. package/dist/src/commands/build.d.ts +1 -0
  19. package/dist/src/commands/build.js +2 -2
  20. package/dist/src/commands/build.js.map +1 -1
  21. package/dist/src/commands/clean.d.ts +2 -1
  22. package/dist/src/commands/clean.js +38 -4
  23. package/dist/src/commands/clean.js.map +1 -1
  24. package/dist/src/commands/coverage.d.ts +1 -0
  25. package/dist/src/commands/coverage.js +7 -2
  26. package/dist/src/commands/coverage.js.map +1 -1
  27. package/dist/src/commands/destinations.d.ts +1 -0
  28. package/dist/src/commands/destinations.js +6 -2
  29. package/dist/src/commands/destinations.js.map +1 -1
  30. package/dist/src/commands/find.d.ts +1 -0
  31. package/dist/src/commands/find.js +2 -2
  32. package/dist/src/commands/find.js.map +1 -1
  33. package/dist/src/commands/info.d.ts +1 -0
  34. package/dist/src/commands/info.js +2 -2
  35. package/dist/src/commands/info.js.map +1 -1
  36. package/dist/src/commands/localize.d.ts +1 -0
  37. package/dist/src/commands/localize.js +2 -2
  38. package/dist/src/commands/localize.js.map +1 -1
  39. package/dist/src/commands/migrate.d.ts +1 -0
  40. package/dist/src/commands/migrate.js +2 -2
  41. package/dist/src/commands/migrate.js.map +1 -1
  42. package/dist/src/commands/packages.d.ts +2 -1
  43. package/dist/src/commands/packages.js +24 -8
  44. package/dist/src/commands/packages.js.map +1 -1
  45. package/dist/src/commands/platforms.d.ts +1 -0
  46. package/dist/src/commands/platforms.js +2 -2
  47. package/dist/src/commands/platforms.js.map +1 -1
  48. package/dist/src/commands/result.d.ts +1 -0
  49. package/dist/src/commands/result.js +10 -11
  50. package/dist/src/commands/result.js.map +1 -1
  51. package/dist/src/commands/schemes.d.ts +1 -0
  52. package/dist/src/commands/schemes.js +2 -1
  53. package/dist/src/commands/schemes.js.map +1 -1
  54. package/dist/src/commands/settings.d.ts +7 -1
  55. package/dist/src/commands/settings.js +136 -22
  56. package/dist/src/commands/settings.js.map +1 -1
  57. package/dist/src/commands/setup.d.ts +1 -0
  58. package/dist/src/commands/setup.js +2 -2
  59. package/dist/src/commands/setup.js.map +1 -1
  60. package/dist/src/commands/sim.d.ts +1 -0
  61. package/dist/src/commands/sim.js +2 -2
  62. package/dist/src/commands/sim.js.map +1 -1
  63. package/dist/src/commands/test.d.ts +1 -0
  64. package/dist/src/commands/test.js +11 -15
  65. package/dist/src/commands/test.js.map +1 -1
  66. package/dist/src/commands/testplans.d.ts +1 -0
  67. package/dist/src/commands/testplans.js +2 -1
  68. package/dist/src/commands/testplans.js.map +1 -1
  69. package/dist/src/commands/tests.d.ts +2 -1
  70. package/dist/src/commands/tests.js +21 -9
  71. package/dist/src/commands/tests.js.map +1 -1
  72. package/dist/src/commands/xcframework.d.ts +19 -1
  73. package/dist/src/commands/xcframework.js +116 -27
  74. package/dist/src/commands/xcframework.js.map +1 -1
  75. package/dist/src/errors.js +10 -0
  76. package/dist/src/errors.js.map +1 -1
  77. package/dist/src/report.d.ts +22 -1
  78. package/dist/src/report.js +40 -0
  79. package/dist/src/report.js.map +1 -1
  80. package/dist/src/scheme.d.ts +34 -0
  81. package/dist/src/scheme.js +46 -0
  82. package/dist/src/scheme.js.map +1 -1
  83. package/dist/src/surface.d.ts +134 -1
  84. package/dist/src/surface.js +668 -265
  85. package/dist/src/surface.js.map +1 -1
  86. package/dist/src/xcresult.d.ts +42 -0
  87. package/dist/src/xcresult.js +41 -0
  88. package/dist/src/xcresult.js.map +1 -1
  89. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -4,7 +4,136 @@ Notable changes to `xcodebuild-axi`. Versions follow
4
4
  [semver](https://semver.org/); the format follows
5
5
  [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
 
7
- ## [Unreleased]
7
+ ## [0.1.9] - 2026-09-21
8
+
9
+ ### Added
10
+
11
+ - **Reach is 100%.** Every option xcodebuild accepts on a command is now
12
+ reachable from that command, all 328 pairs, where the last release reached
13
+ 95.7%.
14
+
15
+ - `clean` takes the same subject and scoping flags a build does: `--target`,
16
+ `--all-targets`, `--destination`, `--device`, `--destination-timeout`,
17
+ `--sdk`, `--arch`, `--toolchain`, `--xcconfig`, `--artifacts-dir` and
18
+ `--log-level`, on top of the three it had. A clean is scoped by the same
19
+ things a build is, and a `clean` that cannot say _which_ products to remove
20
+ is a command an agent has to leave for the raw tool.
21
+ - `tests --only` and `--skip` constrain the enumeration itself, so the answer
22
+ is the list `test` would run with the same flags rather than a list this
23
+ tool filtered afterwards. `--filter` still does the latter, and the help now
24
+ says which is which.
25
+ - `packages --resolve --derived-data <path>` puts the resolved checkouts
26
+ where CI can cache them. xcodebuild takes `-derivedDataPath` here only
27
+ alongside a scheme, so one is resolved up front rather than letting the
28
+ refusal reach the caller.
29
+
30
+ - `settings` reaches the rest of what `-showBuildSettings` accepts:
31
+ `--target`, `--all-targets`, `--arch`, `--toolchain`, `--xcconfig`,
32
+ `--derived-data`, `--destination-timeout`, and `--setting KEY=VALUE`.
33
+
34
+ Seven of those were the last reach gaps on a read-only command, and each one
35
+ changes the answer rather than decorating it. `--target` and `--all-targets`
36
+ ask a project that has no scheme for the target; `--setting` and `--xcconfig`
37
+ answer "what would this be if I overrode that", which is the question
38
+ `-showBuildSettings` exists for; `--derived-data` matters because every build
39
+ path hangs off it, so the default answer describes a directory CI does not
40
+ use.
41
+
42
+ - A failing test now reports **where** it failed. The failures table gained
43
+ `file` and `line` columns, in `test` and in `result` alike.
44
+
45
+ A test-results summary carries a name, a target and a message, and no source
46
+ location at all — so until now a failing assertion came back as text an agent
47
+ had to go and search the repository for. The location lives one drill-down
48
+ away, in `xcresulttool get test-results test-details`, which is read once per
49
+ failure actually being printed.
50
+
51
+ These line numbers are one-based, unlike the zero-based ones in a build
52
+ diagnostic's `sourceURL`; both are now documented where the code applies
53
+ them, because an off-by-one here points at the line after the failure.
54
+
55
+ ### Fixed
56
+
57
+ - Reports on a target-mode run said `scheme: all targets`, which names
58
+ something that does not exist. Every command in the build family now reports
59
+ `targets:` when targets were what was asked for, and the run's log and
60
+ `.xcresult` are named `all-targets-…` rather than with a space in the path.
61
+
62
+ - A failure xcodebuild refused outright reported `xcodebuild encountered an
63
+ error (70)` and nothing else. That string is what the result bundle records
64
+ when nothing was built, and the transcript fallback only ran when the bundle
65
+ listed _no_ errors — so a bundle with one useless error row suppressed the
66
+ one explanation available. A bundle carrying only that row is now treated as
67
+ the empty answer it is.
68
+
69
+ - A Swift package asked to build with no destination now says so in its own
70
+ terms. xcodebuild's refusal points at `-showdestinations`, which is not
71
+ something this tool asks anyone to run.
72
+
73
+ - `settings` no longer reports a **refusal** as an answer. xcodebuild rejects
74
+ some combinations — `-derivedDataPath` without a scheme is one — by exiting
75
+ non-zero and printing an empty JSON document, which parsed cleanly and came
76
+ back as every key `unset`. That reads exactly like a correct answer about a
77
+ target that has no such setting. The exit code is now checked and
78
+ xcodebuild's own one-line reason is reported.
79
+
80
+ - A scheme that resolves no targets at all says so, instead of reporting every
81
+ key as `unset`. A Swift package's scheme is the common case: it answers
82
+ `-showBuildSettings` with an empty list and exit 0, so `--key SWIFT_VERSION`
83
+ came back as "not set" for a package where it plainly is.
84
+
85
+ - A rerun hint after `--all-targets` said `--target all targets`, which is not
86
+ a command that runs. The selection now carries its own spelling rather than
87
+ having one guessed from its label.
88
+
89
+ ## [0.1.8] - 2026-09-21
90
+
91
+ ### Added
92
+
93
+ - `xcframework` takes `--archive`, `--debug-symbols` and
94
+ `--allow-internal-distribution`, which is the other half of
95
+ `-create-xcframework`. The workflow it was missing is the usual one: archive
96
+ once per platform, then bundle the slices by name out of those archives.
97
+ Without `--archive` the only way in was a path to a built product, which is
98
+ not what an archive-based build has.
99
+
100
+ `--debug-symbols` matters more than it looks. Every `.xcframework` this tool
101
+ produced until now shipped without dSYMs, so nothing built from one could be
102
+ symbolicated — a crash report from a binary distributed this way was
103
+ addresses and nothing else.
104
+
105
+ - `--headers` and `--debug-symbols` now attach to the `--framework` or
106
+ `--library` they follow, the way xcodebuild reads them positionally. They
107
+ used to be paired by index, so headers given after the second library were
108
+ applied to the first.
109
+
110
+ - Coverage is now measured along four axes instead of one, and `src/surface.ts`
111
+ declares all four. The old number asked "does any command reach this
112
+ option?", answered 100%, and hid every gap that has been found since — so it
113
+ now also asks which commands reach it, what the options _behind_ an option
114
+ are, and how much of the companion tools is wrapped.
115
+
116
+ - **Reach** counts one pair per command an option applies to. An option
117
+ declares the surface it belongs to, and every command in that surface must
118
+ be recorded as reached, declined with a reason, or missing; silence fails
119
+ the test suite. 93.6% of 328 pairs today, with 21 open.
120
+ - **Leaves** counts switches rather than options: the 18 keys of
121
+ `-exportOptionsPlist`, the 8 arguments of `-create-xcframework`, and the
122
+ second forms that `-help` mentions only inside a usage line, all of which
123
+ used to ride free on the one option that names them. 89.4% of 160.
124
+ - **Companion tools** — `xcresulttool`, `xccov`, `simctl` — are classified
125
+ for the first time, separately from xcodebuild's own number. 16.9% of 71.
126
+
127
+ The claims are checked against the commands themselves rather than trusted:
128
+ every command exports its flag list, `COMMAND_FLAGS` collects them, and
129
+ `test/surface.test.ts` fails if the map says `settings --target` while
130
+ `settings` would reject it.
131
+
132
+ - The README's coverage section grew a **Still open** table — every known gap,
133
+ what it costs, and the command it will land on. It is generated, so it
134
+ shrinks as the gaps close rather than going stale.
135
+
136
+ ## [0.1.7] - 2026-09-21
8
137
 
9
138
  ### Fixed
10
139
 
@@ -14,6 +143,8 @@ Notable changes to `xcodebuild-axi`. Versions follow
14
143
  transcript exactly where CI's artifact step does not look. The command that
15
144
  talks to App Store Connect was the worst one to leave behind.
16
145
 
146
+ ## [0.1.6] - 2026-09-21
147
+
17
148
  ### Added
18
149
 
19
150
  - `export --upload` writes `destination: upload` into the generated options
@@ -163,7 +294,11 @@ First release.
163
294
  - 100% of the 117 options `xcodebuild -help` lists are covered, declared in
164
295
  `src/surface.ts` and checked against the installed Xcode in CI.
165
296
 
166
- [unreleased]: https://github.com/alexrrouse/xcodebuild-axi/compare/v0.1.5...HEAD
297
+ [unreleased]: https://github.com/alexrrouse/xcodebuild-axi/compare/v0.1.9...HEAD
298
+ [0.1.9]: https://github.com/alexrrouse/xcodebuild-axi/compare/v0.1.8...v0.1.9
299
+ [0.1.8]: https://github.com/alexrrouse/xcodebuild-axi/compare/v0.1.7...v0.1.8
300
+ [0.1.7]: https://github.com/alexrrouse/xcodebuild-axi/compare/v0.1.6...v0.1.7
301
+ [0.1.6]: https://github.com/alexrrouse/xcodebuild-axi/compare/v0.1.5...v0.1.6
167
302
  [0.1.5]: https://github.com/alexrrouse/xcodebuild-axi/compare/v0.1.4...v0.1.5
168
303
  [0.1.4]: https://github.com/alexrrouse/xcodebuild-axi/compare/v0.1.3...v0.1.4
169
304
  [0.1.3]: https://github.com/alexrrouse/xcodebuild-axi/compare/v0.1.2...v0.1.3
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
  <a href="https://www.npmjs.com/package/xcodebuild-axi"><img alt="npm" src="https://img.shields.io/npm/v/xcodebuild-axi?style=flat-square" /></a>
5
5
  <a href="https://axi.md/"><img alt="AXI" src="https://img.shields.io/badge/AXI-compliant-blue?style=flat-square" /></a>
6
6
  <img alt="Platform" src="https://img.shields.io/badge/platform-macOS-lightgrey?style=flat-square" />
7
- <!-- coverage-badge:start --><img alt="xcodebuild coverage" src="https://img.shields.io/badge/xcodebuild_coverage-100%25-brightgreen?style=flat-square" /><!-- coverage-badge:end -->
7
+ <!-- coverage-badge:start --><img alt="xcodebuild coverage" src="https://img.shields.io/badge/xcodebuild_coverage-91.3%25-brightgreen?style=flat-square" /><!-- coverage-badge:end -->
8
8
  <img alt="License" src="https://img.shields.io/badge/license-MIT-green?style=flat-square" />
9
9
  </p>
10
10
 
@@ -171,7 +171,20 @@ Every command takes `--help`.
171
171
 
172
172
  <!-- coverage:start -->
173
173
 
174
- **Coverage: 100% — every one of the 117 options `xcodebuild -help` lists, and 9 of its 10 build actions.**
174
+ **Coverage: 91.3% of the 161 leaves `xcodebuild` documents** — every option, build action, export options key, `-create-xcframework` argument, and the second forms that only a usage line mentions.
175
+
176
+ A leaf is one switch you could type. Counting options alone says 100% (117/117), which was true and hid every gap below: an option is one thing, and `-exportOptionsPlist` alone opens eighteen more.
177
+
178
+ | Surface | Leaves | Covered |
179
+ | ------------------------------------------------------ | ------- | --------------- |
180
+ | `xcodebuild -help` options | 117 | 117 (100%) |
181
+ | build actions | 10 | 9 (90%) |
182
+ | second forms (`-version <infoitem>`, `-license check`) | 8 | 7 (87.5%) |
183
+ | `-exportOptionsPlist` keys | 18 | 6 (33.3%) |
184
+ | `-create-xcframework` options | 8 | 8 (100%) |
185
+ | **total** | **161** | **147 (91.3%)** |
186
+
187
+ **Reach: 100%** of the 328 command-and-option pairs. The same options, counted once per command xcodebuild accepts them on — because `-target` exposed on `build` and missing from `settings` is not covered for anyone asking `settings`. 0 pairs are open.
175
188
 
176
189
  108 options map to an `xcodebuild-axi` flag. The other 9 are reachable without one:
177
190
 
@@ -189,6 +202,68 @@ Every command takes `--help`.
189
202
 
190
203
  The one action left out is `installsrc` — it copies sources into `SRCROOT` as root, which is a packaging step rather than anything an agent loop needs.
191
204
 
205
+ ### Companion tools
206
+
207
+ `xcresulttool`, `xccov` and `simctl` are not xcodebuild, so they are not in the number above — but this tool wraps all three, and an agent that has to shell out to one directly has dropped back down. **18.3% of 71 leaves**, counted the same way:
208
+
209
+ | Tool | Leaves | Covered |
210
+ | -------------- | ------ | --------- |
211
+ | `xcresulttool` | 21 | 4 (19%) |
212
+ | `xccov` | 9 | 4 (44.4%) |
213
+ | `simctl` | 41 | 5 (12.2%) |
214
+
215
+ ### Still open
216
+
217
+ 45 leaves are known gaps rather than decisions — each one a reason someone would still reach for the raw tool:
218
+
219
+ | Leaf | Unreachable from | What that costs |
220
+ | ----------------------------------------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------- |
221
+ | `-version -sdk <name> <infoitem>` | `info` | `info --sdks` lists canonical names; an SDK's Path or ProductBuildVersion cannot be asked for |
222
+ | `<buildsetting>=<value>` | `build` | an override can be resolved but not built with, so `--setting` answers a question it cannot then act on |
223
+ | `provisioningProfiles` (export options) | `export` | manual signing can be asked for but not completed — the profile per executable has no flag |
224
+ | `signingCertificate` (export options) | `export` | manual signing cannot name the certificate to sign with |
225
+ | `installerSigningCertificate` (export options) | `export` | a macOS installer package cannot name its signing certificate |
226
+ | `thinning` (export options) | `export` | non-App Store exports cannot be thinned for a device variant |
227
+ | `stripSwiftSymbols` (export options) | `export` | Swift symbols are always stripped, with no way to keep them |
228
+ | `testFlightInternalTestingOnly` (export options) | `export` | a build cannot be marked internal-only, which is what a PR build wants |
229
+ | `distributionBundleIdentifier` (export options) | `export` | an archive with several apps cannot pick which one to export |
230
+ | `generateAppStoreInformation` (export options) | `export` | App Store information cannot be generated for an upload |
231
+ | `iCloudContainerEnvironment` (export options) | `export` | a CloudKit app cannot choose the Development or Production container |
232
+ | `manifest` (export options) | `export` | an over-the-web distribution manifest cannot be written |
233
+ | `embedOnDemandResourcesAssetPacksInBundle` (export options) | `export` | on-demand resource asset packs cannot be embedded for testing |
234
+ | `onDemandResourcesAssetPacksBaseURL` (export options) | `export` | on-demand resource asset packs cannot be pointed at a host |
235
+ | `xcresulttool get test-results tests` | `result` | the full test tree of a finished run cannot be listed |
236
+ | `xcresulttool get test-results activities` | `result` | the step-by-step activity trail of a failing test cannot be read |
237
+ | `xcresulttool get test-results insights` | `result` | Xcode's own diagnosis of a run is left on the floor |
238
+ | `xcresulttool get test-results metrics` | `result` | `test --perf-diagnostics` collects performance metrics nothing can read back |
239
+ | `xcresulttool get log` | `result` | the build log inside the bundle is reachable only as the raw transcript file |
240
+ | `xcresulttool get content-availability` | `result` | whether a bundle even has coverage or test results is found out by failing to read it |
241
+ | `xcresulttool export diagnostics` | `result` | `test --diagnostics` collects a diagnostics report that cannot be extracted |
242
+ | `xcresulttool export attachments` | `result` | UI test screenshots and attachments cannot be got out of the bundle |
243
+ | `xcresulttool export metrics` | `result` | performance measurements cannot be exported as CSV |
244
+ | `xcresulttool export evaluations` | `result` | evaluation attachments cannot be exported |
245
+ | `xcresulttool compare` | `result` | two runs cannot be diffed, which is the question CI asks most |
246
+ | `xcresulttool merge` | `result` | the bundles of a sharded test run cannot be combined |
247
+ | `xcresulttool metadata` | `result` | a bundle's own metadata cannot be read |
248
+ | `xccov view --report --functions-for-file` | `coverage` | coverage stops at the file, so the uncovered function has no name |
249
+ | `xccov view --archive` | `coverage` | a standalone .xccovarchive cannot be read, only a result bundle |
250
+ | `xccov view --file` | `coverage` | the per-line coverage of one file cannot be printed |
251
+ | `xccov diff` | `coverage` | 'did coverage drop' cannot be answered from two bundles this tool wrote |
252
+ | `xccov merge` | `coverage` | the coverage of a sharded run cannot be combined |
253
+ | `simctl install` | `sim` | a built .app cannot be put on the simulator it was built for |
254
+ | `simctl launch` | `sim` | the app a build just produced cannot be run |
255
+ | `simctl terminate` | `?` | a running app cannot be stopped |
256
+ | `simctl uninstall` | `?` | an installed app cannot be removed |
257
+ | `simctl listapps` | `sim` | what is installed on a simulator cannot be listed |
258
+ | `simctl create` | `?` | a missing device cannot be created |
259
+ | `simctl delete` | `sim` | stale devices cannot be reclaimed, and they cost gigabytes |
260
+ | `simctl io` | `sim` | a screenshot of a failing UI cannot be taken |
261
+ | `simctl openurl` | `sim` | a deep link cannot be opened, which is how deep links are tested |
262
+ | `simctl privacy` | `sim` | a permission prompt cannot be granted ahead of a UI test |
263
+ | `simctl push` | `sim` | a push notification cannot be simulated |
264
+ | `simctl status_bar` | `sim` | the status bar cannot be pinned, which screenshot tests need |
265
+ | `simctl ui` | `sim` | dark mode and content size cannot be set for a test run |
266
+
192
267
  The denominator is read from `xcodebuild -help` rather than hand-maintained, and this table is written against **Xcode 27.0** — the option list moves between releases. `npm run coverage:check` fails on that Xcode if an option here is unclassified or has been dropped, and reports the difference without failing on any other.
193
268
 
194
269
  <!-- coverage:end -->
@@ -1,4 +1,5 @@
1
1
  import { type ProjectContext } from "./context.js";
2
+ import { type Subject } from "./scheme.js";
2
3
  import { type BuildRun } from "./xcodebuild.js";
3
4
  /**
4
5
  * The machinery shared by every command that runs an xcodebuild *action* —
@@ -22,6 +23,8 @@ export interface BuildContext {
22
23
  project: ProjectContext;
23
24
  /** The scheme, or a description of the targets when in target mode. */
24
25
  scheme: string;
26
+ /** What was selected, and how to name, spell and file it. */
27
+ subject: Subject;
25
28
  /** Human-readable destination, or undefined when the command skipped one. */
26
29
  destination: string | undefined;
27
30
  /** Everything before the action word. */
@@ -46,6 +49,11 @@ export declare function resolveBuildContext(options: ResolveBuildContextOptions)
46
49
  * handed from wherever the process happens to be.
47
50
  */
48
51
  export declare function artifactsDirFrom(args: string[]): string | undefined;
52
+ /**
53
+ * `scheme: all targets` is a lie, and the reader's only clue about which
54
+ * question was answered. Every report that names the subject goes through here.
55
+ */
56
+ export declare function subjectField(context: BuildContext): Record<string, string>;
49
57
  /** A filesystem stem that distinguishes runs of different commands and devices. */
50
58
  export declare function runLabel(context: BuildContext, command: string): string;
51
59
  export interface RunActionOptions {
@@ -2,7 +2,7 @@ import { existsSync, mkdirSync, writeFileSync } from "node:fs";
2
2
  import { dirname, resolve } from "node:path";
3
3
  import { AxiError, mapXcodebuildError } from "./errors.js";
4
4
  import { requireProject } from "./context.js";
5
- import { requireScheme } from "./scheme.js";
5
+ import { resolveSubject } from "./scheme.js";
6
6
  import { destinationSlug, resolveDestination } from "./destination.js";
7
7
  import { runBuild } from "./xcodebuild.js";
8
8
  import { readBuildResults, toDiagnostics } from "./xcresult.js";
@@ -172,24 +172,15 @@ const SANITIZER_FLAGS = {
172
172
  export async function resolveBuildContext(options) {
173
173
  const { args, command } = options;
174
174
  const project = requireProject();
175
- const targets = getListFlag(args, "--target");
176
- const allTargets = hasFlag(args, "--all-targets");
177
- const targetMode = targets.length > 0 || allTargets;
178
- if (targetMode && project.kind === "workspace") {
179
- // xcodebuild's own refusal here is "-target is not supported with
180
- // -workspace", issued only after it has resolved the package graph.
181
- throw new AxiError("--target and --all-targets work against a project, not a workspace", "VALIDATION_ERROR", [
182
- "Pass `--scheme <name>` instead, or cd to the directory holding the .xcodeproj",
183
- ]);
184
- }
185
- if (targetMode && getFlag(args, "--scheme") !== undefined) {
186
- throw new AxiError("--scheme and --target select different things to build, so only one can be used", "VALIDATION_ERROR", ["Drop one — a scheme already names the targets it builds"]);
187
- }
188
- const scheme = targetMode
189
- ? allTargets
190
- ? "all targets"
191
- : targets.join(",")
192
- : await requireScheme(project, getFlag(args, "--scheme"), command);
175
+ const subject = await resolveSubject(project, {
176
+ ...(getFlag(args, "--scheme") !== undefined
177
+ ? { scheme: getFlag(args, "--scheme") }
178
+ : {}),
179
+ targets: getListFlag(args, "--target"),
180
+ allTargets: hasFlag(args, "--all-targets"),
181
+ }, command);
182
+ const scheme = subject.label;
183
+ const targetMode = subject.targetMode;
193
184
  const rawDestination = getFlag(args, "--destination");
194
185
  const device = getFlag(args, "--device");
195
186
  const needsDestination = options.needsDestination !== false;
@@ -227,11 +218,7 @@ export async function resolveBuildContext(options) {
227
218
  const destinationTimeout = getIntFlag(args, "--destination-timeout");
228
219
  const xcodebuildArgs = [
229
220
  ...project.flags,
230
- ...(targetMode
231
- ? allTargets
232
- ? ["-alltargets"]
233
- : targets.flatMap((target) => ["-target", target])
234
- : ["-scheme", scheme]),
221
+ ...subject.flags,
235
222
  ...(destination ? ["-destination", destination.specifier] : []),
236
223
  ...(destinationTimeout !== undefined
237
224
  ? ["-destination-timeout", String(destinationTimeout)]
@@ -269,6 +256,7 @@ export async function resolveBuildContext(options) {
269
256
  return {
270
257
  project,
271
258
  scheme,
259
+ subject,
272
260
  destination: destination?.described,
273
261
  xcodebuildArgs,
274
262
  maxErrors: getIntFlag(args, "--max-errors") ?? 20,
@@ -287,12 +275,21 @@ export function artifactsDirFrom(args) {
287
275
  const dir = getFlag(args, "--artifacts-dir");
288
276
  return dir === undefined ? undefined : resolve(dir);
289
277
  }
278
+ /**
279
+ * `scheme: all targets` is a lie, and the reader's only clue about which
280
+ * question was answered. Every report that names the subject goes through here.
281
+ */
282
+ export function subjectField(context) {
283
+ return context.subject.targetMode
284
+ ? { targets: context.scheme }
285
+ : { scheme: context.scheme };
286
+ }
290
287
  /** A filesystem stem that distinguishes runs of different commands and devices. */
291
288
  export function runLabel(context, command) {
292
289
  const device = context.destination
293
290
  ? `-${destinationSlug(context.destination)}`
294
291
  : "";
295
- return `${context.scheme}${device}-${command}`;
292
+ return `${context.subject.slug}${device}-${command}`;
296
293
  }
297
294
  export function runAction(options) {
298
295
  return runBuild({
@@ -308,6 +305,15 @@ export function runAction(options) {
308
305
  : {}),
309
306
  });
310
307
  }
308
+ /**
309
+ * "xcodebuild encountered an error (70)" is what a bundle records when
310
+ * xcodebuild refused before doing anything. It is an error row rather than an
311
+ * empty list, so a guard that only looks for emptiness prints the exit code as
312
+ * though it were the diagnosis and never reads the transcript that has one.
313
+ */
314
+ function isGenericFailure(diagnostic) {
315
+ return /^xcodebuild encountered an error \(\d+\)$/.test(diagnostic.message.trim());
316
+ }
311
317
  /**
312
318
  * The shared report for any action that compiles something.
313
319
  *
@@ -324,10 +330,11 @@ export async function reportAction(options) {
324
330
  ...(options.analyzer ? [] : (results?.analyzerWarnings ?? [])),
325
331
  ]);
326
332
  const succeeded = run.exitCode === 0;
327
- // A bundle that records no error for a nonzero exit means xcodebuild died
328
- // before it built anything — a bad scheme, an unmatched destination, a
333
+ // A bundle that records no *usable* error for a nonzero exit means xcodebuild
334
+ // died before it built anything — a bad scheme, an unmatched destination, a
329
335
  // missing signing team. The transcript is the only witness.
330
- if (!succeeded && errors.length === 0) {
336
+ const unexplained = errors.length === 0 || errors.every(isGenericFailure);
337
+ if (!succeeded && unexplained) {
331
338
  const mapped = mapXcodebuildError(run.tail);
332
339
  if (mapped) {
333
340
  throw new AxiError(mapped.message, mapped.code, [
@@ -339,7 +346,7 @@ export async function reportAction(options) {
339
346
  const blocks = [
340
347
  renderFields({
341
348
  [options.key]: succeeded ? options.ok : "failed",
342
- scheme: context.scheme,
349
+ ...subjectField(context),
343
350
  ...(context.destination ? { destination: context.destination } : {}),
344
351
  duration: duration(run.seconds),
345
352
  ...(options.extra ?? {}),
@@ -362,7 +369,7 @@ export async function reportAction(options) {
362
369
  else if (succeeded && !options.analyzer) {
363
370
  blocks.push(renderFields({ warnings: 0 }));
364
371
  }
365
- if (!succeeded && errors.length === 0) {
372
+ if (!succeeded && unexplained) {
366
373
  const tail = transcriptTail(run.tail);
367
374
  if (tail)
368
375
  blocks.push(tail);
@@ -1 +1 @@
1
- {"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/action.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action.js","sourceRoot":"","sources":["../../src/action.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,17 @@ export declare function getFlag(args: string[], name: string): string | undefine
10
10
  export declare function hasFlag(args: string[], name: string): boolean;
11
11
  /** Read a `--flag a,b,c` list, also accepting the flag repeated. */
12
12
  export declare function getListFlag(args: string[], name: string): string[];
13
+ /**
14
+ * Every occurrence of the named flags, in the order they were written.
15
+ *
16
+ * Order is meaning for a few xcodebuild options: `-headers` belongs to the
17
+ * `-library` before it and `-debug-symbols` to the slice before that, so a
18
+ * command that regrouped them by flag would pair the wrong ones together.
19
+ */
20
+ export declare function orderedFlags(args: string[], names: readonly string[]): Array<{
21
+ flag: string;
22
+ value: string;
23
+ }>;
13
24
  /** Read an integer flag, rejecting values that are not numbers. */
14
25
  export declare function getIntFlag(args: string[], name: string): number | undefined;
15
26
  /** Positional arguments — everything that is not a flag or a flag's value. */
package/dist/src/args.js CHANGED
@@ -43,6 +43,36 @@ export function getListFlag(args, name) {
43
43
  }
44
44
  return out.flatMap((v) => v.split(",")).filter((v) => v.length > 0);
45
45
  }
46
+ /**
47
+ * Every occurrence of the named flags, in the order they were written.
48
+ *
49
+ * Order is meaning for a few xcodebuild options: `-headers` belongs to the
50
+ * `-library` before it and `-debug-symbols` to the slice before that, so a
51
+ * command that regrouped them by flag would pair the wrong ones together.
52
+ */
53
+ export function orderedFlags(args, names) {
54
+ const out = [];
55
+ for (let i = 0; i < args.length; i++) {
56
+ const arg = args[i];
57
+ if (arg === undefined)
58
+ continue;
59
+ if (arg === "--")
60
+ break;
61
+ const equals = arg.indexOf("=");
62
+ const bare = equals < 0 ? arg : arg.slice(0, equals);
63
+ if (!names.includes(bare))
64
+ continue;
65
+ if (equals >= 0) {
66
+ out.push({ flag: bare, value: arg.slice(equals + 1) });
67
+ continue;
68
+ }
69
+ const value = args[i + 1];
70
+ if (value !== undefined)
71
+ out.push({ flag: bare, value });
72
+ i++;
73
+ }
74
+ return out;
75
+ }
46
76
  /** Read an integer flag, rejecting values that are not numbers. */
47
77
  export function getIntFlag(args, name) {
48
78
  const raw = getFlag(args, name);
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../src/args.ts"],"names":[],"mappings":"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"}
package/dist/src/cli.d.ts CHANGED
@@ -1,6 +1,14 @@
1
1
  export declare const DESCRIPTION = "Agent-ergonomic wrapper around xcodebuild. Prefer it over raw `xcodebuild` for any build / test / inspect of an Xcode project.";
2
2
  export declare const TOP_HELP = "usage: xcodebuild-axi [command] [flags]\ncommands[23]:\n (none)=dashboard\n build, test, tests, clean, analyze, archive, export\n schemes, destinations, testplans, settings, packages, info\n result, coverage, sim, platforms, setup\n localize, xcframework, find, migrate\nflags[2]:\n --help, -v/-V/--version\nenv[2]:\n XCODEBUILD_BIN override the wrapped xcodebuild binary\n DEVELOPER_DIR select an Xcode, as xcodebuild itself reads it\nexit:\n 0 success, 1 the build or tests failed, 2 usage error\nexamples:\n xcodebuild-axi\n xcodebuild-axi build --scheme MyApp\n xcodebuild-axi test --scheme MyApp --device \"iPhone 17 Pro\" --coverage\n xcodebuild-axi settings --key PRODUCT_BUNDLE_IDENTIFIER\n xcodebuild-axi setup hooks\n";
3
3
  export declare const COMMAND_HELP: Record<string, string>;
4
+ /**
5
+ * Every command's accepted flag set, keyed by command name.
6
+ *
7
+ * `src/surface.ts` declares which commands *should* reach a given xcodebuild
8
+ * option; this is the ground truth it is checked against, so a `via` that
9
+ * names a flag the command would reject fails the build rather than the user.
10
+ */
11
+ export declare const COMMAND_FLAGS: Record<string, readonly string[]>;
4
12
  type CliStdout = {
5
13
  write: (chunk: string) => unknown;
6
14
  };