xcodebuild-axi 0.1.8 → 0.1.10

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 (48) hide show
  1. package/CHANGELOG.md +165 -2
  2. package/README.md +40 -82
  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/archive.d.ts +35 -6
  7. package/dist/src/archive.js +63 -21
  8. package/dist/src/archive.js.map +1 -1
  9. package/dist/src/commands/archive.js +1 -1
  10. package/dist/src/commands/archive.js.map +1 -1
  11. package/dist/src/commands/clean.d.ts +2 -2
  12. package/dist/src/commands/clean.js +33 -3
  13. package/dist/src/commands/clean.js.map +1 -1
  14. package/dist/src/commands/export.d.ts +4 -4
  15. package/dist/src/commands/export.js +194 -11
  16. package/dist/src/commands/export.js.map +1 -1
  17. package/dist/src/commands/info.d.ts +2 -2
  18. package/dist/src/commands/info.js +56 -3
  19. package/dist/src/commands/info.js.map +1 -1
  20. package/dist/src/commands/packages.d.ts +2 -2
  21. package/dist/src/commands/packages.js +17 -6
  22. package/dist/src/commands/packages.js.map +1 -1
  23. package/dist/src/commands/result.d.ts +15 -3
  24. package/dist/src/commands/result.js +294 -14
  25. package/dist/src/commands/result.js.map +1 -1
  26. package/dist/src/commands/settings.d.ts +7 -2
  27. package/dist/src/commands/settings.js +134 -20
  28. package/dist/src/commands/settings.js.map +1 -1
  29. package/dist/src/commands/test.js +9 -13
  30. package/dist/src/commands/test.js.map +1 -1
  31. package/dist/src/commands/tests.d.ts +2 -2
  32. package/dist/src/commands/tests.js +19 -7
  33. package/dist/src/commands/tests.js.map +1 -1
  34. package/dist/src/errors.js +10 -0
  35. package/dist/src/errors.js.map +1 -1
  36. package/dist/src/report.d.ts +22 -1
  37. package/dist/src/report.js +40 -0
  38. package/dist/src/report.js.map +1 -1
  39. package/dist/src/scheme.d.ts +34 -0
  40. package/dist/src/scheme.js +46 -0
  41. package/dist/src/scheme.js.map +1 -1
  42. package/dist/src/surface.d.ts +7 -0
  43. package/dist/src/surface.js +43 -166
  44. package/dist/src/surface.js.map +1 -1
  45. package/dist/src/xcresult.d.ts +156 -0
  46. package/dist/src/xcresult.js +107 -4
  47. package/dist/src/xcresult.js.map +1 -1
  48. package/package.json +1 -1
@@ -19,17 +19,46 @@ export declare function readArchiveInfo(archivePath: string): Promise<ArchiveInf
19
19
  /** The `method` values Xcode 27 accepts in an export options plist. */
20
20
  export declare const EXPORT_METHODS: readonly ["app-store-connect", "release-testing", "enterprise", "debugging", "developer-id", "mac-application", "validation"];
21
21
  /**
22
- * Build a minimal export options plist.
22
+ * The names Xcode 26 and earlier used, which every existing pipeline and every
23
+ * answer written before Xcode 27 still says. xcodebuild itself still accepts
24
+ * them, so refusing them here would be this tool being stricter than the thing
25
+ * it wraps.
26
+ */
27
+ export declare const EXPORT_METHOD_ALIASES: Record<string, string>;
28
+ /**
29
+ * Every key `-exportOptionsPlist` accepts, and what it is for.
23
30
  *
24
- * `-exportArchive` requires one, and authoring XML by hand is exactly the kind
25
- * of unguessable side quest an agent fails at. Given a method (and optionally
26
- * a team), the plist is derivable, so derive it.
31
+ * The plist is the whole configuration surface of `-exportArchive`. A key with
32
+ * no flag in front of it is a key that sends the agent back to authoring XML,
33
+ * which is the side quest this file exists to remove.
27
34
  */
