@invarn/cibuild 2.9.6 → 2.9.8

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 (559) hide show
  1. package/dist/chunk-35SI42CD.mjs +1 -0
  2. package/dist/chunk-IC45KVLJ.mjs +1 -0
  3. package/dist/chunk-XDY4V23V.mjs +1 -0
  4. package/dist/cli.cjs +14 -14
  5. package/dist/commands.mjs +1 -0
  6. package/dist/lib.mjs +3934 -0
  7. package/package.json +6 -10
  8. package/dist/src/cli.d.ts +0 -3
  9. package/dist/src/cli.d.ts.map +0 -1
  10. package/dist/src/cli.js +0 -399
  11. package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.d.ts +0 -38
  12. package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.d.ts.map +0 -1
  13. package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.js +0 -222
  14. package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.d.ts +0 -41
  15. package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.d.ts.map +0 -1
  16. package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.js +0 -324
  17. package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.d.ts +0 -2
  18. package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.d.ts.map +0 -1
  19. package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.js +0 -382
  20. package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.d.ts +0 -29
  21. package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.d.ts.map +0 -1
  22. package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.js +0 -160
  23. package/dist/src/commands/android-gms-guard.test.d.ts +0 -9
  24. package/dist/src/commands/android-gms-guard.test.d.ts.map +0 -1
  25. package/dist/src/commands/android-gms-guard.test.js +0 -78
  26. package/dist/src/commands/android-java-version.test.d.ts +0 -12
  27. package/dist/src/commands/android-java-version.test.d.ts.map +0 -1
  28. package/dist/src/commands/android-java-version.test.js +0 -209
  29. package/dist/src/commands/android-scanner-java.test.d.ts +0 -2
  30. package/dist/src/commands/android-scanner-java.test.d.ts.map +0 -1
  31. package/dist/src/commands/android-scanner-java.test.js +0 -130
  32. package/dist/src/commands/android-scanner.d.ts +0 -250
  33. package/dist/src/commands/android-scanner.d.ts.map +0 -1
  34. package/dist/src/commands/android-scanner.js +0 -1639
  35. package/dist/src/commands/build.d.ts +0 -215
  36. package/dist/src/commands/build.d.ts.map +0 -1
  37. package/dist/src/commands/build.js +0 -1433
  38. package/dist/src/commands/build.test.d.ts +0 -13
  39. package/dist/src/commands/build.test.d.ts.map +0 -1
  40. package/dist/src/commands/build.test.js +0 -121
  41. package/dist/src/commands/detect-platform.d.ts +0 -13
  42. package/dist/src/commands/detect-platform.d.ts.map +0 -1
  43. package/dist/src/commands/detect-platform.js +0 -51
  44. package/dist/src/commands/detect-project.d.ts +0 -7
  45. package/dist/src/commands/detect-project.d.ts.map +0 -1
  46. package/dist/src/commands/detect-project.js +0 -12
  47. package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.d.ts +0 -26
  48. package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.d.ts.map +0 -1
  49. package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.js +0 -196
  50. package/dist/src/commands/edit.d.ts +0 -12
  51. package/dist/src/commands/edit.d.ts.map +0 -1
  52. package/dist/src/commands/edit.js +0 -652
  53. package/dist/src/commands/edit.test.d.ts +0 -6
  54. package/dist/src/commands/edit.test.d.ts.map +0 -1
  55. package/dist/src/commands/edit.test.js +0 -45
  56. package/dist/src/commands/fidelity-trim.d.ts +0 -13
  57. package/dist/src/commands/fidelity-trim.d.ts.map +0 -1
  58. package/dist/src/commands/fidelity-trim.js +0 -21
  59. package/dist/src/commands/fidelity-trim.test.d.ts +0 -8
  60. package/dist/src/commands/fidelity-trim.test.d.ts.map +0 -1
  61. package/dist/src/commands/fidelity-trim.test.js +0 -79
  62. package/dist/src/commands/file-secret-collector.d.ts +0 -50
  63. package/dist/src/commands/file-secret-collector.d.ts.map +0 -1
  64. package/dist/src/commands/file-secret-collector.js +0 -217
  65. package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.d.ts +0 -38
  66. package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.d.ts.map +0 -1
  67. package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.js +0 -300
  68. package/dist/src/commands/github-workflow.d.ts +0 -5
  69. package/dist/src/commands/github-workflow.d.ts.map +0 -1
  70. package/dist/src/commands/github-workflow.js +0 -45
  71. package/dist/src/commands/index.d.ts +0 -33
  72. package/dist/src/commands/index.d.ts.map +0 -1
  73. package/dist/src/commands/index.js +0 -33
  74. package/dist/src/commands/init.d.ts +0 -20
  75. package/dist/src/commands/init.d.ts.map +0 -1
  76. package/dist/src/commands/init.js +0 -264
  77. package/dist/src/commands/ios-scanner.d.ts +0 -104
  78. package/dist/src/commands/ios-scanner.d.ts.map +0 -1
  79. package/dist/src/commands/ios-scanner.js +0 -492
  80. package/dist/src/commands/ios-scheme-ranking.test.d.ts +0 -2
  81. package/dist/src/commands/ios-scheme-ranking.test.d.ts.map +0 -1
  82. package/dist/src/commands/ios-scheme-ranking.test.js +0 -264
  83. package/dist/src/commands/local-properties-reaches-every-workflow.test.d.ts +0 -30
  84. package/dist/src/commands/local-properties-reaches-every-workflow.test.d.ts.map +0 -1
  85. package/dist/src/commands/local-properties-reaches-every-workflow.test.js +0 -146
  86. package/dist/src/commands/reset.d.ts +0 -7
  87. package/dist/src/commands/reset.d.ts.map +0 -1
  88. package/dist/src/commands/reset.js +0 -81
  89. package/dist/src/commands/run.d.ts +0 -22
  90. package/dist/src/commands/run.d.ts.map +0 -1
  91. package/dist/src/commands/run.js +0 -141
  92. package/dist/src/commands/secrets-sync-workflow.d.ts +0 -15
  93. package/dist/src/commands/secrets-sync-workflow.d.ts.map +0 -1
  94. package/dist/src/commands/secrets-sync-workflow.js +0 -255
  95. package/dist/src/commands/secrets-upload.d.ts +0 -21
  96. package/dist/src/commands/secrets-upload.d.ts.map +0 -1
  97. package/dist/src/commands/secrets-upload.js +0 -177
  98. package/dist/src/commands/secrets-upload.test.d.ts +0 -5
  99. package/dist/src/commands/secrets-upload.test.d.ts.map +0 -1
  100. package/dist/src/commands/secrets-upload.test.js +0 -60
  101. package/dist/src/commands/validate.d.ts +0 -10
  102. package/dist/src/commands/validate.d.ts.map +0 -1
  103. package/dist/src/commands/validate.js +0 -46
  104. package/dist/src/config.d.ts +0 -3
  105. package/dist/src/config.d.ts.map +0 -1
  106. package/dist/src/config.js +0 -47
  107. package/dist/src/envman/cli.d.ts +0 -21
  108. package/dist/src/envman/cli.d.ts.map +0 -1
  109. package/dist/src/envman/cli.js +0 -240
  110. package/dist/src/envman/envman.d.ts +0 -83
  111. package/dist/src/envman/envman.d.ts.map +0 -1
  112. package/dist/src/envman/envman.js +0 -361
  113. package/dist/src/envman/envman.test.d.ts +0 -5
  114. package/dist/src/envman/envman.test.d.ts.map +0 -1
  115. package/dist/src/envman/envman.test.js +0 -236
  116. package/dist/src/envman/envstore-round-trip.test.d.ts +0 -27
  117. package/dist/src/envman/envstore-round-trip.test.d.ts.map +0 -1
  118. package/dist/src/envman/envstore-round-trip.test.js +0 -130
  119. package/dist/src/envman/index.d.ts +0 -23
  120. package/dist/src/envman/index.d.ts.map +0 -1
  121. package/dist/src/envman/index.js +0 -23
  122. package/dist/src/envman/shim.d.ts +0 -16
  123. package/dist/src/envman/shim.d.ts.map +0 -1
  124. package/dist/src/envman/shim.js +0 -66
  125. package/dist/src/envman/types.d.ts +0 -55
  126. package/dist/src/envman/types.d.ts.map +0 -1
  127. package/dist/src/envman/types.js +0 -12
  128. package/dist/src/lib.d.ts +0 -33
  129. package/dist/src/lib.d.ts.map +0 -1
  130. package/dist/src/lib.js +0 -37
  131. package/dist/src/pipeline.d.ts +0 -3
  132. package/dist/src/pipeline.d.ts.map +0 -1
  133. package/dist/src/pipeline.js +0 -57
  134. package/dist/src/runner-node-step.test.d.ts +0 -12
  135. package/dist/src/runner-node-step.test.d.ts.map +0 -1
  136. package/dist/src/runner-node-step.test.js +0 -61
  137. package/dist/src/runner.d.ts +0 -31
  138. package/dist/src/runner.d.ts.map +0 -1
  139. package/dist/src/runner.js +0 -240
  140. package/dist/src/shared/detect-project.d.ts +0 -57
  141. package/dist/src/shared/detect-project.d.ts.map +0 -1
  142. package/dist/src/shared/detect-project.js +0 -219
  143. package/dist/src/shared/detect-project.test.d.ts +0 -2
  144. package/dist/src/shared/detect-project.test.d.ts.map +0 -1
  145. package/dist/src/shared/detect-project.test.js +0 -161
  146. package/dist/src/shared/git.d.ts +0 -25
  147. package/dist/src/shared/git.d.ts.map +0 -1
  148. package/dist/src/shared/git.js +0 -53
  149. package/dist/src/shared/git.test.d.ts +0 -9
  150. package/dist/src/shared/git.test.d.ts.map +0 -1
  151. package/dist/src/shared/git.test.js +0 -66
  152. package/dist/src/shared/gitignore.d.ts +0 -6
  153. package/dist/src/shared/gitignore.d.ts.map +0 -1
  154. package/dist/src/shared/gitignore.js +0 -26
  155. package/dist/src/shared/gradle-settings.d.ts +0 -49
  156. package/dist/src/shared/gradle-settings.d.ts.map +0 -1
  157. package/dist/src/shared/gradle-settings.js +0 -138
  158. package/dist/src/shared/gradle-settings.test.d.ts +0 -2
  159. package/dist/src/shared/gradle-settings.test.d.ts.map +0 -1
  160. package/dist/src/shared/gradle-settings.test.js +0 -65
  161. package/dist/src/shared/prompts.d.ts +0 -30
  162. package/dist/src/shared/prompts.d.ts.map +0 -1
  163. package/dist/src/shared/prompts.js +0 -121
  164. package/dist/src/shared/xcode-container.test.d.ts +0 -2
  165. package/dist/src/shared/xcode-container.test.d.ts.map +0 -1
  166. package/dist/src/shared/xcode-container.test.js +0 -123
  167. package/dist/src/step-marker.d.ts +0 -12
  168. package/dist/src/step-marker.d.ts.map +0 -1
  169. package/dist/src/step-marker.js +0 -29
  170. package/dist/src/step-marker.test.d.ts +0 -11
  171. package/dist/src/step-marker.test.d.ts.map +0 -1
  172. package/dist/src/step-marker.test.js +0 -45
  173. package/dist/src/types.d.ts +0 -58
  174. package/dist/src/types.d.ts.map +0 -1
  175. package/dist/src/types.js +0 -2
  176. package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.d.ts +0 -28
  177. package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.d.ts.map +0 -1
  178. package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.js +0 -223
  179. package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.d.ts +0 -20
  180. package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.d.ts.map +0 -1
  181. package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.js +0 -201
  182. package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.d.ts +0 -37
  183. package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.d.ts.map +0 -1
  184. package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.js +0 -255
  185. package/dist/src/yaml/a-missing-credential-is-loud.test.d.ts +0 -32
  186. package/dist/src/yaml/a-missing-credential-is-loud.test.d.ts.map +0 -1
  187. package/dist/src/yaml/a-missing-credential-is-loud.test.js +0 -301
  188. package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.d.ts +0 -18
  189. package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.d.ts.map +0 -1
  190. package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.js +0 -66
  191. package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.d.ts +0 -34
  192. package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.d.ts.map +0 -1
  193. package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.js +0 -218
  194. package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.d.ts +0 -27
  195. package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.d.ts.map +0 -1
  196. package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.js +0 -126
  197. package/dist/src/yaml/bitrise-compat.d.ts +0 -65
  198. package/dist/src/yaml/bitrise-compat.d.ts.map +0 -1
  199. package/dist/src/yaml/bitrise-compat.js +0 -206
  200. package/dist/src/yaml/bitrise-compat.test.d.ts +0 -5
  201. package/dist/src/yaml/bitrise-compat.test.d.ts.map +0 -1
  202. package/dist/src/yaml/bitrise-compat.test.js +0 -347
  203. package/dist/src/yaml/cache-key-missing-file.test.d.ts +0 -12
  204. package/dist/src/yaml/cache-key-missing-file.test.d.ts.map +0 -1
  205. package/dist/src/yaml/cache-key-missing-file.test.js +0 -116
  206. package/dist/src/yaml/converter.d.ts +0 -103
  207. package/dist/src/yaml/converter.d.ts.map +0 -1
  208. package/dist/src/yaml/converter.js +0 -420
  209. package/dist/src/yaml/converter.test.d.ts +0 -5
  210. package/dist/src/yaml/converter.test.d.ts.map +0 -1
  211. package/dist/src/yaml/converter.test.js +0 -548
  212. package/dist/src/yaml/e2e.test.d.ts +0 -6
  213. package/dist/src/yaml/e2e.test.d.ts.map +0 -1
  214. package/dist/src/yaml/e2e.test.js +0 -446
  215. package/dist/src/yaml/env-resolver.d.ts +0 -218
  216. package/dist/src/yaml/env-resolver.d.ts.map +0 -1
  217. package/dist/src/yaml/env-resolver.js +0 -591
  218. package/dist/src/yaml/env-resolver.test.d.ts +0 -5
  219. package/dist/src/yaml/env-resolver.test.d.ts.map +0 -1
  220. package/dist/src/yaml/env-resolver.test.js +0 -502
  221. package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.d.ts +0 -16
  222. package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.d.ts.map +0 -1
  223. package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.js +0 -126
  224. package/dist/src/yaml/fidelity-input-digest.d.ts +0 -37
  225. package/dist/src/yaml/fidelity-input-digest.d.ts.map +0 -1
  226. package/dist/src/yaml/fidelity-input-digest.js +0 -208
  227. package/dist/src/yaml/fidelity-input-digest.test.d.ts +0 -2
  228. package/dist/src/yaml/fidelity-input-digest.test.d.ts.map +0 -1
  229. package/dist/src/yaml/fidelity-input-digest.test.js +0 -167
  230. package/dist/src/yaml/fidelity-manifest.d.ts +0 -126
  231. package/dist/src/yaml/fidelity-manifest.d.ts.map +0 -1
  232. package/dist/src/yaml/fidelity-manifest.js +0 -134
  233. package/dist/src/yaml/fidelity-manifest.test.d.ts +0 -12
  234. package/dist/src/yaml/fidelity-manifest.test.d.ts.map +0 -1
  235. package/dist/src/yaml/fidelity-manifest.test.js +0 -251
  236. package/dist/src/yaml/interactive-prompts.d.ts +0 -71
  237. package/dist/src/yaml/interactive-prompts.d.ts.map +0 -1
  238. package/dist/src/yaml/interactive-prompts.js +0 -260
  239. package/dist/src/yaml/meta-helpers.d.ts +0 -28
  240. package/dist/src/yaml/meta-helpers.d.ts.map +0 -1
  241. package/dist/src/yaml/meta-helpers.js +0 -46
  242. package/dist/src/yaml/missing-env-handler.d.ts +0 -45
  243. package/dist/src/yaml/missing-env-handler.d.ts.map +0 -1
  244. package/dist/src/yaml/missing-env-handler.js +0 -64
  245. package/dist/src/yaml/parser.d.ts +0 -33
  246. package/dist/src/yaml/parser.d.ts.map +0 -1
  247. package/dist/src/yaml/parser.js +0 -148
  248. package/dist/src/yaml/parser.test.d.ts +0 -5
  249. package/dist/src/yaml/parser.test.d.ts.map +0 -1
  250. package/dist/src/yaml/parser.test.js +0 -83
  251. package/dist/src/yaml/pipeline-with-secrets.d.ts +0 -25
  252. package/dist/src/yaml/pipeline-with-secrets.d.ts.map +0 -1
  253. package/dist/src/yaml/pipeline-with-secrets.js +0 -76
  254. package/dist/src/yaml/platform-detector.d.ts +0 -83
  255. package/dist/src/yaml/platform-detector.d.ts.map +0 -1
  256. package/dist/src/yaml/platform-detector.js +0 -189
  257. package/dist/src/yaml/platform-detector.test.d.ts +0 -5
  258. package/dist/src/yaml/platform-detector.test.d.ts.map +0 -1
  259. package/dist/src/yaml/platform-detector.test.js +0 -525
  260. package/dist/src/yaml/preflight-validation.d.ts +0 -29
  261. package/dist/src/yaml/preflight-validation.d.ts.map +0 -1
  262. package/dist/src/yaml/preflight-validation.js +0 -21
  263. package/dist/src/yaml/secrets-manager.d.ts +0 -87
  264. package/dist/src/yaml/secrets-manager.d.ts.map +0 -1
  265. package/dist/src/yaml/secrets-manager.js +0 -230
  266. package/dist/src/yaml/shell-assignments.d.ts +0 -40
  267. package/dist/src/yaml/shell-assignments.d.ts.map +0 -1
  268. package/dist/src/yaml/shell-assignments.js +0 -77
  269. package/dist/src/yaml/step-validator-check-failure.test.d.ts +0 -24
  270. package/dist/src/yaml/step-validator-check-failure.test.d.ts.map +0 -1
  271. package/dist/src/yaml/step-validator-check-failure.test.js +0 -130
  272. package/dist/src/yaml/step-validator-self-assigned.test.d.ts +0 -23
  273. package/dist/src/yaml/step-validator-self-assigned.test.d.ts.map +0 -1
  274. package/dist/src/yaml/step-validator-self-assigned.test.js +0 -191
  275. package/dist/src/yaml/step-validator.d.ts +0 -67
  276. package/dist/src/yaml/step-validator.d.ts.map +0 -1
  277. package/dist/src/yaml/step-validator.js +0 -466
  278. package/dist/src/yaml/step-validator.test.d.ts +0 -18
  279. package/dist/src/yaml/step-validator.test.d.ts.map +0 -1
  280. package/dist/src/yaml/step-validator.test.js +0 -140
  281. package/dist/src/yaml/steps/a-missing-pinned-jdk-yields-for-every-gradle-run.test.d.ts +0 -2
  282. package/dist/src/yaml/steps/a-missing-pinned-jdk-yields-for-every-gradle-run.test.d.ts.map +0 -1
  283. package/dist/src/yaml/steps/a-missing-pinned-jdk-yields-for-every-gradle-run.test.js +0 -96
  284. package/dist/src/yaml/steps/android-sign.d.ts +0 -35
  285. package/dist/src/yaml/steps/android-sign.d.ts.map +0 -1
  286. package/dist/src/yaml/steps/android-sign.js +0 -147
  287. package/dist/src/yaml/steps/android-variant-resolution.test.d.ts +0 -2
  288. package/dist/src/yaml/steps/android-variant-resolution.test.d.ts.map +0 -1
  289. package/dist/src/yaml/steps/android-variant-resolution.test.js +0 -260
  290. package/dist/src/yaml/steps/android-version.d.ts +0 -26
  291. package/dist/src/yaml/steps/android-version.d.ts.map +0 -1
  292. package/dist/src/yaml/steps/android-version.js +0 -128
  293. package/dist/src/yaml/steps/android-version.test.d.ts +0 -5
  294. package/dist/src/yaml/steps/android-version.test.d.ts.map +0 -1
  295. package/dist/src/yaml/steps/android-version.test.js +0 -196
  296. package/dist/src/yaml/steps/android.d.ts +0 -156
  297. package/dist/src/yaml/steps/android.d.ts.map +0 -1
  298. package/dist/src/yaml/steps/android.js +0 -1100
  299. package/dist/src/yaml/steps/app-store-deploy.d.ts +0 -48
  300. package/dist/src/yaml/steps/app-store-deploy.d.ts.map +0 -1
  301. package/dist/src/yaml/steps/app-store-deploy.js +0 -167
  302. package/dist/src/yaml/steps/base.d.ts +0 -263
  303. package/dist/src/yaml/steps/base.d.ts.map +0 -1
  304. package/dist/src/yaml/steps/base.js +0 -380
  305. package/dist/src/yaml/steps/bitrise-android-tools.d.ts +0 -26
  306. package/dist/src/yaml/steps/bitrise-android-tools.d.ts.map +0 -1
  307. package/dist/src/yaml/steps/bitrise-android-tools.js +0 -200
  308. package/dist/src/yaml/steps/bitrise-android-tools.test.d.ts +0 -5
  309. package/dist/src/yaml/steps/bitrise-android-tools.test.d.ts.map +0 -1
  310. package/dist/src/yaml/steps/bitrise-android-tools.test.js +0 -280
  311. package/dist/src/yaml/steps/bitrise-apk-info.d.ts +0 -22
  312. package/dist/src/yaml/steps/bitrise-apk-info.d.ts.map +0 -1
  313. package/dist/src/yaml/steps/bitrise-apk-info.js +0 -144
  314. package/dist/src/yaml/steps/bitrise-apk-info.test.d.ts +0 -5
  315. package/dist/src/yaml/steps/bitrise-apk-info.test.d.ts.map +0 -1
  316. package/dist/src/yaml/steps/bitrise-apk-info.test.js +0 -331
  317. package/dist/src/yaml/steps/bitrise-slack.d.ts +0 -49
  318. package/dist/src/yaml/steps/bitrise-slack.d.ts.map +0 -1
  319. package/dist/src/yaml/steps/bitrise-slack.js +0 -280
  320. package/dist/src/yaml/steps/bitrise-slack.test.d.ts +0 -5
  321. package/dist/src/yaml/steps/bitrise-slack.test.d.ts.map +0 -1
  322. package/dist/src/yaml/steps/bitrise-slack.test.js +0 -484
  323. package/dist/src/yaml/steps/bitrise-ssh.d.ts +0 -27
  324. package/dist/src/yaml/steps/bitrise-ssh.d.ts.map +0 -1
  325. package/dist/src/yaml/steps/bitrise-ssh.js +0 -134
  326. package/dist/src/yaml/steps/bitrise-ssh.test.d.ts +0 -5
  327. package/dist/src/yaml/steps/bitrise-ssh.test.d.ts.map +0 -1
  328. package/dist/src/yaml/steps/bitrise-ssh.test.js +0 -205
  329. package/dist/src/yaml/steps/cache-pull-daemon.test.d.ts +0 -27
  330. package/dist/src/yaml/steps/cache-pull-daemon.test.d.ts.map +0 -1
  331. package/dist/src/yaml/steps/cache-pull-daemon.test.js +0 -212
  332. package/dist/src/yaml/steps/cache-pull-restore-roots.test.d.ts +0 -42
  333. package/dist/src/yaml/steps/cache-pull-restore-roots.test.d.ts.map +0 -1
  334. package/dist/src/yaml/steps/cache-pull-restore-roots.test.js +0 -209
  335. package/dist/src/yaml/steps/cache-push-daemon.test.d.ts +0 -27
  336. package/dist/src/yaml/steps/cache-push-daemon.test.d.ts.map +0 -1
  337. package/dist/src/yaml/steps/cache-push-daemon.test.js +0 -171
  338. package/dist/src/yaml/steps/cache.d.ts +0 -59
  339. package/dist/src/yaml/steps/cache.d.ts.map +0 -1
  340. package/dist/src/yaml/steps/cache.js +0 -1027
  341. package/dist/src/yaml/steps/capture-injection.d.ts +0 -30
  342. package/dist/src/yaml/steps/capture-injection.d.ts.map +0 -1
  343. package/dist/src/yaml/steps/capture-injection.js +0 -88
  344. package/dist/src/yaml/steps/capture-injection.test.d.ts +0 -2
  345. package/dist/src/yaml/steps/capture-injection.test.d.ts.map +0 -1
  346. package/dist/src/yaml/steps/capture-injection.test.js +0 -163
  347. package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts +0 -42
  348. package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts.map +0 -1
  349. package/dist/src/yaml/steps/cocoapods-deployment-floor.js +0 -140
  350. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts +0 -11
  351. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts.map +0 -1
  352. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.js +0 -176
  353. package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.d.ts +0 -22
  354. package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.d.ts.map +0 -1
  355. package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.js +0 -97
  356. package/dist/src/yaml/steps/cocoapods-locked-bundler.test.d.ts +0 -17
  357. package/dist/src/yaml/steps/cocoapods-locked-bundler.test.d.ts.map +0 -1
  358. package/dist/src/yaml/steps/cocoapods-locked-bundler.test.js +0 -282
  359. package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.d.ts +0 -17
  360. package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.d.ts.map +0 -1
  361. package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.js +0 -132
  362. package/dist/src/yaml/steps/envstore-loader.test.d.ts +0 -15
  363. package/dist/src/yaml/steps/envstore-loader.test.d.ts.map +0 -1
  364. package/dist/src/yaml/steps/envstore-loader.test.js +0 -143
  365. package/dist/src/yaml/steps/fastlane.d.ts +0 -27
  366. package/dist/src/yaml/steps/fastlane.d.ts.map +0 -1
  367. package/dist/src/yaml/steps/fastlane.js +0 -79
  368. package/dist/src/yaml/steps/fidelity-aspect-guard.d.ts +0 -53
  369. package/dist/src/yaml/steps/fidelity-aspect-guard.d.ts.map +0 -1
  370. package/dist/src/yaml/steps/fidelity-aspect-guard.js +0 -72
  371. package/dist/src/yaml/steps/fidelity-aspect-guard.test.d.ts +0 -11
  372. package/dist/src/yaml/steps/fidelity-aspect-guard.test.d.ts.map +0 -1
  373. package/dist/src/yaml/steps/fidelity-aspect-guard.test.js +0 -50
  374. package/dist/src/yaml/steps/fidelity-reference-provenance.d.ts +0 -87
  375. package/dist/src/yaml/steps/fidelity-reference-provenance.d.ts.map +0 -1
  376. package/dist/src/yaml/steps/fidelity-reference-provenance.js +0 -111
  377. package/dist/src/yaml/steps/fidelity-reference-provenance.test.d.ts +0 -22
  378. package/dist/src/yaml/steps/fidelity-reference-provenance.test.d.ts.map +0 -1
  379. package/dist/src/yaml/steps/fidelity-reference-provenance.test.js +0 -118
  380. package/dist/src/yaml/steps/file.d.ts +0 -52
  381. package/dist/src/yaml/steps/file.d.ts.map +0 -1
  382. package/dist/src/yaml/steps/file.js +0 -108
  383. package/dist/src/yaml/steps/flutter.d.ts +0 -63
  384. package/dist/src/yaml/steps/flutter.d.ts.map +0 -1
  385. package/dist/src/yaml/steps/flutter.js +0 -215
  386. package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.d.ts +0 -16
  387. package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.d.ts.map +0 -1
  388. package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.js +0 -127
  389. package/dist/src/yaml/steps/git-clone.d.ts +0 -32
  390. package/dist/src/yaml/steps/git-clone.d.ts.map +0 -1
  391. package/dist/src/yaml/steps/git-clone.js +0 -171
  392. package/dist/src/yaml/steps/git-fetch-retry-exec.test.d.ts +0 -10
  393. package/dist/src/yaml/steps/git-fetch-retry-exec.test.d.ts.map +0 -1
  394. package/dist/src/yaml/steps/git-fetch-retry-exec.test.js +0 -162
  395. package/dist/src/yaml/steps/git-fetch-retry.d.ts +0 -62
  396. package/dist/src/yaml/steps/git-fetch-retry.d.ts.map +0 -1
  397. package/dist/src/yaml/steps/git-fetch-retry.js +0 -155
  398. package/dist/src/yaml/steps/git-fetch-retry.test.d.ts +0 -5
  399. package/dist/src/yaml/steps/git-fetch-retry.test.d.ts.map +0 -1
  400. package/dist/src/yaml/steps/git-fetch-retry.test.js +0 -86
  401. package/dist/src/yaml/steps/google-play-deploy.d.ts +0 -37
  402. package/dist/src/yaml/steps/google-play-deploy.d.ts.map +0 -1
  403. package/dist/src/yaml/steps/google-play-deploy.js +0 -193
  404. package/dist/src/yaml/steps/google-play-deploy.test.d.ts +0 -5
  405. package/dist/src/yaml/steps/google-play-deploy.test.d.ts.map +0 -1
  406. package/dist/src/yaml/steps/google-play-deploy.test.js +0 -310
  407. package/dist/src/yaml/steps/gradle-memory.d.ts +0 -91
  408. package/dist/src/yaml/steps/gradle-memory.d.ts.map +0 -1
  409. package/dist/src/yaml/steps/gradle-memory.js +0 -495
  410. package/dist/src/yaml/steps/gradle-memory.test.d.ts +0 -2
  411. package/dist/src/yaml/steps/gradle-memory.test.d.ts.map +0 -1
  412. package/dist/src/yaml/steps/gradle-memory.test.js +0 -344
  413. package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts +0 -28
  414. package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts.map +0 -1
  415. package/dist/src/yaml/steps/gradle-sdk-cmake.js +0 -107
  416. package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts +0 -2
  417. package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts.map +0 -1
  418. package/dist/src/yaml/steps/gradle-sdk-cmake.test.js +0 -183
  419. package/dist/src/yaml/steps/index.d.ts +0 -10
  420. package/dist/src/yaml/steps/index.d.ts.map +0 -1
  421. package/dist/src/yaml/steps/index.js +0 -1461
  422. package/dist/src/yaml/steps/ios-deps.d.ts +0 -78
  423. package/dist/src/yaml/steps/ios-deps.d.ts.map +0 -1
  424. package/dist/src/yaml/steps/ios-deps.js +0 -279
  425. package/dist/src/yaml/steps/ios-deps.test.d.ts +0 -5
  426. package/dist/src/yaml/steps/ios-deps.test.d.ts.map +0 -1
  427. package/dist/src/yaml/steps/ios-deps.test.js +0 -90
  428. package/dist/src/yaml/steps/ios-signing.d.ts +0 -31
  429. package/dist/src/yaml/steps/ios-signing.d.ts.map +0 -1
  430. package/dist/src/yaml/steps/ios-signing.js +0 -144
  431. package/dist/src/yaml/steps/ios-version.d.ts +0 -47
  432. package/dist/src/yaml/steps/ios-version.d.ts.map +0 -1
  433. package/dist/src/yaml/steps/ios-version.js +0 -151
  434. package/dist/src/yaml/steps/java-home-version-spec.test.d.ts +0 -10
  435. package/dist/src/yaml/steps/java-home-version-spec.test.d.ts.map +0 -1
  436. package/dist/src/yaml/steps/java-home-version-spec.test.js +0 -58
  437. package/dist/src/yaml/steps/kotlin-metadata-compiles-on-a-daemon.test.d.ts +0 -2
  438. package/dist/src/yaml/steps/kotlin-metadata-compiles-on-a-daemon.test.d.ts.map +0 -1
  439. package/dist/src/yaml/steps/kotlin-metadata-compiles-on-a-daemon.test.js +0 -139
  440. package/dist/src/yaml/steps/linting.d.ts +0 -47
  441. package/dist/src/yaml/steps/linting.d.ts.map +0 -1
  442. package/dist/src/yaml/steps/linting.js +0 -148
  443. package/dist/src/yaml/steps/phase2.test.d.ts +0 -6
  444. package/dist/src/yaml/steps/phase2.test.d.ts.map +0 -1
  445. package/dist/src/yaml/steps/phase2.test.js +0 -197
  446. package/dist/src/yaml/steps/phase3.test.d.ts +0 -5
  447. package/dist/src/yaml/steps/phase3.test.d.ts.map +0 -1
  448. package/dist/src/yaml/steps/phase3.test.js +0 -144
  449. package/dist/src/yaml/steps/phase4.test.d.ts +0 -5
  450. package/dist/src/yaml/steps/phase4.test.d.ts.map +0 -1
  451. package/dist/src/yaml/steps/phase4.test.js +0 -166
  452. package/dist/src/yaml/steps/phase5.test.d.ts +0 -6
  453. package/dist/src/yaml/steps/phase5.test.d.ts.map +0 -1
  454. package/dist/src/yaml/steps/phase5.test.js +0 -263
  455. package/dist/src/yaml/steps/registry.d.ts +0 -88
  456. package/dist/src/yaml/steps/registry.d.ts.map +0 -1
  457. package/dist/src/yaml/steps/registry.js +0 -125
  458. package/dist/src/yaml/steps/registry.test.d.ts +0 -5
  459. package/dist/src/yaml/steps/registry.test.d.ts.map +0 -1
  460. package/dist/src/yaml/steps/registry.test.js +0 -235
  461. package/dist/src/yaml/steps/release.d.ts +0 -50
  462. package/dist/src/yaml/steps/release.d.ts.map +0 -1
  463. package/dist/src/yaml/steps/release.js +0 -154
  464. package/dist/src/yaml/steps/render-post-processor.d.ts +0 -100
  465. package/dist/src/yaml/steps/render-post-processor.d.ts.map +0 -1
  466. package/dist/src/yaml/steps/render-post-processor.js +0 -270
  467. package/dist/src/yaml/steps/render-post-processor.test.d.ts +0 -13
  468. package/dist/src/yaml/steps/render-post-processor.test.d.ts.map +0 -1
  469. package/dist/src/yaml/steps/render-post-processor.test.js +0 -220
  470. package/dist/src/yaml/steps/script.d.ts +0 -23
  471. package/dist/src/yaml/steps/script.d.ts.map +0 -1
  472. package/dist/src/yaml/steps/script.js +0 -63
  473. package/dist/src/yaml/steps/spec-validation.test.d.ts +0 -6
  474. package/dist/src/yaml/steps/spec-validation.test.d.ts.map +0 -1
  475. package/dist/src/yaml/steps/spec-validation.test.js +0 -130
  476. package/dist/src/yaml/steps/steps.test.d.ts +0 -6
  477. package/dist/src/yaml/steps/steps.test.d.ts.map +0 -1
  478. package/dist/src/yaml/steps/steps.test.js +0 -881
  479. package/dist/src/yaml/steps/structural-facts.d.ts +0 -992
  480. package/dist/src/yaml/steps/structural-facts.d.ts.map +0 -1
  481. package/dist/src/yaml/steps/structural-facts.js +0 -3276
  482. package/dist/src/yaml/steps/structural-facts.test.d.ts +0 -12
  483. package/dist/src/yaml/steps/structural-facts.test.d.ts.map +0 -1
  484. package/dist/src/yaml/steps/structural-facts.test.js +0 -3039
  485. package/dist/src/yaml/steps/test-config.d.ts +0 -5
  486. package/dist/src/yaml/steps/test-config.d.ts.map +0 -1
  487. package/dist/src/yaml/steps/test-config.js +0 -25
  488. package/dist/src/yaml/steps/trim-align-corpus.test.d.ts +0 -28
  489. package/dist/src/yaml/steps/trim-align-corpus.test.d.ts.map +0 -1
  490. package/dist/src/yaml/steps/trim-align-corpus.test.js +0 -383
  491. package/dist/src/yaml/steps/trim-align.d.ts +0 -87
  492. package/dist/src/yaml/steps/trim-align.d.ts.map +0 -1
  493. package/dist/src/yaml/steps/trim-align.js +0 -367
  494. package/dist/src/yaml/steps/trim-align.test.d.ts +0 -11
  495. package/dist/src/yaml/steps/trim-align.test.d.ts.map +0 -1
  496. package/dist/src/yaml/steps/trim-align.test.js +0 -261
  497. package/dist/src/yaml/steps/ui-fidelity-preview-android.d.ts +0 -66
  498. package/dist/src/yaml/steps/ui-fidelity-preview-android.d.ts.map +0 -1
  499. package/dist/src/yaml/steps/ui-fidelity-preview-android.js +0 -251
  500. package/dist/src/yaml/steps/ui-fidelity-preview-android.test.d.ts +0 -13
  501. package/dist/src/yaml/steps/ui-fidelity-preview-android.test.d.ts.map +0 -1
  502. package/dist/src/yaml/steps/ui-fidelity-preview-android.test.js +0 -302
  503. package/dist/src/yaml/steps/ui-fidelity-preview.d.ts +0 -134
  504. package/dist/src/yaml/steps/ui-fidelity-preview.d.ts.map +0 -1
  505. package/dist/src/yaml/steps/ui-fidelity-preview.js +0 -173
  506. package/dist/src/yaml/steps/ui-fidelity-preview.test.d.ts +0 -11
  507. package/dist/src/yaml/steps/ui-fidelity-preview.test.d.ts.map +0 -1
  508. package/dist/src/yaml/steps/ui-fidelity-preview.test.js +0 -210
  509. package/dist/src/yaml/steps/ui-fidelity-render-android.d.ts +0 -155
  510. package/dist/src/yaml/steps/ui-fidelity-render-android.d.ts.map +0 -1
  511. package/dist/src/yaml/steps/ui-fidelity-render-android.js +0 -1389
  512. package/dist/src/yaml/steps/ui-fidelity-render-android.test.d.ts +0 -2
  513. package/dist/src/yaml/steps/ui-fidelity-render-android.test.d.ts.map +0 -1
  514. package/dist/src/yaml/steps/ui-fidelity-render-android.test.js +0 -1106
  515. package/dist/src/yaml/steps/ui-fidelity-render.d.ts +0 -230
  516. package/dist/src/yaml/steps/ui-fidelity-render.d.ts.map +0 -1
  517. package/dist/src/yaml/steps/ui-fidelity-render.js +0 -1597
  518. package/dist/src/yaml/steps/ui-fidelity-render.test.d.ts +0 -18
  519. package/dist/src/yaml/steps/ui-fidelity-render.test.d.ts.map +0 -1
  520. package/dist/src/yaml/steps/ui-fidelity-render.test.js +0 -1871
  521. package/dist/src/yaml/steps/xcode-app-product.d.ts +0 -90
  522. package/dist/src/yaml/steps/xcode-app-product.d.ts.map +0 -1
  523. package/dist/src/yaml/steps/xcode-app-product.js +0 -247
  524. package/dist/src/yaml/steps/xcode-app-product.test.d.ts +0 -2
  525. package/dist/src/yaml/steps/xcode-app-product.test.d.ts.map +0 -1
  526. package/dist/src/yaml/steps/xcode-app-product.test.js +0 -202
  527. package/dist/src/yaml/steps/xcode-derived-data.test.d.ts +0 -30
  528. package/dist/src/yaml/steps/xcode-derived-data.test.d.ts.map +0 -1
  529. package/dist/src/yaml/steps/xcode-derived-data.test.js +0 -279
  530. package/dist/src/yaml/steps/xcode-destination.d.ts +0 -47
  531. package/dist/src/yaml/steps/xcode-destination.d.ts.map +0 -1
  532. package/dist/src/yaml/steps/xcode-destination.js +0 -202
  533. package/dist/src/yaml/steps/xcode-destination.test.d.ts +0 -9
  534. package/dist/src/yaml/steps/xcode-destination.test.d.ts.map +0 -1
  535. package/dist/src/yaml/steps/xcode-destination.test.js +0 -227
  536. package/dist/src/yaml/steps/xcode-new.test.d.ts +0 -5
  537. package/dist/src/yaml/steps/xcode-new.test.d.ts.map +0 -1
  538. package/dist/src/yaml/steps/xcode-new.test.js +0 -211
  539. package/dist/src/yaml/steps/xcode-resolve-retry.test.d.ts +0 -9
  540. package/dist/src/yaml/steps/xcode-resolve-retry.test.d.ts.map +0 -1
  541. package/dist/src/yaml/steps/xcode-resolve-retry.test.js +0 -146
  542. package/dist/src/yaml/steps/xcode-simulator-archs.d.ts +0 -53
  543. package/dist/src/yaml/steps/xcode-simulator-archs.d.ts.map +0 -1
  544. package/dist/src/yaml/steps/xcode-simulator-archs.js +0 -98
  545. package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts +0 -21
  546. package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts.map +0 -1
  547. package/dist/src/yaml/steps/xcode-simulator-archs.test.js +0 -155
  548. package/dist/src/yaml/steps/xcode.d.ts +0 -230
  549. package/dist/src/yaml/steps/xcode.d.ts.map +0 -1
  550. package/dist/src/yaml/steps/xcode.js +0 -1350
  551. package/dist/src/yaml/types.d.ts +0 -76
  552. package/dist/src/yaml/types.d.ts.map +0 -1
  553. package/dist/src/yaml/types.js +0 -5
  554. package/dist/src/yaml/validation-types.d.ts +0 -102
  555. package/dist/src/yaml/validation-types.d.ts.map +0 -1
  556. package/dist/src/yaml/validation-types.js +0 -8
  557. package/dist/src/yaml/yaml-updater.d.ts +0 -24
  558. package/dist/src/yaml/yaml-updater.d.ts.map +0 -1
  559. package/dist/src/yaml/yaml-updater.js +0 -128
