xcodebuild-axi 0.1.8 → 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.
- package/CHANGELOG.md +88 -2
- package/README.md +55 -76
- package/dist/src/action.d.ts +8 -0
- package/dist/src/action.js +37 -30
- package/dist/src/action.js.map +1 -1
- package/dist/src/commands/archive.js +1 -1
- package/dist/src/commands/archive.js.map +1 -1
- package/dist/src/commands/clean.d.ts +2 -2
- package/dist/src/commands/clean.js +33 -3
- package/dist/src/commands/clean.js.map +1 -1
- package/dist/src/commands/packages.d.ts +2 -2
- package/dist/src/commands/packages.js +17 -6
- package/dist/src/commands/packages.js.map +1 -1
- package/dist/src/commands/result.js +3 -9
- package/dist/src/commands/result.js.map +1 -1
- package/dist/src/commands/settings.d.ts +7 -2
- package/dist/src/commands/settings.js +134 -20
- package/dist/src/commands/settings.js.map +1 -1
- package/dist/src/commands/test.js +9 -13
- package/dist/src/commands/test.js.map +1 -1
- package/dist/src/commands/tests.d.ts +2 -2
- package/dist/src/commands/tests.js +19 -7
- package/dist/src/commands/tests.js.map +1 -1
- package/dist/src/errors.js +10 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/report.d.ts +22 -1
- package/dist/src/report.js +40 -0
- package/dist/src/report.js.map +1 -1
- package/dist/src/scheme.d.ts +34 -0
- package/dist/src/scheme.js +46 -0
- package/dist/src/scheme.js.map +1 -1
- package/dist/src/surface.d.ts +1 -0
- package/dist/src/surface.js +20 -64
- package/dist/src/surface.js.map +1 -1
- package/dist/src/xcresult.d.ts +42 -0
- package/dist/src/xcresult.js +41 -0
- package/dist/src/xcresult.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,23 +2,53 @@ import { reportAction, resolveBuildContext, runAction } from "../action.js";
|
|
|
2
2
|
import { getFlag, rejectUnknownFlags } from "../args.js";
|
|
3
3
|
export const CLEAN_HELP = `usage: xcodebuild-axi clean [flags]
|
|
4
4
|
Removes a scheme's build products and intermediates.
|
|
5
|
-
flags[
|
|
5
|
+
flags[14]:
|
|
6
6
|
--scheme <name> scheme to clean (required only when the project has more than one)
|
|
7
|
+
--target <name> clean a target instead of a scheme; repeatable (project only)
|
|
8
|
+
--all-targets clean every target in the project (project only)
|
|
7
9
|
--configuration <name> configuration to clean (default: the scheme's own)
|
|
10
|
+
--destination <spec> raw xcodebuild destination specifier, passed through untouched
|
|
11
|
+
--device <name> clean the products for this simulator or device by name
|
|
12
|
+
--destination-timeout <secs> how long to wait for the destination device
|
|
13
|
+
--sdk <name> base SDK whose products to clean, e.g. iphonesimulator
|
|
14
|
+
--arch <arch> architecture to clean; repeatable or comma-separated
|
|
15
|
+
--toolchain <name> toolchain identifier or name
|
|
16
|
+
--xcconfig <path> apply build settings from this file as overrides
|
|
8
17
|
--derived-data <path> derived data directory to clean within
|
|
18
|
+
--artifacts-dir <path> where to write this run's log and .xcresult (default: the tool's cache)
|
|
19
|
+
--log-level <level> quiet, normal, or verbose — how much lands in the log file
|
|
20
|
+
note:
|
|
21
|
+
A clean is scoped by the same things a build is. Without a destination or an
|
|
22
|
+
--sdk it cleans the products for xcodebuild's default, which is not what a
|
|
23
|
+
simulator build wrote -- so "cleaned" and "still there" are both true answers
|
|
24
|
+
to different questions.
|
|
9
25
|
examples:
|
|
10
26
|
xcodebuild-axi clean
|
|
11
27
|
xcodebuild-axi clean --scheme MyApp --configuration Release
|
|
28
|
+
xcodebuild-axi clean --all-targets --derived-data build/dd
|
|
12
29
|
`;
|
|
13
30
|
export const CLEAN_FLAGS = [
|
|
14
31
|
"--scheme",
|
|
32
|
+
"--target",
|
|
33
|
+
"--all-targets",
|
|
15
34
|
"--configuration",
|
|
35
|
+
"--destination",
|
|
36
|
+
"--device",
|
|
37
|
+
"--destination-timeout",
|
|
38
|
+
"--sdk",
|
|
39
|
+
"--arch",
|
|
40
|
+
"--toolchain",
|
|
41
|
+
"--xcconfig",
|
|
16
42
|
"--derived-data",
|
|
43
|
+
"--artifacts-dir",
|
|
44
|
+
"--log-level",
|
|
17
45
|
];
|
|
46
|
+
const VALUE_FLAGS = CLEAN_FLAGS.filter((flag) => flag !== "--all-targets");
|
|
18
47
|
export async function cleanCommand(args) {
|
|
19
|
-
rejectUnknownFlags(args, "clean", CLEAN_FLAGS,
|
|
48
|
+
rejectUnknownFlags(args, "clean", CLEAN_FLAGS, VALUE_FLAGS);
|
|
20
49
|
// Cleaning needs no destination, and resolving one costs a whole
|
|
21
|
-
// `-showdestinations` subprocess against a scheme we are about to wipe.
|
|
50
|
+
// `-showdestinations` subprocess against a scheme we are about to wipe. One
|
|
51
|
+
// named explicitly is still resolved, because then it is the answer.
|
|
22
52
|
const context = await resolveBuildContext({
|
|
23
53
|
args,
|
|
24
54
|
command: "clean",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clean.js","sourceRoot":"","sources":["../../../src/commands/clean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,CAAC,MAAM,UAAU,GAAG
|
|
1
|
+
{"version":3,"file":"clean.js","sourceRoot":"","sources":["../../../src/commands/clean.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,CAAC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BzB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU;IACV,UAAU;IACV,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,UAAU;IACV,uBAAuB;IACvB,OAAO;IACP,QAAQ;IACR,aAAa;IACb,YAAY;IACZ,gBAAgB;IAChB,iBAAiB;IACjB,aAAa;CACL,CAAC;AAEX,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CACpC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,eAAe,CACd,CAAC;AAEvB,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAc;IAC/C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAE5D,iEAAiE;IACjE,4EAA4E;IAC5E,qEAAqE;IACrE,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC;QACxC,IAAI;QACJ,OAAO,EAAE,OAAO;QAChB,gBAAgB,EAAE,KAAK;KACxB,CAAC,CAAC;IACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC;QAC1B,OAAO;QACP,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,CAAC,OAAO,CAAC;KACnB,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;QAClB,OAAO;QACP,GAAG;QACH,GAAG,EAAE,OAAO;QACZ,EAAE,EAAE,WAAW;QACf,OAAO,EAAE,OAAO;QAChB,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,SAAS;YAChD,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAW,EAAE,EAAE;YAC1E,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const PACKAGES_HELP = "usage: xcodebuild-axi packages [flags]\nReports the Swift package versions this project is pinned to, read straight\nfrom Package.resolved \u2014 no build, no subprocess.\nflags[
|
|
2
|
-
export declare const PACKAGES_FLAGS: readonly ["--resolve", "--filter", "--scheme", "--offline", "--cache", "--package-cache", "--no-auto-resolve", "--skip-package-updates", "--no-package-cache", "--skip-plugin-validation", "--skip-signature-validation", "--package-auth", "--registry-url", "--scm-to-registry", "--fingerprint-policy", "--signing-entity-policy", "--scm-provider"];
|
|
1
|
+
export declare const PACKAGES_HELP = "usage: xcodebuild-axi packages [flags]\nReports the Swift package versions this project is pinned to, read straight\nfrom Package.resolved \u2014 no build, no subprocess.\nflags[18]:\n --resolve actually resolve dependencies first (network, slow)\n --filter <text> only packages whose identity contains this\n --scheme <name> with --resolve against a workspace: the scheme to resolve for\n --derived-data <path> with --resolve: derived data directory to resolve into\n --offline resolve using only the versions already in Package.resolved\n --cache <path> clone remote packages into this directory\n --package-cache <path> shared package cache directory (across projects)\n --no-auto-resolve never resolve automatically; fail if Package.resolved is stale\n --skip-package-updates use the packages already cloned, without checking for updates\n --no-package-cache ignore the shared package repository cache\n --skip-plugin-validation trust build plugins without prompting\n --skip-signature-validation do not verify package signatures\n --package-auth <kind> keychain or netrc\n --registry-url <url> default package registry\n --scm-to-registry <kind> none, identity, or swift-package-registry\n --fingerprint-policy <kind> strict or warn\n --signing-entity-policy <kind> strict or warn\n --scm-provider <kind> system or xcode\nnote:\n The resolution flags only matter alongside --resolve; reading the pins is a\n file read either way.\nexamples:\n xcodebuild-axi packages\n xcodebuild-axi packages --filter swift-composable\n xcodebuild-axi packages --resolve --offline\n";
|
|
2
|
+
export declare const PACKAGES_FLAGS: readonly ["--resolve", "--filter", "--scheme", "--derived-data", "--offline", "--cache", "--package-cache", "--no-auto-resolve", "--skip-package-updates", "--no-package-cache", "--skip-plugin-validation", "--skip-signature-validation", "--package-auth", "--registry-url", "--scm-to-registry", "--fingerprint-policy", "--signing-entity-policy", "--scm-provider"];
|
|
3
3
|
export declare function packagesCommand(args: string[]): Promise<string>;
|
|
@@ -8,10 +8,11 @@ import { getFlag, hasFlag, rejectUnknownFlags } from "../args.js";
|
|
|
8
8
|
export const PACKAGES_HELP = `usage: xcodebuild-axi packages [flags]
|
|
9
9
|
Reports the Swift package versions this project is pinned to, read straight
|
|
10
10
|
from Package.resolved — no build, no subprocess.
|
|
11
|
-
flags[
|
|
11
|
+
flags[18]:
|
|
12
12
|
--resolve actually resolve dependencies first (network, slow)
|
|
13
13
|
--filter <text> only packages whose identity contains this
|
|
14
14
|
--scheme <name> with --resolve against a workspace: the scheme to resolve for
|
|
15
|
+
--derived-data <path> with --resolve: derived data directory to resolve into
|
|
15
16
|
${PACKAGE_FLAG_HELP}
|
|
16
17
|
note:
|
|
17
18
|
The resolution flags only matter alongside --resolve; reading the pins is a
|
|
@@ -25,18 +26,27 @@ export const PACKAGES_FLAGS = [
|
|
|
25
26
|
"--resolve",
|
|
26
27
|
"--filter",
|
|
27
28
|
"--scheme",
|
|
29
|
+
"--derived-data",
|
|
28
30
|
...PACKAGE_FLAGS,
|
|
29
31
|
];
|
|
30
|
-
const VALUE_FLAGS = [
|
|
32
|
+
const VALUE_FLAGS = [
|
|
33
|
+
"--filter",
|
|
34
|
+
"--scheme",
|
|
35
|
+
"--derived-data",
|
|
36
|
+
...PACKAGE_VALUE_FLAGS,
|
|
37
|
+
];
|
|
31
38
|
export async function packagesCommand(args) {
|
|
32
39
|
rejectUnknownFlags(args, "packages", PACKAGES_FLAGS, VALUE_FLAGS);
|
|
33
40
|
const project = requireProject();
|
|
34
41
|
const blocks = [];
|
|
35
42
|
if (hasFlag(args, "--resolve")) {
|
|
36
|
-
// xcodebuild
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
|
-
|
|
43
|
+
// Two reasons xcodebuild needs a scheme named up front: it refuses
|
|
44
|
+
// `-resolvePackageDependencies -workspace` without one and says so only
|
|
45
|
+
// after loading the whole workspace, and it refuses `-derivedDataPath`
|
|
46
|
+
// without one at all. `requireScheme` picks it when there is only one, so
|
|
47
|
+
// neither refusal has to reach the caller.
|
|
48
|
+
const derivedData = getFlag(args, "--derived-data");
|
|
49
|
+
const scheme = project.kind === "workspace" || derivedData !== undefined
|
|
40
50
|
? await requireScheme(project, getFlag(args, "--scheme"), "packages --resolve")
|
|
41
51
|
: getFlag(args, "--scheme");
|
|
42
52
|
const run = await runBuild({
|
|
@@ -44,6 +54,7 @@ export async function packagesCommand(args) {
|
|
|
44
54
|
...project.flags,
|
|
45
55
|
...(scheme ? ["-scheme", scheme] : []),
|
|
46
56
|
"-resolvePackageDependencies",
|
|
57
|
+
...(derivedData ? ["-derivedDataPath", derivedData] : []),
|
|
47
58
|
...packageArgs(args),
|
|
48
59
|
],
|
|
49
60
|
label: `${project.name}-resolve`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packages.js","sourceRoot":"","sources":["../../../src/commands/packages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,mBAAmB,EACnB,QAAQ,EACR,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,UAAU,EACV,YAAY,EACZ,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAElE,MAAM,CAAC,MAAM,aAAa,GAAG
|
|
1
|
+
{"version":3,"file":"packages.js","sourceRoot":"","sources":["../../../src/commands/packages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { AxiError } from "../errors.js";
|
|
2
2
|
import { resolve } from "node:path";
|
|
3
3
|
import { describeDevice, readBuildResults, readTestSummary, toDiagnostics, } from "../xcresult.js";
|
|
4
|
-
import { diagnosticsBlock } from "../report.js";
|
|
5
|
-
import { duration, renderFields, renderHelp, renderList, renderOutput, tildePath,
|
|
4
|
+
import { diagnosticsBlock, failureRows } from "../report.js";
|
|
5
|
+
import { duration, renderFields, renderHelp, renderList, renderOutput, tildePath, } from "../toon.js";
|
|
6
6
|
import { getIntFlag, hasFlag, positionals, rejectUnknownFlags, } from "../args.js";
|
|
7
7
|
export const RESULT_HELP = `usage: xcodebuild-axi result <path.xcresult> [flags]
|
|
8
8
|
Re-reads a result bundle that a previous run wrote, without rebuilding.
|
|
@@ -63,13 +63,7 @@ export async function resultCommand(args) {
|
|
|
63
63
|
}));
|
|
64
64
|
const failures = summary.testFailures ?? [];
|
|
65
65
|
if (failures.length > 0) {
|
|
66
|
-
const shown =
|
|
67
|
-
test: failure.testIdentifierString ?? failure.testName ?? "unknown",
|
|
68
|
-
target: failure.targetName ?? "",
|
|
69
|
-
message: full
|
|
70
|
-
? (failure.failureText ?? "").replace(/\s+/g, " ").trim()
|
|
71
|
-
: truncate((failure.failureText ?? "").replace(/\s+/g, " ").trim(), 300).text,
|
|
72
|
-
}));
|
|
66
|
+
const shown = await failureRows(path, failures, { max, full });
|
|
73
67
|
blocks.push(renderList(failures.length > shown.length
|
|
74
68
|
? `failures (${shown.length} of ${failures.length})`
|
|
75
69
|
: "failures", shown));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/commands/result.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,aAAa,GAEd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/commands/result.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
export declare const SETTINGS_HELP = "usage: xcodebuild-axi settings [flags]\nReads resolved build settings. Asking for the keys you want turns a 40 KB dump\ninto a few lines.\nflags[
|
|
2
|
-
export declare const SETTINGS_FLAGS: readonly ["--scheme", "--key", "--configuration", "--device", "--destination", "--sdk", "--all", "--for-index", "--file", "--full"];
|
|
1
|
+
export declare const SETTINGS_HELP = "usage: xcodebuild-axi settings [flags]\nReads resolved build settings. Asking for the keys you want turns a 40 KB dump\ninto a few lines.\nflags[18]:\n --scheme <name> scheme to resolve against (required only when the project has more than one)\n --target <name> resolve a target instead of a scheme; repeatable (project only)\n --all-targets resolve every target in the project (project only)\n --key <NAME> setting to read; repeatable or comma-separated\n --configuration <name> build configuration to resolve against\n --device <name> resolve against a simulator or device by name, e.g. \"iPhone 17 Pro\"\n --destination <spec> raw xcodebuild destination specifier, passed through untouched\n --destination-timeout <secs> how long to wait for the destination device\n --sdk <name> base SDK to resolve against, e.g. iphonesimulator\n --arch <arch> architecture to resolve against; repeatable or comma-separated\n --toolchain <name> toolchain identifier or name\n --xcconfig <path> apply this file's settings as overrides before resolving\n --derived-data <path> derived data directory, which the build paths are under\n --setting KEY=VALUE override a setting before resolving; repeatable or comma-separated\n --all dump every setting (large \u2014 hundreds of keys)\n --for-index the per-source-file settings an indexer sees\n --file <path> with --for-index: the one source file to report on\n --full with --for-index --file: list the long argument arrays\nnote:\n Paths and platform names are destination-dependent. With no --device,\n --destination or --sdk, xcodebuild resolves against the default SDK, which is\n the *device* SDK -- so BUILT_PRODUCTS_DIR comes back under Debug-iphoneos\n while build and test default to a simulator. The reported platform names\n what the answer is for.\n --setting and --xcconfig answer \"what would this be if I overrode that\",\n which is the question -showBuildSettings exists for. --derived-data matters\n because every build path -- BUILT_PRODUCTS_DIR and everything under it --\n hangs off it, so the default answer describes a directory CI does not use.\n --for-index answers a different question from the rest of this command: it\n reports the compiler invocation the indexer builds per source file. The raw\n payload measured 216 KB on a 12-scheme workspace, so without --file it\n reports only which targets have index settings and how many files each has.\nexamples:\n xcodebuild-axi settings --key PRODUCT_BUNDLE_IDENTIFIER,MARKETING_VERSION\n xcodebuild-axi settings --target MyApp --key SWIFT_VERSION\n xcodebuild-axi settings --scheme MyApp --setting SWIFT_STRICT_CONCURRENCY=complete --key SWIFT_STRICT_CONCURRENCY\n xcodebuild-axi settings --scheme MyApp --key SWIFT_VERSION\n xcodebuild-axi settings --scheme MyApp --device \"iPhone 17 Pro\" --key BUILT_PRODUCTS_DIR\n xcodebuild-axi settings --scheme MyApp --for-index --file MyApp/AppFeature.swift\n";
|
|
2
|
+
export declare const SETTINGS_FLAGS: readonly ["--scheme", "--target", "--all-targets", "--key", "--configuration", "--device", "--destination", "--destination-timeout", "--sdk", "--arch", "--toolchain", "--xcconfig", "--derived-data", "--setting", "--all", "--for-index", "--file", "--full"];
|
|
3
3
|
export declare function settingsCommand(args: string[]): Promise<string>;
|
|
4
|
+
/**
|
|
5
|
+
* xcodebuild's own one-line reason, which names the flag it objected to and is
|
|
6
|
+
* more specific than anything this command could infer from the arguments.
|
|
7
|
+
*/
|
|
8
|
+
export declare function xcodebuildComplaint(stderr: string): string[];
|
|
4
9
|
/**
|
|
5
10
|
* Name the platform an answer is for. These settings are destination-dependent
|
|
6
11
|
* and the destination is easy not to think about, so the report says which one
|
|
@@ -1,20 +1,28 @@
|
|
|
1
1
|
import { AxiError } from "../errors.js";
|
|
2
2
|
import { requireProject } from "../context.js";
|
|
3
|
-
import {
|
|
3
|
+
import { resolveSubject } from "../scheme.js";
|
|
4
4
|
import { resolveDestination } from "../destination.js";
|
|
5
5
|
import { runMetadata } from "../xcodebuild.js";
|
|
6
6
|
import { renderFields, renderHelp, renderList, renderOutput } from "../toon.js";
|
|
7
|
-
import { getFlag, getListFlag, hasFlag, rejectUnknownFlags } from "../args.js";
|
|
7
|
+
import { getFlag, getIntFlag, getListFlag, hasFlag, rejectUnknownFlags, } from "../args.js";
|
|
8
8
|
export const SETTINGS_HELP = `usage: xcodebuild-axi settings [flags]
|
|
9
9
|
Reads resolved build settings. Asking for the keys you want turns a 40 KB dump
|
|
10
10
|
into a few lines.
|
|
11
|
-
flags[
|
|
11
|
+
flags[18]:
|
|
12
12
|
--scheme <name> scheme to resolve against (required only when the project has more than one)
|
|
13
|
+
--target <name> resolve a target instead of a scheme; repeatable (project only)
|
|
14
|
+
--all-targets resolve every target in the project (project only)
|
|
13
15
|
--key <NAME> setting to read; repeatable or comma-separated
|
|
14
16
|
--configuration <name> build configuration to resolve against
|
|
15
17
|
--device <name> resolve against a simulator or device by name, e.g. "iPhone 17 Pro"
|
|
16
18
|
--destination <spec> raw xcodebuild destination specifier, passed through untouched
|
|
19
|
+
--destination-timeout <secs> how long to wait for the destination device
|
|
17
20
|
--sdk <name> base SDK to resolve against, e.g. iphonesimulator
|
|
21
|
+
--arch <arch> architecture to resolve against; repeatable or comma-separated
|
|
22
|
+
--toolchain <name> toolchain identifier or name
|
|
23
|
+
--xcconfig <path> apply this file's settings as overrides before resolving
|
|
24
|
+
--derived-data <path> derived data directory, which the build paths are under
|
|
25
|
+
--setting KEY=VALUE override a setting before resolving; repeatable or comma-separated
|
|
18
26
|
--all dump every setting (large — hundreds of keys)
|
|
19
27
|
--for-index the per-source-file settings an indexer sees
|
|
20
28
|
--file <path> with --for-index: the one source file to report on
|
|
@@ -25,23 +33,37 @@ note:
|
|
|
25
33
|
the *device* SDK -- so BUILT_PRODUCTS_DIR comes back under Debug-iphoneos
|
|
26
34
|
while build and test default to a simulator. The reported platform names
|
|
27
35
|
what the answer is for.
|
|
36
|
+
--setting and --xcconfig answer "what would this be if I overrode that",
|
|
37
|
+
which is the question -showBuildSettings exists for. --derived-data matters
|
|
38
|
+
because every build path -- BUILT_PRODUCTS_DIR and everything under it --
|
|
39
|
+
hangs off it, so the default answer describes a directory CI does not use.
|
|
28
40
|
--for-index answers a different question from the rest of this command: it
|
|
29
41
|
reports the compiler invocation the indexer builds per source file. The raw
|
|
30
42
|
payload measured 216 KB on a 12-scheme workspace, so without --file it
|
|
31
43
|
reports only which targets have index settings and how many files each has.
|
|
32
44
|
examples:
|
|
33
45
|
xcodebuild-axi settings --key PRODUCT_BUNDLE_IDENTIFIER,MARKETING_VERSION
|
|
46
|
+
xcodebuild-axi settings --target MyApp --key SWIFT_VERSION
|
|
47
|
+
xcodebuild-axi settings --scheme MyApp --setting SWIFT_STRICT_CONCURRENCY=complete --key SWIFT_STRICT_CONCURRENCY
|
|
34
48
|
xcodebuild-axi settings --scheme MyApp --key SWIFT_VERSION
|
|
35
49
|
xcodebuild-axi settings --scheme MyApp --device "iPhone 17 Pro" --key BUILT_PRODUCTS_DIR
|
|
36
50
|
xcodebuild-axi settings --scheme MyApp --for-index --file MyApp/AppFeature.swift
|
|
37
51
|
`;
|
|
38
52
|
export const SETTINGS_FLAGS = [
|
|
39
53
|
"--scheme",
|
|
54
|
+
"--target",
|
|
55
|
+
"--all-targets",
|
|
40
56
|
"--key",
|
|
41
57
|
"--configuration",
|
|
42
58
|
"--device",
|
|
43
59
|
"--destination",
|
|
60
|
+
"--destination-timeout",
|
|
44
61
|
"--sdk",
|
|
62
|
+
"--arch",
|
|
63
|
+
"--toolchain",
|
|
64
|
+
"--xcconfig",
|
|
65
|
+
"--derived-data",
|
|
66
|
+
"--setting",
|
|
45
67
|
"--all",
|
|
46
68
|
"--for-index",
|
|
47
69
|
"--file",
|
|
@@ -49,11 +71,18 @@ export const SETTINGS_FLAGS = [
|
|
|
49
71
|
];
|
|
50
72
|
const VALUE_FLAGS = [
|
|
51
73
|
"--scheme",
|
|
74
|
+
"--target",
|
|
52
75
|
"--key",
|
|
53
76
|
"--configuration",
|
|
54
77
|
"--device",
|
|
55
78
|
"--destination",
|
|
79
|
+
"--destination-timeout",
|
|
56
80
|
"--sdk",
|
|
81
|
+
"--arch",
|
|
82
|
+
"--toolchain",
|
|
83
|
+
"--xcconfig",
|
|
84
|
+
"--derived-data",
|
|
85
|
+
"--setting",
|
|
57
86
|
"--file",
|
|
58
87
|
];
|
|
59
88
|
export async function settingsCommand(args) {
|
|
@@ -68,9 +97,28 @@ export async function settingsCommand(args) {
|
|
|
68
97
|
]);
|
|
69
98
|
}
|
|
70
99
|
const project = requireProject();
|
|
71
|
-
const
|
|
100
|
+
const subject = await resolveSubject(project, {
|
|
101
|
+
...(getFlag(args, "--scheme") !== undefined
|
|
102
|
+
? { scheme: getFlag(args, "--scheme") }
|
|
103
|
+
: {}),
|
|
104
|
+
targets: getListFlag(args, "--target"),
|
|
105
|
+
allTargets: hasFlag(args, "--all-targets"),
|
|
106
|
+
}, "settings");
|
|
107
|
+
const scheme = subject.label;
|
|
72
108
|
const configuration = getFlag(args, "--configuration");
|
|
73
109
|
const sdk = getFlag(args, "--sdk");
|
|
110
|
+
const toolchain = getFlag(args, "--toolchain");
|
|
111
|
+
const xcconfig = getFlag(args, "--xcconfig");
|
|
112
|
+
const derivedData = getFlag(args, "--derived-data");
|
|
113
|
+
const destinationTimeout = getIntFlag(args, "--destination-timeout");
|
|
114
|
+
const overrides = getListFlag(args, "--setting");
|
|
115
|
+
for (const setting of overrides) {
|
|
116
|
+
if (!setting.includes("=")) {
|
|
117
|
+
throw new AxiError(`--setting expects KEY=VALUE, got '${setting}'`, "VALIDATION_ERROR", [
|
|
118
|
+
"xcodebuild-axi settings --setting SWIFT_VERSION=6 --key SWIFT_VERSION",
|
|
119
|
+
]);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
74
122
|
// Without a destination xcodebuild resolves against the default *device*
|
|
75
123
|
// SDK, so BUILT_PRODUCTS_DIR and PLATFORM_NAME describe a build that
|
|
76
124
|
// `xcodebuild-axi build` -- which defaults to the newest simulator -- never
|
|
@@ -79,39 +127,94 @@ export async function settingsCommand(args) {
|
|
|
79
127
|
// default answer does not move under anyone.
|
|
80
128
|
const rawDestination = getFlag(args, "--destination");
|
|
81
129
|
const device = getFlag(args, "--device");
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
const
|
|
130
|
+
// Destinations are listed per scheme, so target mode has nothing to resolve
|
|
131
|
+
// a device *name* against — a whole specifier still passes through.
|
|
132
|
+
if (subject.targetMode && device !== undefined) {
|
|
133
|
+
throw new AxiError("--device is resolved against a scheme, and --target names no scheme", "VALIDATION_ERROR", [
|
|
134
|
+
"Pass the whole specifier instead: --destination 'platform=iOS Simulator,name=iPhone 17 Pro'",
|
|
135
|
+
"Or resolve against a scheme with `--scheme <name>`",
|
|
136
|
+
]);
|
|
137
|
+
}
|
|
138
|
+
const destination = subject.targetMode
|
|
139
|
+
? rawDestination
|
|
140
|
+
: rawDestination !== undefined || device !== undefined
|
|
141
|
+
? (await resolveDestination({
|
|
142
|
+
project,
|
|
143
|
+
scheme,
|
|
144
|
+
...(device !== undefined ? { device } : {}),
|
|
145
|
+
...(rawDestination !== undefined ? { raw: rawDestination } : {}),
|
|
146
|
+
})).specifier
|
|
147
|
+
: undefined;
|
|
148
|
+
const { stdout, stderr, exitCode } = await runMetadata([
|
|
91
149
|
...project.flags,
|
|
92
|
-
|
|
93
|
-
scheme,
|
|
150
|
+
...subject.flags,
|
|
94
151
|
...(configuration ? ["-configuration", configuration] : []),
|
|
95
|
-
...(destination ? ["-destination", destination
|
|
152
|
+
...(destination ? ["-destination", destination] : []),
|
|
153
|
+
...(destinationTimeout !== undefined
|
|
154
|
+
? ["-destination-timeout", String(destinationTimeout)]
|
|
155
|
+
: []),
|
|
96
156
|
...(sdk ? ["-sdk", sdk] : []),
|
|
157
|
+
...getListFlag(args, "--arch").flatMap((arch) => ["-arch", arch]),
|
|
158
|
+
...(toolchain ? ["-toolchain", toolchain] : []),
|
|
159
|
+
...(xcconfig ? ["-xcconfig", xcconfig] : []),
|
|
160
|
+
...(derivedData ? ["-derivedDataPath", derivedData] : []),
|
|
97
161
|
forIndex ? "-showBuildSettingsForIndex" : "-showBuildSettings",
|
|
98
162
|
"-json",
|
|
163
|
+
// Overrides go last, the way xcodebuild reads `KEY=VALUE` arguments.
|
|
164
|
+
...overrides,
|
|
99
165
|
]);
|
|
166
|
+
// A rejected combination of flags exits non-zero and still prints a JSON
|
|
167
|
+
// document -- an empty one. Parsing that and reporting every key as `unset`
|
|
168
|
+
// reads exactly like a correct answer about a target with no settings, so
|
|
169
|
+
// the refusal has to be surfaced rather than parsed past. xcodebuild
|
|
170
|
+
// rejects more combinations than this command can enumerate up front
|
|
171
|
+
// (`-derivedDataPath` without a scheme is one), so this is the general net.
|
|
172
|
+
if (exitCode !== 0) {
|
|
173
|
+
throw new AxiError(`xcodebuild could not resolve settings for ${subject.label}`, "VALIDATION_ERROR", [
|
|
174
|
+
...xcodebuildComplaint(stderr),
|
|
175
|
+
...(subject.targetMode
|
|
176
|
+
? [
|
|
177
|
+
"Some options are only accepted alongside a scheme — try `--scheme <name>`",
|
|
178
|
+
]
|
|
179
|
+
: []),
|
|
180
|
+
]);
|
|
181
|
+
}
|
|
100
182
|
if (forIndex) {
|
|
101
183
|
return reportIndexSettings(stdout, scheme, getFlag(args, "--file"), hasFlag(args, "--full"));
|
|
102
184
|
}
|
|
103
185
|
const settings = parseSettings(stdout);
|
|
104
186
|
const platform = platformOf(settings);
|
|
187
|
+
// `scheme: MyApp` is a lie when targets were named, and the label is the
|
|
188
|
+
// reader's only clue about which question was answered.
|
|
189
|
+
const subjectField = subject.targetMode ? { targets: scheme } : { scheme };
|
|
105
190
|
if (all) {
|
|
106
191
|
return renderOutput([
|
|
107
192
|
renderFields({
|
|
108
|
-
|
|
193
|
+
...subjectField,
|
|
109
194
|
...platform,
|
|
110
195
|
settings: Object.keys(settings).length,
|
|
111
196
|
}),
|
|
112
197
|
renderFields({ ...settings }),
|
|
113
198
|
]);
|
|
114
199
|
}
|
|
200
|
+
// xcodebuild answers `[]` -- exit 0, no targets -- when nothing in the
|
|
201
|
+
// scheme is buildable for the destination it resolved against. Running the
|
|
202
|
+
// per-key loop over that reports every key as `unset`, which is the same
|
|
203
|
+
// answer as a key that genuinely is not set, so the two have to be told
|
|
204
|
+
// apart before the loop rather than inside it.
|
|
205
|
+
if (Object.keys(settings).length === 0) {
|
|
206
|
+
return renderOutput([
|
|
207
|
+
renderFields({
|
|
208
|
+
...subjectField,
|
|
209
|
+
settings: "none — xcodebuild resolved no targets to read settings from",
|
|
210
|
+
}),
|
|
211
|
+
renderHelp([
|
|
212
|
+
"-showBuildSettings answers with an empty list rather than an error, so this is not a failure",
|
|
213
|
+
"A Swift package's scheme resolves nothing here at all; a project scheme with no buildable for the resolved platform does the same",
|
|
214
|
+
`Run \`xcodebuild-axi settings ${subject.rerun} --destination <spec>\` to resolve against another platform`,
|
|
215
|
+
]),
|
|
216
|
+
]);
|
|
217
|
+
}
|
|
115
218
|
const found = {};
|
|
116
219
|
const missing = [];
|
|
117
220
|
for (const key of keys) {
|
|
@@ -121,20 +224,31 @@ export async function settingsCommand(args) {
|
|
|
121
224
|
else
|
|
122
225
|
found[key] = value;
|
|
123
226
|
}
|
|
124
|
-
const blocks = [renderFields({
|
|
227
|
+
const blocks = [renderFields({ ...subjectField, ...platform })];
|
|
125
228
|
if (Object.keys(found).length > 0) {
|
|
126
229
|
blocks.push(renderFields({ settings: found }));
|
|
127
230
|
}
|
|
128
231
|
if (missing.length > 0) {
|
|
129
232
|
// A key that does not exist is an answer, not an error — say so plainly
|
|
130
233
|
// rather than returning an empty block the agent has to re-query to trust.
|
|
131
|
-
blocks.push(renderFields({ unset: missing
|
|
234
|
+
blocks.push(renderFields({ unset: missing }));
|
|
132
235
|
blocks.push(renderHelp([
|
|
133
|
-
`Run \`xcodebuild-axi settings
|
|
236
|
+
`Run \`xcodebuild-axi settings ${subject.rerun} --all\` to see every key this resolves`,
|
|
134
237
|
]));
|
|
135
238
|
}
|
|
136
239
|
return renderOutput(blocks);
|
|
137
240
|
}
|
|
241
|
+
/**
|
|
242
|
+
* xcodebuild's own one-line reason, which names the flag it objected to and is
|
|
243
|
+
* more specific than anything this command could infer from the arguments.
|
|
244
|
+
*/
|
|
245
|
+
export function xcodebuildComplaint(stderr) {
|
|
246
|
+
const line = stderr
|
|
247
|
+
.split("\n")
|
|
248
|
+
.map((entry) => entry.trim())
|
|
249
|
+
.find((entry) => entry.startsWith("xcodebuild: error:"));
|
|
250
|
+
return line ? [line.replace(/^xcodebuild: error:\s*/, "")] : [];
|
|
251
|
+
}
|
|
138
252
|
/**
|
|
139
253
|
* Name the platform an answer is for. These settings are destination-dependent
|
|
140
254
|
* and the destination is easy not to think about, so the report says which one
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/commands/settings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/commands/settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { AxiError, mapXcodebuildError } from "../errors.js";
|
|
2
|
-
import { BUILD_FLAG_HELP, resolveBuildContext, runAction, SHARED_BUILD_FLAGS, SHARED_BUILD_VALUE_FLAGS, } from "../action.js";
|
|
2
|
+
import { BUILD_FLAG_HELP, resolveBuildContext, runAction, SHARED_BUILD_FLAGS, SHARED_BUILD_VALUE_FLAGS, subjectField, } from "../action.js";
|
|
3
3
|
import { readBuildResults, readTestSummary, toDiagnostics, describeDevice, } from "../xcresult.js";
|
|
4
4
|
import { readCoverage, percent } from "../xccov.js";
|
|
5
|
-
import { diagnosticsBlock, transcriptTail } from "../report.js";
|
|
6
|
-
import { duration, renderFields, renderHelp, renderList, renderOutput, tildePath,
|
|
5
|
+
import { diagnosticsBlock, failureRows, transcriptTail } from "../report.js";
|
|
6
|
+
import { duration, renderFields, renderHelp, renderList, renderOutput, tildePath, } from "../toon.js";
|
|
7
7
|
import { getFlag, getIntFlag, getListFlag, hasFlag, rejectUnknownFlags, } from "../args.js";
|
|
8
8
|
export const TEST_HELP = `usage: xcodebuild-axi test [flags]
|
|
9
9
|
Runs a scheme's tests and reports the counts plus only the failures.
|
|
@@ -225,7 +225,7 @@ async function renderTestsNeverRan(context, run) {
|
|
|
225
225
|
renderFields({
|
|
226
226
|
test: "failed",
|
|
227
227
|
reason: "the build failed, so no test ran",
|
|
228
|
-
|
|
228
|
+
...subjectField(context),
|
|
229
229
|
...(context.destination ? { destination: context.destination } : {}),
|
|
230
230
|
duration: duration(run.seconds),
|
|
231
231
|
}),
|
|
@@ -265,7 +265,7 @@ async function renderTestSummary(options) {
|
|
|
265
265
|
const blocks = [
|
|
266
266
|
renderFields({
|
|
267
267
|
test: succeeded ? "passed" : "failed",
|
|
268
|
-
|
|
268
|
+
...subjectField(context),
|
|
269
269
|
destination: landed,
|
|
270
270
|
// Slash-separated, not comma-separated: TOON quotes any scalar
|
|
271
271
|
// containing a comma, and the quotes cost more than the commas saved.
|
|
@@ -278,14 +278,10 @@ async function renderTestSummary(options) {
|
|
|
278
278
|
];
|
|
279
279
|
const failures = summary.testFailures ?? [];
|
|
280
280
|
if (failures.length > 0) {
|
|
281
|
-
const shown =
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
? (failure.failureText ?? "").replace(/\s+/g, " ").trim()
|
|
286
|
-
: truncate((failure.failureText ?? "").replace(/\s+/g, " ").trim(), 300)
|
|
287
|
-
.text,
|
|
288
|
-
}));
|
|
281
|
+
const shown = await failureRows(run.resultPath, failures, {
|
|
282
|
+
max: options.maxFailures,
|
|
283
|
+
full: options.full,
|
|
284
|
+
});
|
|
289
285
|
blocks.push(renderList(failures.length > shown.length
|
|
290
286
|
? `failures (${shown.length} of ${failures.length})`
|
|
291
287
|
: "failures", shown));
|