28
- export declare function exportOptionsPlist(options: {
35
+ export interface ExportOptions {
29
36
  method: string;
30
37
  destination?: string;
31
38
  teamID?: string;
32
39
  signingStyle?: string;
40
+ signingCertificate?: string;
41
+ installerSigningCertificate?: string;
42
+ /** Bundle identifier -> profile name or UUID, for manual signing. */
43
+ provisioningProfiles?: Record<string, string>;
44
+ distributionBundleIdentifier?: string;
33
45
  uploadSymbols?: boolean;
46
+ stripSwiftSymbols?: boolean;
34
47
  manageAppVersionAndBuildNumber?: boolean;
35
- }): string;
48
+ testFlightInternalTestingOnly?: boolean;
49
+ generateAppStoreInformation?: boolean;
50
+ iCloudContainerEnvironment?: string;
51
+ thinning?: string;
52
+ /** appURL, displayImageURL and fullSizeImageURL, for web distribution. */
53
+ manifest?: Record<string, string>;
54
+ embedOnDemandResourcesAssetPacksInBundle?: boolean;
55
+ onDemandResourcesAssetPacksBaseURL?: string;
56
+ }
57
+ /**
58
+ * Build an export options plist.
59
+ *
60
+ * `-exportArchive` requires one, and authoring XML by hand is exactly the kind
61
+ * of unguessable side quest an agent fails at. Given a method (and whatever
62
+ * else was asked for), the plist is derivable, so derive it.
63
+ */
64
+ export declare function exportOptionsPlist(options: ExportOptions): string;
@@ -46,31 +46,52 @@ export const EXPORT_METHODS = [
46
46
  "validation",
47
47
  ];
48
48
  /**
49
- * Build a minimal export options plist.
49
+ * The names Xcode 26 and earlier used, which every existing pipeline and every
50
+ * answer written before Xcode 27 still says. xcodebuild itself still accepts
51
+ * them, so refusing them here would be this tool being stricter than the thing
52
+ * it wraps.
53
+ */
54
+ export const EXPORT_METHOD_ALIASES = {
55
+ "app-store": "app-store-connect",
56
+ "ad-hoc": "release-testing",
57
+ development: "debugging",
58
+ };
59
+ /**
60
+ * The order keys are written in. Xcode does not care, but a generated file a
61
+ * human may end up reading should group signing with signing.
62
+ */
63
+ const EXPORT_OPTION_ORDER = [
64
+ "method",
65
+ "destination",
66
+ "teamID",
67
+ "signingStyle",
68
+ "signingCertificate",
69
+ "installerSigningCertificate",
70
+ "provisioningProfiles",
71
+ "distributionBundleIdentifier",
72
+ "uploadSymbols",
73
+ "stripSwiftSymbols",
74
+ "manageAppVersionAndBuildNumber",
75
+ "testFlightInternalTestingOnly",
76
+ "generateAppStoreInformation",
77
+ "iCloudContainerEnvironment",
78
+ "thinning",
79
+ "manifest",
80
+ "embedOnDemandResourcesAssetPacksInBundle",
81
+ "onDemandResourcesAssetPacksBaseURL",
82
+ ];
83
+ /**
84
+ * Build an export options plist.
50
85
  *
51
86
  * `-exportArchive` requires one, and authoring XML by hand is exactly the kind
52
- * of unguessable side quest an agent fails at. Given a method (and optionally
53
- * a team), the plist is derivable, so derive it.
87
+ * of unguessable side quest an agent fails at. Given a method (and whatever
88
+ * else was asked for), the plist is derivable, so derive it.
54
89
  */