@@ -1,90 +0,0 @@
1
- /**
2
- * Which built `.app` belongs to the scheme that was built.
3
- *
4
- * A simulator build leaves every application bundle its graph produced under
5
- * `DerivedData/Build/Products/<configuration>-<platform>/`, and a scheme that
6
- * builds a watchOS or tvOS companion alongside the app produces two. Taking
7
- * whichever one a directory scan reaches first is a coin toss, and it lands the
8
- * wrong way often enough to matter: a project whose scheme builds both an iOS
9
- * app and a watch companion exported the 588 KB watch bundle as the app under
10
- * test. The build was green, the artifact manifest was non-empty, and the
11
- * thing a user downloaded could not be installed on the device they built for.
12
- * That is worse than delivering nothing, because nothing is visibly wrong and
13
- * a plausible wrong answer is not.
14
- *
15
- * The scheme already knows. A shared `.xcscheme` lists its build entries with a
16
- * `BuildableName` whose extension IS the product type, and `buildForRunning`
17
- * separates what the scheme builds from what it merely references — a scheme
18
- * may list several `.app` entries it does not build, so "mentions an app" is
19
- * not the question and a check that asked it would pick just as badly.
20
- *
21
- * Where the scheme gives no answer this falls back rather than failing. A
22
- * project with no shared scheme at all is ordinary — plenty of them never
23
- * commit one — and those builds work. Absence of evidence is not evidence, so
24
- * the destination's own platform directory decides, and failing to resolve an
25
- * app is left to the caller's existing guard.
26
- *
27
- * The whole resolver runs on the machine that did the build, against the
28
- * products that build actually produced, so it needs nothing from the step
29
- * generator but the scheme name and the destination.
30
- */
31
- /** A built application bundle, as found under `Build/Products`. */
32
- export interface BuiltApp {
33
- /** The `<configuration>-<platform>` directory, or `''` directly under Products. */
34
- platform: string;
35
- /** The bundle's own name, e.g. `MyApp.app`. */
36
- name: string;
37
- /** Absolute path to the bundle. */
38
- path: string;
39
- }
40
- /**
41
- * The SDK suffix the Products directory carries for a given destination.
42
- *
43
- * `-destination 'generic/platform=iOS Simulator'` builds into
44
- * `Debug-iphonesimulator`; the watchOS and tvOS spellings are the ones that
45
- * matter here, because a companion target is exactly what produces the second
46
- * bundle this resolver exists to skip past.
47
- */
48
- export declare function platformSuffixForDestination(destination: string): string;
49
- /**
50
- * The application bundles a scheme's build action actually builds.
51
- *
52
- * `buildForRunning="NO"` entries are listed and not built. A scheme can carry
53
- * three `.app` entries that are API-compatibility testers in other containers
54
- * beside the one framework it really produces, so the attribute is the whole
55
- * filter rather than a refinement of one.
56
- *
57
- * Returns an empty list for a file that cannot be read or carries no build
58
- * action — no evidence, which the caller must not read as "builds no app".
59
- */
60
- export declare function runnableAppProducts(schemeXml: string | null): string[];
61
- /**
62
- * The bundle to export, given everything that was built and what the scheme
63
- * says it builds.
64
- *
65
- * In order: the scheme's own product on the destination's platform, the
66
- * scheme's own product anywhere, anything on the destination's platform,
67
- * anything at all. The last two are the no-shared-scheme path, and they are
68
- * what keeps a project that never committed a scheme building exactly as it
69
- * did before.
70
- */
71
- export declare function chooseAppProduct(apps: BuiltApp[], schemeProducts: string[], destination: string): BuiltApp | null;
72
- /**
73
- * The resolver as it runs on the build machine: dependency-free CommonJS,
74
- * written to a temp file and invoked with
75
- * `node <file> <productsDir> <projectPath> <scheme> <destination>`.
76
- *
77
- * It prints the chosen bundle's path and nothing else, and exits non-zero with
78
- * no output when it cannot choose — which is the signal for the caller's
79
- * existing scan to take over, so a machine without a usable node is no worse
80
- * off than before this existed.
81
- *
82
- * Kept as source text rather than bundled because the step ships a shell
83
- * script, not a module graph. The three functions above are the same rules in
84
- * testable form, and `xcode-app-product.test.ts` holds them to each other.
85
- *
86
- * Must contain no backtick and no dollar-brace: it is emitted into a bash
87
- * heredoc, and it is a TypeScript template literal on the way there.
88
- */
89
- export declare const APP_PRODUCT_RESOLVER_SOURCE: string;
90
- //# sourceMappingURL=xcode-app-product.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xcode-app-product.d.ts","sourceRoot":"","sources":["../../../../src/yaml/steps/xcode-app-product.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,mEAAmE;AACnE,MAAM,WAAW,QAAQ;IACvB,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAMxE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAatE;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,QAAQ,EAAE,EAChB,cAAc,EAAE,MAAM,EAAE,EACxB,WAAW,EAAE,MAAM,GAClB,QAAQ,GAAG,IAAI,CAOjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,2BAA2B,EAAE,MAqIzC,CAAC"}
@@ -1,247 +0,0 @@
1
- /**
2
- * Which built `.app` belongs to the scheme that was built.
3
- *
4
- * A simulator build leaves every application bundle its graph produced under
5
- * `DerivedData/Build/Products/<configuration>-<platform>/`, and a scheme that
6
- * builds a watchOS or tvOS companion alongside the app produces two. Taking
7
- * whichever one a directory scan reaches first is a coin toss, and it lands the
8
- * wrong way often enough to matter: a project whose scheme builds both an iOS
9
- * app and a watch companion exported the 588 KB watch bundle as the app under
10
- * test. The build was green, the artifact manifest was non-empty, and the
11
- * thing a user downloaded could not be installed on the device they built for.
12
- * That is worse than delivering nothing, because nothing is visibly wrong and
13
- * a plausible wrong answer is not.
14
- *
15
- * The scheme already knows. A shared `.xcscheme` lists its build entries with a
16
- * `BuildableName` whose extension IS the product type, and `buildForRunning`
17
- * separates what the scheme builds from what it merely references — a scheme
18
- * may list several `.app` entries it does not build, so "mentions an app" is
19
- * not the question and a check that asked it would pick just as badly.
20
- *
21
- * Where the scheme gives no answer this falls back rather than failing. A
22
- * project with no shared scheme at all is ordinary — plenty of them never
23
- * commit one — and those builds work. Absence of evidence is not evidence, so
24
- * the destination's own platform directory decides, and failing to resolve an
25
- * app is left to the caller's existing guard.
26
- *
27
- * The whole resolver runs on the machine that did the build, against the
28
- * products that build actually produced, so it needs nothing from the step
29
- * generator but the scheme name and the destination.
30
- */
31
- /**
32
- * The SDK suffix the Products directory carries for a given destination.
33
- *
34
- * `-destination 'generic/platform=iOS Simulator'` builds into
35
- * `Debug-iphonesimulator`; the watchOS and tvOS spellings are the ones that
36
- * matter here, because a companion target is exactly what produces the second
37
- * bundle this resolver exists to skip past.
38
- */
39
- export function platformSuffixForDestination(destination) {
40
- const d = String(destination ?? '').toLowerCase();
41
- if (d.includes('watchos'))
42
- return '-watchsimulator';
43
- if (d.includes('tvos'))
44
- return '-appletvsimulator';
45
- if (d.includes('visionos') || d.includes('xros'))
46
- return '-xrsimulator';
47
- return '-iphonesimulator';
48
- }
49
- /**
50
- * The application bundles a scheme's build action actually builds.
51
- *
52
- * `buildForRunning="NO"` entries are listed and not built. A scheme can carry
53
- * three `.app` entries that are API-compatibility testers in other containers
54
- * beside the one framework it really produces, so the attribute is the whole
55
- * filter rather than a refinement of one.
56
- *
57
- * Returns an empty list for a file that cannot be read or carries no build
58
- * action — no evidence, which the caller must not read as "builds no app".
59
- */
60
- export function runnableAppProducts(schemeXml) {
61
- if (!schemeXml)
62
- return [];
63
- const build = /<BuildAction\b[\s\S]*?<\/BuildAction>/.exec(schemeXml);
64
- if (!build)
65
- return [];
66
- const products = [];
67
- for (const entry of build[0].matchAll(/<BuildActionEntry\b([\s\S]*?)<\/BuildActionEntry>/g)) {
68
- const attrs = entry[1];
69
- if (!/buildForRunning\s*=\s*"YES"/.test(attrs))
70
- continue;
71
- for (const ref of attrs.matchAll(/BuildableName\s*=\s*"([^"]*)"/g)) {
72
- if (ref[1].endsWith('.app'))
73
- products.push(ref[1]);
74
- }
75
- }
76
- return products;
77
- }
78
- /**
79
- * The bundle to export, given everything that was built and what the scheme
80
- * says it builds.
81
- *
82
- * In order: the scheme's own product on the destination's platform, the
83
- * scheme's own product anywhere, anything on the destination's platform,
84
- * anything at all. The last two are the no-shared-scheme path, and they are
85
- * what keeps a project that never committed a scheme building exactly as it
86
- * did before.
87
- */
88
- export function chooseAppProduct(apps, schemeProducts, destination) {
89
- if (apps.length === 0)
90
- return null;
91
- const suffix = platformSuffixForDestination(destination);
92
- const onPlatform = apps.filter((a) => a.platform.endsWith(suffix));
93
- const named = (list) => list.find((a) => schemeProducts.includes(a.name)) ?? null;
94
- return named(onPlatform) ?? named(apps) ?? onPlatform[0] ?? apps[0] ?? null;
95
- }
96
- /**
97
- * The resolver as it runs on the build machine: dependency-free CommonJS,
98
- * written to a temp file and invoked with
99
- * `node <file> <productsDir> <projectPath> <scheme> <destination>`.
100
- *
101
- * It prints the chosen bundle's path and nothing else, and exits non-zero with
102
- * no output when it cannot choose — which is the signal for the caller's
103
- * existing scan to take over, so a machine without a usable node is no worse
104
- * off than before this existed.
105
- *
106
- * Kept as source text rather than bundled because the step ships a shell
107
- * script, not a module graph. The three functions above are the same rules in
108
- * testable form, and `xcode-app-product.test.ts` holds them to each other.
109
- *
110
- * Must contain no backtick and no dollar-brace: it is emitted into a bash
111
- * heredoc, and it is a TypeScript template literal on the way there.
112
- */
113
- export const APP_PRODUCT_RESOLVER_SOURCE = String.raw `
114
- var fs = require('fs');
115
- var path = require('path');
116
-
117
- var productsDir = process.argv[2];
118
- var projectPath = process.argv[3] || '';
119
- var scheme = process.argv[4] || '';
120
- var destination = process.argv[5] || '';
121
-
122
- // Every .app under Products, both directly and one platform directory down,
123
- // which is where -derivedDataPath leaves them.
124
- function builtApps(dir) {
125
- var out = [];
126
- var entries = readDir(dir);
127
- for (var i = 0; i < entries.length; i++) {
128
- var entry = entries[i];
129
- if (!entry.isDirectory()) continue;
130
- var full = path.join(dir, entry.name);
131
- if (/\.app$/.test(entry.name)) {
132
- out.push({ platform: '', name: entry.name, path: full });
133
- continue;
134
- }
135
- var inner = readDir(full);
136
- for (var j = 0; j < inner.length; j++) {
137
- if (inner[j].isDirectory() && /\.app$/.test(inner[j].name)) {
138
- out.push({
139
- platform: entry.name,
140
- name: inner[j].name,
141
- path: path.join(full, inner[j].name)
142
- });
143
- }
144
- }
145
- }
146
- return out;
147
- }
148
-
149
- function readDir(dir) {
150
- try {
151
- return fs.readdirSync(dir, { withFileTypes: true });
152
- } catch (err) {
153
- return [];
154
- }
155
- }
156
-
157
- // Shared schemes only. A scheme under xcuserdata belongs to one developer's
158
- // checkout and is not in the repository, which is also what xcodebuild -list
159
- // would see here.
160
- function sharedSchemeFiles(dir, depth, found) {
161
- var entries = readDir(dir);
162
- for (var i = 0; i < entries.length; i++) {
163
- var entry = entries[i];
164
- var full = path.join(dir, entry.name);
165
- if (!entry.isDirectory()) {
166
- if (/\.xcscheme$/.test(entry.name)) found.push(full);
167
- continue;
168
- }
169
- if (entry.name === 'xcuserdata' || entry.name === 'node_modules') continue;
170
- if (entry.name.charAt(0) === '.') continue;
171
- var container = /\.(xcodeproj|xcworkspace)$/.test(entry.name);
172
- if (depth > 0 || container || entry.name === 'xcshareddata' || entry.name === 'xcschemes') {
173
- sharedSchemeFiles(full, depth - 1, found);
174
- }
175
- }
176
- return found;
177
- }
178
-
179
- // The products a scheme's build action RUNS. buildForRunning="NO" entries are
180
- // listed and not built, so a scheme naming three .app targets it merely
181
- // references must not be read as building any of them.
182
- function runnableAppProducts(schemeFile) {
183
- var xml;
184
- try {
185
- xml = fs.readFileSync(schemeFile, 'utf-8');
186
- } catch (err) {
187
- return [];
188
- }
189
- var build = /<BuildAction\b[\s\S]*?<\/BuildAction>/.exec(xml);
190
- if (!build) return [];
191
- var products = [];
192
- var entryRe = /<BuildActionEntry\b([\s\S]*?)<\/BuildActionEntry>/g;
193
- var entry;
194
- while ((entry = entryRe.exec(build[0])) !== null) {
195
- if (!/buildForRunning\s*=\s*"YES"/.test(entry[1])) continue;
196
- var nameRe = /BuildableName\s*=\s*"([^"]*)"/g;
197
- var ref;
198
- while ((ref = nameRe.exec(entry[1])) !== null) {
199
- if (/\.app$/.test(ref[1])) products.push(ref[1]);
200
- }
201
- }
202
- return products;
203
- }
204
-
205
- function platformSuffix(dest) {
206
- var d = String(dest).toLowerCase();
207
- if (d.indexOf('watchos') !== -1) return '-watchsimulator';
208
- if (d.indexOf('tvos') !== -1) return '-appletvsimulator';
209
- if (d.indexOf('visionos') !== -1 || d.indexOf('xros') !== -1) return '-xrsimulator';
210
- return '-iphonesimulator';
211
- }
212
-
213
- function endsWith(text, suffix) {
214
- return suffix.length <= text.length && text.slice(text.length - suffix.length) === suffix;
215
- }
216
-
217
- var apps = builtApps(productsDir);
218
- if (apps.length === 0) process.exit(1);
219
-
220
- var schemeProducts = [];
221
- if (scheme) {
222
- var searchRoot = path.dirname(path.resolve(projectPath || '.'));
223
- var files = sharedSchemeFiles(searchRoot, 3, []);
224
- for (var k = 0; k < files.length; k++) {
225
- if (path.basename(files[k]) !== scheme + '.xcscheme') continue;
226
- var named = runnableAppProducts(files[k]);
227
- for (var n = 0; n < named.length; n++) {
228
- if (schemeProducts.indexOf(named[n]) === -1) schemeProducts.push(named[n]);
229
- }
230
- }
231
- }
232
-
233
- var suffix = platformSuffix(destination);
234
- var onPlatform = apps.filter(function (a) { return endsWith(a.platform, suffix); });
235
-
236
- function firstNamed(list) {
237
- for (var i = 0; i < list.length; i++) {
238
- if (schemeProducts.indexOf(list[i].name) !== -1) return list[i];
239
- }
240
- return null;
241
- }
242
-
243
- var pick = firstNamed(onPlatform) || firstNamed(apps) || onPlatform[0] || apps[0];
244
- if (!pick) process.exit(1);
245
- process.stdout.write(pick.path);
246
- `;
247
- //# sourceMappingURL=xcode-app-product.js.map
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=xcode-app-product.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xcode-app-product.test.d.ts","sourceRoot":"","sources":["../../../../src/yaml/steps/xcode-app-product.test.ts"],"names":[],"mappings":""}
@@ -1,202 +0,0 @@
1
- /**
2
- * The simulator build must export the app the scheme builds.
3
- *
4
- * A project whose scheme builds an iOS app and a watchOS companion produces two
5
- * bundles under Products, and the step took whichever a directory scan reached
6
- * first. It reached the watch companion: a green build whose artifact manifest
7
- * held a 588 KB watch app and not the application the scheme is named after.
8
- * An empty manifest is visibly wrong; a plausible wrong answer is not, and a
9
- * watch companion is common enough that this would not have stayed rare.
10
- *
11
- * Two halves are tested here — the rules, directly, and the resolver script
12
- * that runs on the build machine, by running it against a real directory tree.
13
- * The second is what the step actually ships, so the first alone would be a
14
- * test of a description.
15
- */
16
- import { execFileSync } from 'node:child_process';
17
- import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from 'node:fs';
18
- import { tmpdir } from 'node:os';
19
- import { join } from 'node:path';
20
- import { APP_PRODUCT_RESOLVER_SOURCE, chooseAppProduct, platformSuffixForDestination, runnableAppProducts, } from './xcode-app-product.js';
21
- const app = (platform, name) => ({
22
- platform,
23
- name,
24
- path: `/tmp/Products/${platform}/${name}`,
25
- });
26
- /** A scheme whose build action runs `products`, with `listed` merely referenced. */
27
- const schemeXml = (products, listed = []) => {
28
- const entry = (name, runs) => `
29
- <BuildActionEntry buildForRunning = "${runs ? 'YES' : 'NO'}" buildForArchiving = "${runs ? 'YES' : 'NO'}">
30
- <BuildableReference BuildableName = "${name}"></BuildableReference>
31
- </BuildActionEntry>`;
32
- return `<?xml version="1.0" encoding="UTF-8"?>
33
- <Scheme version = "1.7">
34
- <BuildAction parallelizeBuildables = "YES">
35
- <BuildActionEntries>${products.map((p) => entry(p, true)).join('')}${listed
36
- .map((p) => entry(p, false))
37
- .join('')}
38
- </BuildActionEntries>
39
- </BuildAction>
40
- </Scheme>
41
- `;
42
- };
43
- describe('platformSuffixForDestination', () => {
44
- test('an iOS simulator destination names the iphonesimulator products', () => {
45
- expect(platformSuffixForDestination('generic/platform=iOS Simulator')).toBe('-iphonesimulator');
46
- });
47
- test.each([
48
- ['generic/platform=watchOS Simulator', '-watchsimulator'],
49
- ['generic/platform=tvOS Simulator', '-appletvsimulator'],
50
- ['generic/platform=visionOS Simulator', '-xrsimulator'],
51
- ])('%s builds into %s', (destination, suffix) => {
52
- expect(platformSuffixForDestination(destination)).toBe(suffix);
53
- });
54
- // The default matters: an unrecognised or empty destination must not send the
55
- // resolver looking in a directory nothing built into.
56
- test('an unreadable destination falls back to iOS rather than to nothing', () => {
57
- expect(platformSuffixForDestination('')).toBe('-iphonesimulator');
58
- });
59
- });
60
- describe('runnableAppProducts', () => {
61
- test('reads the application bundles a scheme builds', () => {
62
- expect(runnableAppProducts(schemeXml(['MyApp.app']))).toEqual(['MyApp.app']);
63
- });
64
- // A scheme can carry several .app entries that are compatibility testers in
65
- // other containers, beside the one product it really builds. "Mentions an
66
- // app" would pick just as badly as a directory scan does.
67
- test('ignores an entry the scheme lists but does not build', () => {
68
- const xml = schemeXml(['MyApp.app'], ['APITester.app', 'ObjCAPITester.app']);
69
- expect(runnableAppProducts(xml)).toEqual(['MyApp.app']);
70
- });
71
- test('ignores a product that is not an application bundle', () => {
72
- expect(runnableAppProducts(schemeXml(['MyLib.framework', 'MyApp.app']))).toEqual(['MyApp.app']);
73
- });
74
- // No evidence, which the caller must not read as "builds no app".
75
- test.each([
76
- ['a file that could not be read', null],
77
- ['a scheme with no build action', '<?xml version="1.0"?><Scheme></Scheme>'],
78
- ])('%s yields nothing rather than an answer', (_label, xml) => {
79
- expect(runnableAppProducts(xml)).toEqual([]);
80
- });
81
- });
82
- describe('chooseAppProduct', () => {
83
- const IOS = 'generic/platform=iOS Simulator';
84
- // The defect, in one assertion.
85
- test('takes the scheme’s own app over a companion built beside it', () => {
86
- const built = [
87
- app('Debug-watchsimulator', 'Companion Watch App.app'),
88
- app('Debug-iphonesimulator', 'MyApp.app'),
89
- ];
90
- expect(chooseAppProduct(built, ['MyApp.app'], IOS)?.name).toBe('MyApp.app');
91
- });
92
- // And it must not depend on scan order, which is the property the old code
93
- // had no opinion about at all.
94
- test('takes it whichever order the products were found in', () => {
95
- const built = [
96
- app('Debug-iphonesimulator', 'MyApp.app'),
97
- app('Debug-watchsimulator', 'Companion Watch App.app'),
98
- ];
99
- expect(chooseAppProduct(built, ['MyApp.app'], IOS)?.name).toBe('MyApp.app');
100
- });
101
- // The single-target shape, which must not regress.
102
- test('takes the only app there is', () => {
103
- const built = [app('Debug-iphonesimulator', 'Contributions.app')];
104
- expect(chooseAppProduct(built, ['Contributions.app'], IOS)?.name).toBe('Contributions.app');
105
- });
106
- // Absence of evidence is not evidence: a project with no shared scheme is
107
- // ordinary, and those builds worked before this resolver existed.
108
- test('still resolves an app when the scheme says nothing', () => {
109
- const built = [
110
- app('Debug-watchsimulator', 'Watch.app'),
111
- app('Debug-iphonesimulator', 'MyApp.app'),
112
- ];
113
- expect(chooseAppProduct(built, [], IOS)?.name).toBe('MyApp.app');
114
- });
115
- test('falls back to any platform when none matches the destination', () => {
116
- const built = [app('Debug-maccatalyst', 'MyApp.app')];
117
- expect(chooseAppProduct(built, [], IOS)?.name).toBe('MyApp.app');
118
- });
119
- // The scheme outranks the platform directory, not the other way round: a
120
- // watchOS-only scheme built for watchOS still gets its own product.
121
- test('honours the scheme when the destination is the companion’s', () => {
122
- const built = [
123
- app('Debug-iphonesimulator', 'MyApp.app'),
124
- app('Debug-watchsimulator', 'Watch.app'),
125
- ];
126
- const watch = 'generic/platform=watchOS Simulator';
127
- expect(chooseAppProduct(built, ['Watch.app'], watch)?.name).toBe('Watch.app');
128
- });
129
- test('has no answer when nothing was built', () => {
130
- expect(chooseAppProduct([], ['MyApp.app'], IOS)).toBeNull();
131
- });
132
- });
133
- /**
134
- * The script the step actually ships, run against a real tree.
135
- *
136
- * The rules above are a description of what should happen; this is the thing
137
- * that happens. A resolver that is correct and unshippable — a syntax error, a
138
- * heredoc that swallows a character, a path assumption that only holds in the
139
- * unit test — passes every assertion above and delivers the watch app.
140
- */
141
- describe('the resolver script, as the build machine runs it', () => {
142
- let root;
143
- beforeEach(() => {
144
- root = mkdtempSync(join(tmpdir(), 'cibuild-app-product-'));
145
- });
146
- afterEach(() => {
147
- rmSync(root, { recursive: true, force: true });
148
- });
149
- const products = () => join(root, 'build', 'DerivedData', 'Build', 'Products');
150
- function builtApp(platform, name) {
151
- const dir = join(products(), platform, name);
152
- mkdirSync(dir, { recursive: true });
153
- writeFileSync(join(dir, 'Info.plist'), '<plist/>\n');
154
- }
155
- /** A shared scheme where Xcode puts one, inside the project bundle. */
156
- function sharedScheme(project, name, xml) {
157
- const dir = join(root, project, 'xcshareddata', 'xcschemes');
158
- mkdirSync(dir, { recursive: true });
159
- writeFileSync(join(dir, `${name}.xcscheme`), xml);
160
- }
161
- function resolve(scheme, destination = 'generic/platform=iOS Simulator') {
162
- const script = join(root, 'resolver.cjs');
163
- writeFileSync(script, APP_PRODUCT_RESOLVER_SOURCE);
164
- try {
165
- return execFileSync(process.execPath, [script, products(), join(root, 'MyApp.xcodeproj'), scheme, destination], { encoding: 'utf-8' });
166
- }
167
- catch {
168
- return '';
169
- }
170
- }
171
- test('exports the app under test, not the watch companion beside it', () => {
172
- builtApp('Debug-watchsimulator', 'MyApp Watch App.app');
173
- builtApp('Debug-iphonesimulator', 'MyApp.app');
174
- sharedScheme('MyApp.xcodeproj', 'MyApp', schemeXml(['MyApp.app']));
175
- expect(resolve('MyApp')).toBe(join(products(), 'Debug-iphonesimulator', 'MyApp.app'));
176
- });
177
- test('exports the only app of a single-target project', () => {
178
- builtApp('Debug-iphonesimulator', 'Contributions.app');
179
- sharedScheme('MyApp.xcodeproj', 'MyApp', schemeXml(['Contributions.app']));
180
- expect(resolve('MyApp')).toBe(join(products(), 'Debug-iphonesimulator', 'Contributions.app'));
181
- });
182
- test('still resolves an app for a project with no shared scheme at all', () => {
183
- builtApp('Debug-iphonesimulator', 'MyApp.app');
184
- expect(resolve('MyApp')).toBe(join(products(), 'Debug-iphonesimulator', 'MyApp.app'));
185
- });
186
- test('reads a scheme shared by a sibling project in the same directory', () => {
187
- builtApp('Debug-iphonesimulator', 'MyApp.app');
188
- builtApp('Debug-watchsimulator', 'MyApp Watch App.app');
189
- sharedScheme('Other.xcodeproj', 'MyApp', schemeXml(['MyApp.app']));
190
- expect(resolve('MyApp')).toBe(join(products(), 'Debug-iphonesimulator', 'MyApp.app'));
191
- });
192
- // Nothing built is the caller's guard to report, not this script's to guess
193
- // at: it must say nothing rather than print a path that does not exist.
194
- test('prints nothing when the build produced no app', () => {
195
- mkdirSync(products(), { recursive: true });
196
- expect(resolve('MyApp')).toBe('');
197
- });
198
- test('prints nothing when there is no Products directory', () => {
199
- expect(resolve('MyApp')).toBe('');
200
- });
201
- });
202
- //# sourceMappingURL=xcode-app-product.test.js.map
@@ -1,30 +0,0 @@
1
- /**
2
- * Products go under a derived data path, never into one flat directory.
3
- *
4
- * `CONFIGURATION_BUILD_DIR` overrides the per-configuration/per-platform
5
- * product separation xcodebuild provides under
6
- * `DerivedData/Build/Products/<config>-<platform>/`, flattening every target in
7
- * the graph into a single directory. Two build tasks for the same target then
8
- * declare the same absolute output path and xcodebuild refuses the entire build
9
- * with "Multiple commands produce". The notes it prints name the SAME target
10
- * twice, which is the tell: one target built twice into one directory, not two
11
- * packages colliding on a name.
12
- *
13
- * Measured 2026-09-09 on the iOS corpus rows, all on the template's must-pass
14
- * "Build App" step: 16 collisions on jellyfin/Swiftfin, 266 on
15
- * Automattic/pocket-casts-ios, 425 on home-assistant/iOS.
16
- *
17
- * A fourth row failed differently for the same reason. CocoaPods derives
18
- * `PODS_CONFIGURATION_BUILD_DIR` from `BUILD_DIR`, which `CONFIGURATION_BUILD_DIR`
19
- * does NOT override — so pod products land in the flat directory while every
20
- * generated copy-resources script and linker search path still points into
21
- * DerivedData. shenruisi/Stay reported "Resource SDWebImage.bundle not found.
22
- * Run pod install" for a bundle that had been built two directories away.
23
- *
24
- * Proved by control on a runner guest, same repo and image and flags with only
25
- * this setting differing: `CONFIGURATION_BUILD_DIR` reproduced the collision and
26
- * exit 65 with no .app, `-derivedDataPath` reached BUILD SUCCEEDED in 2m06s and
27
- * left both `Debug` and `Debug-iphonesimulator` under Products.
28
- */
29
- export {};
30
- //# sourceMappingURL=xcode-derived-data.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"xcode-derived-data.test.d.ts","sourceRoot":"","sources":["../../../../src/yaml/steps/xcode-derived-data.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG"}