xcodebuild-axi 0.1.9 → 0.1.11
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.
- package/CHANGELOG.md +152 -1
- package/README.md +25 -57
- package/dist/src/archive.d.ts +35 -6
- package/dist/src/archive.js +63 -21
- package/dist/src/archive.js.map +1 -1
- package/dist/src/commands/coverage.d.ts +13 -2
- package/dist/src/commands/coverage.js +314 -7
- package/dist/src/commands/coverage.js.map +1 -1
- package/dist/src/commands/export.d.ts +4 -4
- package/dist/src/commands/export.js +194 -11
- package/dist/src/commands/export.js.map +1 -1
- package/dist/src/commands/info.d.ts +2 -2
- package/dist/src/commands/info.js +56 -3
- package/dist/src/commands/info.js.map +1 -1
- package/dist/src/commands/result.d.ts +23 -3
- package/dist/src/commands/result.js +654 -7
- package/dist/src/commands/result.js.map +1 -1
- package/dist/src/surface.d.ts +7 -1
- package/dist/src/surface.js +41 -164
- package/dist/src/surface.js.map +1 -1
- package/dist/src/toon.d.ts +2 -0
- package/dist/src/toon.js +15 -0
- package/dist/src/toon.js.map +1 -1
- package/dist/src/xccov.d.ts +94 -0
- package/dist/src/xccov.js +178 -2
- package/dist/src/xccov.js.map +1 -1
- package/dist/src/xcodebuild.d.ts +18 -0
- package/dist/src/xcodebuild.js +38 -1
- package/dist/src/xcodebuild.js.map +1 -1
- package/dist/src/xcresult.d.ts +216 -0
- package/dist/src/xcresult.js +188 -4
- package/dist/src/xcresult.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,17 +2,46 @@ import { existsSync, mkdtempSync, readdirSync, readFileSync, writeFileSync, } fr
|
|
|
2
2
|
import { tmpdir } from "node:os";
|
|
3
3
|
import { join, resolve } from "node:path";
|
|
4
4
|
import { AxiError, mapXcodebuildError } from "../errors.js";
|
|
5
|
-
import { EXPORT_METHODS, exportOptionsPlist, readArchiveInfo, } from "../archive.js";
|
|
5
|
+
import { EXPORT_METHODS, EXPORT_METHOD_ALIASES, exportOptionsPlist, readArchiveInfo, } from "../archive.js";
|
|
6
6
|
import { authArgs, AUTH_FLAGS, AUTH_FLAG_HELP, AUTH_VALUE_FLAGS, } from "../auth.js";
|
|
7
7
|
import { artifactsDirFrom } from "../action.js";
|
|
8
8
|
import { requireProject } from "../context.js";
|
|
9
9
|
import { artifactDir, runBuild } from "../xcodebuild.js";
|
|
10
10
|
import { transcriptTail } from "../report.js";
|
|
11
11
|
import { duration, renderFields, renderHelp, renderOutput, tildePath, } from "../toon.js";
|
|
12
|
-
import { getFlag, hasFlag, positionals, rejectUnknownFlags } from "../args.js";
|
|
12
|
+
import { getFlag, getListFlag, hasFlag, positionals, rejectUnknownFlags, } from "../args.js";
|
|
13
|
+
/**
|
|
14
|
+
* The flags that exist only to fill in a key of the generated options plist.
|
|
15
|
+
* Named as a group because `--options` supplies the whole plist itself, and
|
|
16
|
+
* silently ignoring these alongside it is how a release ships unsigned.
|
|
17
|
+
*/
|
|
18
|
+
const PLIST_FLAGS = [
|
|
19
|
+
"--profile",
|
|
20
|
+
"--certificate",
|
|
21
|
+
"--installer-certificate",
|
|
22
|
+
"--distribution-bundle-id",
|
|
23
|
+
"--keep-swift-symbols",
|
|
24
|
+
"--internal-only",
|
|
25
|
+
"--app-store-info",
|
|
26
|
+
"--icloud-env",
|
|
27
|
+
"--thinning",
|
|
28
|
+
"--manifest",
|
|
29
|
+
"--odr-base-url",
|
|
30
|
+
"--no-embed-odr",
|
|
31
|
+
];
|
|
32
|
+
const PLIST_VALUE_FLAGS = [
|
|
33
|
+
"--profile",
|
|
34
|
+
"--certificate",
|
|
35
|
+
"--installer-certificate",
|
|
36
|
+
"--distribution-bundle-id",
|
|
37
|
+
"--icloud-env",
|
|
38
|
+
"--thinning",
|
|
39
|
+
"--manifest",
|
|
40
|
+
"--odr-base-url",
|
|
41
|
+
];
|
|
13
42
|
export const EXPORT_HELP = `usage: xcodebuild-axi export <path.xcarchive> [flags]
|
|
14
43
|
Exports a built archive into a distributable product.
|
|
15
|
-
flags[
|
|
44
|
+
flags[27]:
|
|
16
45
|
--method <name> ${EXPORT_METHODS.join(", ")}
|
|
17
46
|
--team <id> Developer team ID to sign with
|
|
18
47
|
--options <path> a hand-written export options plist, instead of --method
|
|
@@ -24,14 +53,35 @@ flags[15]:
|
|
|
24
53
|
--notarized export an archive Apple has already notarized
|
|
25
54
|
--allow-provisioning let xcodebuild fetch profiles from the developer portal
|
|
26
55
|
--signing-style <name> manual or automatic
|
|
56
|
+
--profile <id>=<name> provisioning profile per bundle id; repeatable (implies manual signing)
|
|
57
|
+
--certificate <name> signing certificate name or SHA-1 (implies manual signing)
|
|
58
|
+
--installer-certificate <name> installer certificate for a macOS package
|
|
59
|
+
--distribution-bundle-id <id> which app to export, when the archive holds several
|
|
60
|
+
--keep-swift-symbols do not strip Swift symbols from the export
|
|
61
|
+
--internal-only mark a TestFlight build as internal testing only
|
|
62
|
+
--app-store-info generate App Store information alongside the upload
|
|
63
|
+
--icloud-env <name> Development or Production CloudKit containers
|
|
64
|
+
--thinning <variant> none, thin-for-all-variants, or a device model id
|
|
65
|
+
--manifest <key>=<url> appURL, displayImageURL, fullSizeImageURL; repeatable
|
|
66
|
+
--odr-base-url <url> host the on-demand resource asset packs are served from
|
|
67
|
+
--no-embed-odr do not embed on-demand resource asset packs in the bundle
|
|
27
68
|
${AUTH_FLAG_HELP}
|
|
28
69
|
note:
|
|
29
70
|
--method writes the export options plist for you, which is otherwise an XML
|
|
30
|
-
file you have to author by hand. Pass --options to supply your own instead
|
|
71
|
+
file you have to author by hand. Pass --options to supply your own instead --
|
|
72
|
+
the flags that shape the plist are refused alongside it, rather than being
|
|
73
|
+
silently dropped.
|
|
31
74
|
--upload is the difference between an .ipa on disk and a build in App Store
|
|
32
75
|
Connect; with it there are no products to list, which is success, not an
|
|
33
76
|
empty export. --no-manage-version matters whenever the build number is set
|
|
34
77
|
at archive time, because Xcode otherwise picks its own at upload.
|
|
78
|
+
--profile and --certificate are manual signing, so they set --signing-style
|
|
79
|
+
manual when it was not asked for -- naming a profile and then letting Xcode
|
|
80
|
+
pick one is not a thing anyone means.
|
|
81
|
+
--manifest needs all three of appURL, displayImageURL and fullSizeImageURL;
|
|
82
|
+
a partial manifest exports without error and cannot be installed.
|
|
83
|
+
The Xcode 26 method names -- app-store, ad-hoc, development -- still work and
|
|
84
|
+
are reported as the current name they mean.
|
|
35
85
|
examples:
|
|
36
86
|
xcodebuild-axi export build/MyApp.xcarchive --method release-testing
|
|
37
87
|
xcodebuild-axi export build/MyApp.xcarchive --method app-store-connect --team ABCDE12345
|
|
@@ -50,6 +100,7 @@ export const EXPORT_FLAGS = [
|
|
|
50
100
|
"--notarized",
|
|
51
101
|
"--allow-provisioning",
|
|
52
102
|
"--signing-style",
|
|
103
|
+
...PLIST_FLAGS,
|
|
53
104
|
...AUTH_FLAGS,
|
|
54
105
|
];
|
|
55
106
|
export const EXPORT_VALUE_FLAGS = [
|
|
@@ -59,6 +110,7 @@ export const EXPORT_VALUE_FLAGS = [
|
|
|
59
110
|
"--output",
|
|
60
111
|
"--artifacts-dir",
|
|
61
112
|
"--signing-style",
|
|
113
|
+
...PLIST_VALUE_FLAGS,
|
|
62
114
|
...AUTH_VALUE_FLAGS,
|
|
63
115
|
];
|
|
64
116
|
export async function exportCommand(args) {
|
|
@@ -77,7 +129,10 @@ export async function exportCommand(args) {
|
|
|
77
129
|
]);
|
|
78
130
|
}
|
|
79
131
|
const notarized = hasFlag(args, "--notarized");
|
|
80
|
-
const
|
|
132
|
+
const requested = getFlag(args, "--method");
|
|
133
|
+
const method = requested === undefined
|
|
134
|
+
? undefined
|
|
135
|
+
: (EXPORT_METHOD_ALIASES[requested] ?? requested);
|
|
81
136
|
const optionsPath = getFlag(args, "--options");
|
|
82
137
|
if (!notarized && method === undefined && optionsPath === undefined) {
|
|
83
138
|
throw new AxiError("export needs --method or --options", "VALIDATION_ERROR", [
|
|
@@ -90,11 +145,21 @@ export async function exportCommand(args) {
|
|
|
90
145
|
throw new AxiError(`Unknown export method '${method}'`, "VALIDATION_ERROR", [`valid methods: ${EXPORT_METHODS.join(", ")}`]);
|
|
91
146
|
}
|
|
92
147
|
const uploading = hasFlag(args, "--upload");
|
|
93
|
-
if (
|
|
94
|
-
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
|
|
148
|
+
if (optionsPath !== undefined) {
|
|
149
|
+
const ignored = [
|
|
150
|
+
"--upload",
|
|
151
|
+
"--no-manage-version",
|
|
152
|
+
"--no-upload-symbols",
|
|
153
|
+
"--team",
|
|
154
|
+
"--signing-style",
|
|
155
|
+
...PLIST_FLAGS,
|
|
156
|
+
].filter((flag) => args.includes(flag));
|
|
157
|
+
if (ignored.length > 0) {
|
|
158
|
+
throw new AxiError(`${ignored.join(", ")} ${ignored.length === 1 ? "has" : "have"} nothing to write to when --options supplies the plist`, "VALIDATION_ERROR", [
|
|
159
|
+
"put the key in your own plist, or drop --options and let --method write one",
|
|
160
|
+
"a flag that shapes the plist is refused here rather than silently dropped",
|
|
161
|
+
]);
|
|
162
|
+
}
|
|
98
163
|
}
|
|
99
164
|
const project = requireProject();
|
|
100
165
|
const artifactsDir = artifactsDirFrom(args);
|
|
@@ -177,18 +242,136 @@ export async function exportCommand(args) {
|
|
|
177
242
|
}
|
|
178
243
|
export function generatedPlistOptions(args, method) {
|
|
179
244
|
const team = getFlag(args, "--team");
|
|
180
|
-
const
|
|
245
|
+
const certificate = getFlag(args, "--certificate");
|
|
246
|
+
const profiles = keyValues(args, "--profile", "<bundle-id>=<profile>");
|
|
247
|
+
const manifest = manifestOf(args);
|
|
248
|
+
const installerCertificate = getFlag(args, "--installer-certificate");
|
|
249
|
+
const distributionBundleId = getFlag(args, "--distribution-bundle-id");
|
|
250
|
+
const icloud = icloudEnvironment(args);
|
|
251
|
+
const thinning = thinningOf(args);
|
|
252
|
+
const odrBaseURL = getFlag(args, "--odr-base-url");
|
|
253
|
+
// Naming a profile or a certificate *is* manual signing; letting Xcode pick
|
|
254
|
+
// one anyway is not a thing anyone means by it, and the export that results
|
|
255
|
+
// is signed with something other than what was asked for.
|
|
256
|
+
const signingStyle = getFlag(args, "--signing-style") ??
|
|
257
|
+
(certificate !== undefined || Object.keys(profiles).length > 0
|
|
258
|
+
? "manual"
|
|
259
|
+
: undefined);
|
|
181
260
|
return {
|
|
182
261
|
method,
|
|
183
262
|
...(hasFlag(args, "--upload") ? { destination: "upload" } : {}),
|
|
184
263
|
...(team !== undefined ? { teamID: team } : {}),
|
|
185
264
|
...(signingStyle !== undefined ? { signingStyle } : {}),
|
|
265
|
+
...(certificate !== undefined ? { signingCertificate: certificate } : {}),
|
|
266
|
+
...(installerCertificate !== undefined
|
|
267
|
+
? { installerSigningCertificate: installerCertificate }
|
|
268
|
+
: {}),
|
|
269
|
+
...(Object.keys(profiles).length > 0
|
|
270
|
+
? { provisioningProfiles: profiles }
|
|
271
|
+
: {}),
|
|
272
|
+
...(distributionBundleId !== undefined
|
|
273
|
+
? { distributionBundleIdentifier: distributionBundleId }
|
|
274
|
+
: {}),
|
|
186
275
|
...(hasFlag(args, "--no-upload-symbols") ? { uploadSymbols: false } : {}),
|
|
276
|
+
...(hasFlag(args, "--keep-swift-symbols")
|
|
277
|
+
? { stripSwiftSymbols: false }
|
|
278
|
+
: {}),
|
|
187
279
|
...(hasFlag(args, "--no-manage-version")
|
|
188
280
|
? { manageAppVersionAndBuildNumber: false }
|
|
189
281
|
: {}),
|
|
282
|
+
...(hasFlag(args, "--internal-only")
|
|
283
|
+
? { testFlightInternalTestingOnly: true }
|
|
284
|
+
: {}),
|
|
285
|
+
...(hasFlag(args, "--app-store-info")
|
|
286
|
+
? { generateAppStoreInformation: true }
|
|
287
|
+
: {}),
|
|
288
|
+
...(icloud !== undefined ? { iCloudContainerEnvironment: icloud } : {}),
|
|
289
|
+
...(thinning !== undefined ? { thinning } : {}),
|
|
290
|
+
...(manifest !== undefined ? { manifest } : {}),
|
|
291
|
+
...(hasFlag(args, "--no-embed-odr")
|
|
292
|
+
? { embedOnDemandResourcesAssetPacksInBundle: false }
|
|
293
|
+
: {}),
|
|
294
|
+
...(odrBaseURL !== undefined
|
|
295
|
+
? { onDemandResourcesAssetPacksBaseURL: odrBaseURL }
|
|
296
|
+
: {}),
|
|
190
297
|
};
|
|
191
298
|
}
|
|
299
|
+
/** `--flag KEY=VALUE`, repeatable, into the dict the plist wants. */
|
|
300
|
+
function keyValues(args, flag, shape) {
|
|
301
|
+
const out = {};
|
|
302
|
+
for (const entry of getListFlag(args, flag)) {
|
|
303
|
+
const split = entry.indexOf("=");
|
|
304
|
+
if (split <= 0) {
|
|
305
|
+
throw new AxiError(`${flag} expects ${shape}, got '${entry}'`, "VALIDATION_ERROR", [`xcodebuild-axi export <path.xcarchive> ${flag} ${shape}`]);
|
|
306
|
+
}
|
|
307
|
+
out[entry.slice(0, split)] = entry.slice(split + 1);
|
|
308
|
+
}
|
|
309
|
+
return out;
|
|
310
|
+
}
|
|
311
|
+
/** The three URLs an over-the-web install needs, and Xcode's optional fourth. */
|
|
312
|
+
const MANIFEST_KEYS = [
|
|
313
|
+
"appURL",
|
|
314
|
+
"displayImageURL",
|
|
315
|
+
"fullSizeImageURL",
|
|
316
|
+
"assetPackManifestURL",
|
|
317
|
+
];
|
|
318
|
+
/**
|
|
319
|
+
* A manifest missing one of its three required URLs exports without an error
|
|
320
|
+
* and produces a link that cannot install, which is the worst shape a failure
|
|
321
|
+
* can take: it fails on someone's device, later, silently.
|
|
322
|
+
*/
|
|
323
|
+
function manifestOf(args) {
|
|
324
|
+
const manifest = keyValues(args, "--manifest", "<key>=<url>");
|
|
325
|
+
if (Object.keys(manifest).length === 0)
|
|
326
|
+
return undefined;
|
|
327
|
+
const unknown = Object.keys(manifest).filter((key) => !MANIFEST_KEYS.includes(key));
|
|
328
|
+
if (unknown.length > 0) {
|
|
329
|
+
throw new AxiError(`Unknown manifest key '${unknown[0]}'`, "VALIDATION_ERROR", [`valid keys: ${MANIFEST_KEYS.join(", ")}`]);
|
|
330
|
+
}
|
|
331
|
+
if (getFlag(args, "--odr-base-url") !== undefined &&
|
|
332
|
+
!("assetPackManifestURL" in manifest)) {
|
|
333
|
+
throw new AxiError("--manifest needs assetPackManifestURL when asset packs are hosted", "VALIDATION_ERROR", [
|
|
334
|
+
"xcodebuild requires that sub-key alongside --odr-base-url",
|
|
335
|
+
"--manifest assetPackManifestURL=https://example.com/AssetPackManifest.plist",
|
|
336
|
+
]);
|
|
337
|
+
}
|
|
338
|
+
const missing = MANIFEST_KEYS.slice(0, 3).filter((key) => !(key in manifest));
|
|
339
|
+
if (missing.length > 0) {
|
|
340
|
+
throw new AxiError(`--manifest needs ${missing.join(", ")} as well`, "VALIDATION_ERROR", [
|
|
341
|
+
"all three of appURL, displayImageURL and fullSizeImageURL are required",
|
|
342
|
+
"a partial manifest exports without error and cannot be installed",
|
|
343
|
+
]);
|
|
344
|
+
}
|
|
345
|
+
return manifest;
|
|
346
|
+
}
|
|
347
|
+
const ICLOUD_ENVIRONMENTS = ["Development", "Production"];
|
|
348
|
+
/**
|
|
349
|
+
* The entitlement value is case-sensitive and the options "vary depending on
|
|
350
|
+
* the type of provisioning profile used", per xcodebuild's own help -- so fix
|
|
351
|
+
* the case of the two everybody means and pass anything else through rather
|
|
352
|
+
* than rejecting a value this tool cannot know is invalid.
|
|
353
|
+
*/
|
|
354
|
+
function icloudEnvironment(args) {
|
|
355
|
+
const value = getFlag(args, "--icloud-env");
|
|
356
|
+
if (value === undefined)
|
|
357
|
+
return undefined;
|
|
358
|
+
return (ICLOUD_ENVIRONMENTS.find((name) => name.toLowerCase() === value.toLowerCase()) ?? value);
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Xcode spells its two named thinning options with angle brackets around them
|
|
362
|
+
* -- `<none>` and `<thin-for-all-variants>` -- which is not a thing anyone
|
|
363
|
+
* types on purpose, and a device model identifier without. Accept both
|
|
364
|
+
* spellings of the named ones and pass a model through untouched.
|
|
365
|
+
*/
|
|
366
|
+
function thinningOf(args) {
|
|
367
|
+
const value = getFlag(args, "--thinning");
|
|
368
|
+
if (value === undefined)
|
|
369
|
+
return undefined;
|
|
370
|
+
const bare = value.replace(/^<|>$/g, "");
|
|
371
|
+
return bare === "none" || bare === "thin-for-all-variants"
|
|
372
|
+
? `<${bare}>`
|
|
373
|
+
: value;
|
|
374
|
+
}
|
|
192
375
|
function writeGeneratedPlist(args, method) {
|
|
193
376
|
const dir = mkdtempSync(join(tmpdir(), "xcodebuild-axi-export-"));
|
|
194
377
|
const path = join(dir, "ExportOptions.plist");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/commands/export.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/commands/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const INFO_HELP = "usage: xcodebuild-axi info [flags]\nReports the toolchain this machine will build with.\nflags[
|
|
2
|
-
export declare const INFO_FLAGS: readonly ["--sdks", "--platform"];
|
|
1
|
+
export declare const INFO_HELP = "usage: xcodebuild-axi info [flags]\nReports the toolchain this machine will build with.\nflags[3]:\n --sdks list every installed SDK\n --platform <name> filter the SDK list, e.g. iphoneos\n --sdk <name> everything about one SDK: its path, platform, and versions\nnote:\n --sdks answers \"which SDKs are here\", --sdk answers \"where is this one and\n what is in it\" -- the paths a build script needs and the build version an\n agent is asked to report. A canonical name (iphonesimulator27.0) or a bare\n platform name (iphonesimulator) both work.\nexamples:\n xcodebuild-axi info\n xcodebuild-axi info --sdks --platform iphonesimulator\n xcodebuild-axi info --sdk iphonesimulator\n";
|
|
2
|
+
export declare const INFO_FLAGS: readonly ["--sdks", "--platform", "--sdk"];
|
|
3
3
|
export declare function infoCommand(args: string[]): Promise<string>;
|
|
@@ -1,20 +1,31 @@
|
|
|
1
1
|
import { execFile } from "node:child_process";
|
|
2
|
+
import { AxiError } from "../errors.js";
|
|
2
3
|
import { runMetadata } from "../xcodebuild.js";
|
|
3
4
|
import { listSimulators } from "../simctl.js";
|
|
4
5
|
import { renderFields, renderHelp, renderOutput, tildePath } from "../toon.js";
|
|
5
6
|
import { getFlag, hasFlag, rejectUnknownFlags } from "../args.js";
|
|
6
7
|
export const INFO_HELP = `usage: xcodebuild-axi info [flags]
|
|
7
8
|
Reports the toolchain this machine will build with.
|
|
8
|
-
flags[
|
|
9
|
+
flags[3]:
|
|
9
10
|
--sdks list every installed SDK
|
|
10
11
|
--platform <name> filter the SDK list, e.g. iphoneos
|
|
12
|
+
--sdk <name> everything about one SDK: its path, platform, and versions
|
|
13
|
+
note:
|
|
14
|
+
--sdks answers "which SDKs are here", --sdk answers "where is this one and
|
|
15
|
+
what is in it" -- the paths a build script needs and the build version an
|
|
16
|
+
agent is asked to report. A canonical name (iphonesimulator27.0) or a bare
|
|
17
|
+
platform name (iphonesimulator) both work.
|
|
11
18
|
examples:
|
|
12
19
|
xcodebuild-axi info
|
|
13
20
|
xcodebuild-axi info --sdks --platform iphonesimulator
|
|
21
|
+
xcodebuild-axi info --sdk iphonesimulator
|
|
14
22
|
`;
|
|
15
|
-
export const INFO_FLAGS = ["--sdks", "--platform"];
|
|
23
|
+
export const INFO_FLAGS = ["--sdks", "--platform", "--sdk"];
|
|
16
24
|
export async function infoCommand(args) {
|
|
17
|
-
rejectUnknownFlags(args, "info", INFO_FLAGS, ["--platform"]);
|
|
25
|
+
rejectUnknownFlags(args, "info", INFO_FLAGS, ["--platform", "--sdk"]);
|
|
26
|
+
const named = getFlag(args, "--sdk");
|
|
27
|
+
if (named !== undefined)
|
|
28
|
+
return reportSdk(named);
|
|
18
29
|
const [version, developerDir, sdks, simulators] = await Promise.all([
|
|
19
30
|
readVersion(),
|
|
20
31
|
readDeveloperDir(),
|
|
@@ -63,6 +74,48 @@ export async function infoCommand(args) {
|
|
|
63
74
|
renderHelp(["Run `xcodebuild-axi info --sdks` to list the installed SDKs"]),
|
|
64
75
|
]);
|
|
65
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* One SDK, in full.
|
|
79
|
+
*
|
|
80
|
+
* `xcodebuild -version -sdk <name> <infoitem>` answers one field per
|
|
81
|
+
* invocation and only if you already know the field names; the JSON form
|
|
82
|
+
* carries all of them, so this asks once and reports the lot.
|
|
83
|
+
*/
|
|
84
|
+
async function reportSdk(name) {
|
|
85
|
+
const { stdout } = await runMetadata(["-version", "-sdk", name, "-json"]);
|
|
86
|
+
const start = stdout.indexOf("[");
|
|
87
|
+
let parsed = [];
|
|
88
|
+
if (start !== -1) {
|
|
89
|
+
try {
|
|
90
|
+
parsed = JSON.parse(stdout.slice(start));
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
parsed = [];
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
const sdk = parsed[0];
|
|
97
|
+
if (!sdk) {
|
|
98
|
+
// xcodebuild exits *zero* for an SDK it cannot locate, so the absence of a
|
|
99
|
+
// payload is the only signal that the name was wrong.
|
|
100
|
+
throw new AxiError(`No SDK named '${name}'`, "NOT_FOUND", [
|
|
101
|
+
"Run `xcodebuild-axi info --sdks` to list the installed SDKs",
|
|
102
|
+
]);
|
|
103
|
+
}
|
|
104
|
+
return renderOutput([
|
|
105
|
+
renderFields({
|
|
106
|
+
sdk: sdk.canonicalName ?? name,
|
|
107
|
+
...(sdk.displayName ? { name: sdk.displayName } : {}),
|
|
108
|
+
...(sdk.platform ? { platform: sdk.platform } : {}),
|
|
109
|
+
...(sdk.sdkVersion ? { sdk_version: sdk.sdkVersion } : {}),
|
|
110
|
+
...(sdk.productVersion ? { product_version: sdk.productVersion } : {}),
|
|
111
|
+
...(sdk.productBuildVersion ? { build: sdk.productBuildVersion } : {}),
|
|
112
|
+
...(sdk.sdkPath ? { path: tildePath(sdk.sdkPath) } : {}),
|
|
113
|
+
...(sdk.platformPath
|
|
114
|
+
? { platform_path: tildePath(sdk.platformPath) }
|
|
115
|
+
: {}),
|
|
116
|
+
}),
|
|
117
|
+
]);
|
|
118
|
+
}
|
|
66
119
|
async function readVersion() {
|
|
67
120
|
const { stdout } = await runMetadata(["-version"]);
|
|
68
121
|
const lines = stdout.trim().split("\n");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/commands/info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAElE,MAAM,CAAC,MAAM,SAAS,GAAG
|
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/commands/info.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,27 @@
|
|
|
1
|
-
import { type BuildResults } from "../xcresult.js";
|
|
2
|
-
export declare const RESULT_HELP = "usage: xcodebuild-axi result <path.xcresult> [flags]\nRe-reads a result bundle that a previous run wrote, without rebuilding.\nflags[
|
|
3
|
-
export declare const RESULT_FLAGS: readonly ["--failures", "--warnings", "--max", "--full"];
|
|
1
|
+
import { type BuildResults, type CountDelta, type ExportKind, type TestFailureDelta, type TestNode } from "../xcresult.js";
|
|
2
|
+
export declare const RESULT_HELP = "usage: xcodebuild-axi result <path.xcresult> [flags]\nRe-reads a result bundle that a previous run wrote, without rebuilding.\nflags[17]:\n --failures failures and errors only\n --warnings include the full warning list\n --tests every test the run recorded, as the tree Xcode groups them into\n --insights Xcode's own diagnosis: what failed together, and what was slow\n --activities what one test did, step by step; needs --test\n --metrics what the performance tests measured; --test narrows it\n --log <type> the stored build, action, or console log, as timed sections\n --available what this bundle holds at all: coverage, logs, test results\n --metadata when the bundle was written, and in what format\n --export <what> write part of the bundle out: attachments, diagnostics,\n metrics, or evaluations\n --against <path> compare this run to a baseline bundle: what broke, what\n got fixed, which tests came and went\n --merge combine two or more bundles into one, for a sharded run\n --to <path> where --export or --merge writes (default: under\n ~/Library/Caches)\n --test <id> the test --activities, --metrics or --export is about\n --filter <glob> with --export attachments: filenames to keep, e.g. '*.png'\n --max <n> rows to list before summarizing the rest (default: 20)\n --full untruncated messages\nnote:\n Everything here reads the bundle a run already wrote, so none of it rebuilds\n anything. --available is the cheapest first question about a bundle from\n somewhere else: it says whether there is coverage or a log to ask for,\n instead of letting you find out by failing to read one.\n\n --export writes files rather than printing them, so it reports what landed\n and where. --failures narrows attachments and evaluations to what a failing\n test produced, which is usually all anyone wants out of a green run's\n hundreds of screenshots.\n\n --against answers 'is this worse than before' in one call: a failure the\n baseline did not have is what a CI check is looking for, and it is reported\n ahead of everything else.\nexamples:\n xcodebuild-axi result ~/Library/Caches/xcodebuild-axi/MyApps-1a2b3c4d/MyApp-iPhone-17-Pro-test.xcresult\n xcodebuild-axi result build/MyApp.xcresult --failures --full\n xcodebuild-axi result build/MyApp.xcresult --log build --max 10\n xcodebuild-axi result build/MyApp.xcresult --activities --test MyAppTests/CheckoutTests/testTotal\n xcodebuild-axi result build/MyApp.xcresult --export attachments --failures\n xcodebuild-axi result build/MyApp.xcresult --against build/baseline.xcresult\n xcodebuild-axi result shard1.xcresult shard2.xcresult --merge\n";
|
|
3
|
+
export declare const RESULT_FLAGS: readonly ["--failures", "--warnings", "--tests", "--insights", "--activities", "--metrics", "--log", "--available", "--metadata", "--export", "--against", "--merge", "--to", "--test", "--filter", "--max", "--full"];
|
|
4
4
|
export declare function resultCommand(args: string[]): Promise<string>;
|
|
5
|
+
/** "0 → 2 (+2 -0)", which says both the level and the direction. */
|
|
6
|
+
export declare function deltaField(delta: CountDelta | undefined): string;
|
|
7
|
+
export declare function failureDeltaRows(deltas: TestFailureDelta[]): Array<Record<string, unknown>>;
|
|
8
|
+
/**
|
|
9
|
+
* The manifest `xcresulttool` writes beside the files it exported, which is
|
|
10
|
+
* the only thing that ties an exported filename back to the test that made it.
|
|
11
|
+
*/
|
|
12
|
+
export declare function manifestRows(outputPath: string, kind: ExportKind): Array<Record<string, unknown>>;
|
|
13
|
+
/**
|
|
14
|
+
* The test tree, flattened to one row per test case.
|
|
15
|
+
*
|
|
16
|
+
* Xcode nests plan -> target -> suite -> case, and printing that as a tree
|
|
17
|
+
* costs more tokens than it explains. The identifier already carries the
|
|
18
|
+
* hierarchy, so the rows carry the identifier and the verdict.
|
|
19
|
+
*/
|
|
20
|
+
export declare function flattenTests(nodes: TestNode[] | undefined): Array<{
|
|
21
|
+
test: string;
|
|
22
|
+
result: string;
|
|
23
|
+
duration: string;
|
|
24
|
+
}>;
|
|
5
25
|
/**
|
|
6
26
|
* The header a non-test bundle reports. A build bundle carries every field the
|
|
7
27
|
* test-shaped query lacks: `actionTitle` names the action xcodebuild ran,
|