55
90
  export function exportOptionsPlist(options) {
56
- const entries = [
57
- ` <key>method</key>\n <string>${options.method}</string>`,
58
- ];
59
- if (options.destination) {
60
- entries.push(` <key>destination</key>\n <string>${options.destination}</string>`);
61
- }
62
- if (options.teamID) {
63
- entries.push(` <key>teamID</key>\n <string>${options.teamID}</string>`);
64
- }
65
- if (options.signingStyle) {
66
- entries.push(` <key>signingStyle</key>\n <string>${options.signingStyle}</string>`);
67
- }
68
- if (options.uploadSymbols !== undefined) {
69
- entries.push(` <key>uploadSymbols</key>\n <${options.uploadSymbols}/>`);
70
- }
71
- if (options.manageAppVersionAndBuildNumber !== undefined) {
72
- entries.push(` <key>manageAppVersionAndBuildNumber</key>\n <${options.manageAppVersionAndBuildNumber}/>`);
73
- }
91
+ const entries = EXPORT_OPTION_ORDER.flatMap((key) => {
92
+ const value = options[key];
93
+ return value === undefined ? [] : [` <key>${key}</key>\n${render(value)}`];
94
+ });
74
95
  return `<?xml version="1.0" encoding="UTF-8"?>
75
96
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
76
97
  <plist version="1.0">
@@ -80,4 +101,25 @@ ${entries.join("\n")}
80
101
  </plist>
81
102
  `;
82
103
  }
104
+ function render(value) {
105
+ if (typeof value === "boolean")
106
+ return ` <${value}/>`;
107
+ if (typeof value === "string")
108
+ return ` <string>${escapeXml(value)}</string>`;
109
+ const inner = Object.entries(value)
110
+ .map(([key, entry]) => ` <key>${escapeXml(key)}</key>\n <string>${escapeXml(entry)}</string>`)
111
+ .join("\n");
112
+ return ` <dict>\n${inner}\n </dict>`;
113
+ }
114
+ /**
115
+ * A manifest URL with a query string carries `&`, and an unescaped one makes
116
+ * the plist unparseable -- which xcodebuild reports as a failed export rather
117
+ * than as a bad file.
118
+ */
119
+ function escapeXml(value) {
120
+ return value
121
+ .replace(/&/g, "&amp;")
122
+ .replace(/</g, "&lt;")
123
+ .replace(/>/g, "&gt;");
124
+ }
83
125
  //# sourceMappingURL=archive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/archive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../src/archive.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ export async function archiveCommand(args) {
42
42
  command: "archive",
43
43
  });
44
44
  const archivePath = getFlag(args, "--archive-path") ??
45
- join(artifactDir(context.project), `${context.scheme}.xcarchive`);
45
+ join(artifactDir(context.project), `${context.subject.slug}.xcarchive`);
46
46
  const run = await runAction({
47
47
  context,
48
48
  command: "archive",
@@ -1 +1 @@
1
- {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../src/commands/archive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archive.js","sourceRoot":"","sources":["../../../src/commands/archive.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export declare const CLEAN_HELP = "usage: xcodebuild-axi clean [flags]\nRemoves a scheme's build products and intermediates.\nflags[3]:\n --scheme <name> scheme to clean (required only when the project has more than one)\n --configuration <name> configuration to clean (default: the scheme's own)\n --derived-data <path> derived data directory to clean within\nexamples:\n xcodebuild-axi clean\n xcodebuild-axi clean --scheme MyApp --configuration Release\n";
2
- export declare const CLEAN_FLAGS: readonly ["--scheme", "--configuration", "--derived-data"];
1
+ export declare const CLEAN_HELP = "usage: xcodebuild-axi clean [flags]\nRemoves a scheme's build products and intermediates.\nflags[14]:\n --scheme <name> scheme to clean (required only when the project has more than one)\n --target <name> clean a target instead of a scheme; repeatable (project only)\n --all-targets clean every target in the project (project only)\n --configuration <name> configuration to clean (default: the scheme's own)\n --destination <spec> raw xcodebuild destination specifier, passed through untouched\n --device <name> clean the products for this simulator or device by name\n --destination-timeout <secs> how long to wait for the destination device\n --sdk <name> base SDK whose products to clean, e.g. iphonesimulator\n --arch <arch> architecture to clean; repeatable or comma-separated\n --toolchain <name> toolchain identifier or name\n --xcconfig <path> apply build settings from this file as overrides\n --derived-data <path> derived data directory to clean within\n --artifacts-dir <path> where to write this run's log and .xcresult (default: the tool's cache)\n --log-level <level> quiet, normal, or verbose \u2014 how much lands in the log file\nnote:\n A clean is scoped by the same things a build is. Without a destination or an\n --sdk it cleans the products for xcodebuild's default, which is not what a\n simulator build wrote -- so \"cleaned\" and \"still there\" are both true answers\n to different questions.\nexamples:\n xcodebuild-axi clean\n xcodebuild-axi clean --scheme MyApp --configuration Release\n xcodebuild-axi clean --all-targets --derived-data build/dd\n";
2
+ export declare const CLEAN_FLAGS: readonly ["--scheme", "--target", "--all-targets", "--configuration", "--destination", "--device", "--destination-timeout", "--sdk", "--arch", "--toolchain", "--xcconfig", "--derived-data", "--artifacts-dir", "--log-level"];
3
3
  export declare function cleanCommand(args: string[]): Promise<string>;
@@ -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[3]:
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, 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;;;;;;;;;CASzB,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU;IACV,iBAAiB;IACjB,gBAAgB;CACR,CAAC;AAEX,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAc;IAC/C,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAE5D,iEAAiE;IACjE,wEAAwE;IACxE,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
+ {"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,9 +1,9 @@
1
- import { exportOptionsPlist } from "../archive.js";
1
+ import { type ExportOptions } from "../archive.js";
2
2
  export declare const EXPORT_HELP: string;
3
- export declare const EXPORT_FLAGS: readonly ["--method", "--team", "--options", "--output", "--artifacts-dir", "--upload", "--no-manage-version", "--no-upload-symbols", "--notarized", "--allow-provisioning", "--signing-style", "--auth-key-path", "--auth-key-id", "--auth-key-issuer", "--allow-device-registration"];
4
- export declare const EXPORT_VALUE_FLAGS: readonly ["--method", "--team", "--options", "--output", "--artifacts-dir", "--signing-style", "--auth-key-path", "--auth-key-id", "--auth-key-issuer"];
3
+ export declare const EXPORT_FLAGS: readonly ["--method", "--team", "--options", "--output", "--artifacts-dir", "--upload", "--no-manage-version", "--no-upload-symbols", "--notarized", "--allow-provisioning", "--signing-style", "--profile", "--certificate", "--installer-certificate", "--distribution-bundle-id", "--keep-swift-symbols", "--internal-only", "--app-store-info", "--icloud-env", "--thinning", "--manifest", "--odr-base-url", "--no-embed-odr", "--auth-key-path", "--auth-key-id", "--auth-key-issuer", "--allow-device-registration"];
4
+ export declare const EXPORT_VALUE_FLAGS: readonly ["--method", "--team", "--options", "--output", "--artifacts-dir", "--signing-style", "--profile", "--certificate", "--installer-certificate", "--distribution-bundle-id", "--icloud-env", "--thinning", "--manifest", "--odr-base-url", "--auth-key-path", "--auth-key-id", "--auth-key-issuer"];
5
5
  export declare function exportCommand(args: string[]): Promise<string>;
6
- export declare function generatedPlistOptions(args: string[], method: string): Parameters<typeof exportOptionsPlist>[0];
6
+ export declare function generatedPlistOptions(args: string[], method: string): ExportOptions;
7
7
  /**
8
8
  * Does this plist upload rather than write a product?
9
9
  *
@@ -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[15]:
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 method = getFlag(args, "--method");
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 (uploading && optionsPath !== undefined) {
94
- throw new AxiError("--upload has nothing to write to when --options supplies the plist", "VALIDATION_ERROR", [
95
- "add `<key>destination</key><string>upload</string>` to your own plist",
96
- "or drop --options and let --method write one",
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 signingStyle = getFlag(args, "--signing-style");
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]:\n --sdks list every installed SDK\n --platform <name> filter the SDK list, e.g. iphoneos\nexamples:\n xcodebuild-axi info\n xcodebuild-axi info --sdks --platform iphonesimulator\n";
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>;