stim 1.20.2 → 1.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +88 -8
- package/dist/acquire-artifact-CD4lbiWE.mjs +153 -0
- package/dist/act-DHAw2A2S.mjs +2667 -0
- package/dist/activity-BzVfHSrY.mjs +1376 -0
- package/dist/{agent-device-usage-output-Dzgv6lgR.mjs → agent-device-usage-output-zh1vhbLp.mjs} +21 -65
- package/dist/{android-HqP1_vB_.mjs → android-BEJ8Jpl7.mjs} +2 -2
- package/dist/{android-DCKZrNvV.mjs → android-BLgbNqox.mjs} +128 -78
- package/dist/{android-Dlzxshgp.mjs → android-CV_GCELZ.mjs} +5 -5
- package/dist/{android-Mz_Inn3w.mjs → android-DUYkNF4u.mjs} +184 -102
- package/dist/{android-cas-Bl-cLJBk.mjs → android-cas-Ct5b1xCK.mjs} +7 -6
- package/dist/android-cas-compiler.mjs +2 -2
- package/dist/android-project-BCAAmMwz.mjs +12 -0
- package/dist/api.d.mts +740 -8
- package/dist/api.mjs +585 -1
- package/dist/{artifact-HSwkIWEQ.mjs → artifact-B8T3S5gi.mjs} +223 -201
- package/dist/{artifact-D3czlUvT.mjs → artifact-DAuZ-FNU.mjs} +158 -148
- package/dist/{browser-web-CA-F1GQo.mjs → browser-web-QQzVjz3O.mjs} +26 -24
- package/dist/budget-Bs6SxxzO.mjs +9154 -0
- package/dist/{build-DYDbfkk5.mjs → build-CoPzQRNw.mjs} +144 -96
- package/dist/build-cache-DmyR9Zzc.mjs +602 -0
- package/dist/build-plan-CaFskB7_.mjs +188 -0
- package/dist/{cache-manifest-XH-fvDUj.mjs → cache-manifest-DkkqguoK.mjs} +2 -2
- package/dist/cache-manifest.mjs +1 -1
- package/dist/{ccache-zdKiYQ3E.mjs → ccache-BJRZ9pG3.mjs} +10 -9
- package/dist/{cdp-Dq_ypAlJ.mjs → cdp-CWmIUMbw.mjs} +18 -5
- package/dist/{chrome-BnzZMqsR.mjs → chrome-B6tfCta1.mjs} +7 -4
- package/dist/{cli-CLP3diBm.mjs → cli-0DYf8QhQ.mjs} +20 -20
- package/dist/cli.mjs +1 -1
- package/dist/client-B7QVOlCr.d.mts +253 -0
- package/dist/client-UXD70ZbM.mjs +1406 -0
- package/dist/collector-run.d.mts +4 -40
- package/dist/collector-run.mjs +9 -8
- package/dist/{command-output-BTy8hZ0F.mjs → command-output-B1UrjZHL.mjs} +1 -1
- package/dist/config-CYcBF478.mjs +949 -0
- package/dist/{created-devices-Dzd5C2LF.mjs → created-devices-CqeBlrEn.mjs} +3 -3
- package/dist/{dependency-state-DG0p31-y.mjs → dependency-state-BbKQW83h.mjs} +20 -5
- package/dist/{detached-entry-B9C_zeQC.mjs → detached-entry-DFRyG1_o.mjs} +1 -1
- package/dist/{dev-client-DAWVIGBu.mjs → dev-client-UOeESKm6.mjs} +2 -2
- package/dist/device-DCxH7_By.mjs +1068 -0
- package/dist/{device-BECOiufl.mjs → device-ExJq8Ei7.mjs} +35 -35
- package/dist/{device-capacity-CBUAcRyQ.mjs → device-capacity-CMlqEcvw.mjs} +43 -13
- package/dist/device-host-worker.mjs +65 -61
- package/dist/{device-ios-COSi6oS1.mjs → device-ios-DRUeKaFV.mjs} +48 -45
- package/dist/{device-lease-run-Cw2M4z51.mjs → device-lease-run-C8raGFoP.mjs} +14 -26
- package/dist/{device-pool-Bf-pOhSw.mjs → device-pool-DMRpVX9a.mjs} +5 -5
- package/dist/doctor-BLHCYxzi.mjs +2 -0
- package/dist/{doctor-kfMBnUw6.mjs → doctor-DTvaDOda.mjs} +281 -317
- package/dist/{doctor-CB8oZKCk.mjs → doctor-Dhqebm0q.mjs} +183 -91
- package/dist/doctor-fingerprint.mjs +19 -0
- package/dist/{doctor-watchman-BRyV2adA.mjs → doctor-watchman-Cv1F10Kj.mjs} +40 -21
- package/dist/{eas-build-JyfqyHfC.mjs → eas-build-BomfRnFT.mjs} +53 -20
- package/dist/{build-plan-B7SZsc2N.mjs → eas-fallback-DJwZpy0c.mjs} +26 -208
- package/dist/{watchman-CPQFZLXY.mjs → eas-session-ledger-op6A54yi.mjs} +229 -11
- package/dist/{error-diagnostics-BR677IDM.mjs → error-diagnostics-Bf0rZvG9.mjs} +172 -82
- package/dist/exec-H20xSg2T.d.mts +65 -0
- package/dist/exec-_UbtCQcG.mjs +750 -0
- package/dist/gc-C-WwL0yi.mjs +3 -0
- package/dist/{gc-qWOMdnER.mjs → gc-_-dCXdyL.mjs} +584 -796
- package/dist/git-C3iTsJaZ.mjs +73 -0
- package/dist/{guide-G9cAbVAc.mjs → guide-Yqwt2bd6.mjs} +941 -269
- package/dist/{hosted-android-C3MHGld1.mjs → hosted-android-Bw-honsd.mjs} +8 -6
- package/dist/{hosted-client-ZEKpS9vw.mjs → hosted-client-DB_gBPfY.mjs} +34 -19
- package/dist/{hosted-ios-l-o3iM9J.mjs → hosted-ios-CUvOf4Vr.mjs} +1 -1
- package/dist/{hosted-logs-EzQM7-3Z.mjs → hosted-logs-DL_P5AdN.mjs} +77 -43
- package/dist/{hosted-macos-BACVAVqE.mjs → hosted-macos-QI141yKk.mjs} +21 -17
- package/dist/{hosted-native-A4s1QPXe.mjs → hosted-native-Ksyjgzq-.mjs} +30 -21
- package/dist/idle-BVeRGroT.d.mts +24 -0
- package/dist/{idle-shutdown-DtxhPTKe.mjs → idle-shutdown-DaKmZi0z.mjs} +11 -10
- package/dist/{ios-BwVCF7oA.mjs → ios-CQ68hG9s.mjs} +8 -8
- package/dist/{ios-RkW4pnQf.mjs → ios-CpByZy12.mjs} +140 -80
- package/dist/{ios-device-B5veSDDQ.mjs → ios-device-CXGP1bsD.mjs} +1 -1
- package/dist/{ios-device-D7pi2Sca.mjs → ios-device-CwFMehUS.mjs} +51 -26
- package/dist/{ios-project-K9hY_Jab.mjs → ios-project-WuwwBdvW.mjs} +13 -13
- package/dist/{ios-nOLJGVdy.mjs → ios-qNJt4dFm.mjs} +1 -1
- package/dist/ios-signing-DTTIChGs.mjs +489 -0
- package/dist/{ios-state-CBLe1xYw.mjs → ios-state-DvFX-K_l.mjs} +1 -1
- package/dist/{ios-Ce7bc7br.mjs → ios-ubFsBzwq.mjs} +129 -86
- package/dist/{js-swap-Bb3nsS07.mjs → js-swap-Cc1dttps.mjs} +53 -26
- package/dist/{launch-F4sOqAhB.mjs → launch-CD1yVc7U.mjs} +91 -90
- package/dist/{launch-C3qJ6Agb.mjs → launch-Zq2mOSDy.mjs} +82 -541
- package/dist/logs-BS00Anxf.mjs +352 -0
- package/dist/logs-CMm05HxN.mjs +255 -0
- package/dist/{macos-D7uDvO-z.mjs → macos-B65--pPd.mjs} +1 -1
- package/dist/{macos-Ch5VJmcS.mjs → macos-C-0qJ6zq.mjs} +225 -212
- package/dist/macos-run.mjs +1 -1
- package/dist/maintenance-run.mjs +122 -247
- package/dist/{metro-DnCEjCxs.mjs → metro-DEXpIhHC.mjs} +67 -12
- package/dist/{metro-gateway-CX9Xlkq2.mjs → metro-gateway-BMJNlj3E.mjs} +20 -12
- package/dist/{named-ports-4WopRPg-.mjs → named-ports-BWTzt6mu.mjs} +8 -63
- package/dist/native-android-JACyjTZs.mjs +844 -0
- package/dist/{native-gradle-inputs-BsLRrl7u.mjs → native-gradle-inputs-Bep9JcSF.mjs} +128 -140
- package/dist/native-inputs-TRTTTRxt.mjs +91 -0
- package/dist/native-run-DY_RLx3C.mjs +277 -0
- package/dist/{native-runtime-k8dTIrbK.mjs → native-runtime-Dg1Q7tfF.mjs} +9 -8
- package/dist/{native-xcode-inputs-CykopJdM.mjs → native-xcode-inputs-CB2iQeWq.mjs} +27 -18
- package/dist/{native-xcode-ios-Bbf30Gm0.mjs → native-xcode-ios-CXX39F7o.mjs} +96 -47
- package/dist/{ndjson-GOnbyvso.mjs → ndjson-CgE_o3Dl.mjs} +3 -3
- package/dist/offload-worker.d.mts +1 -46
- package/dist/offload-worker.mjs +197 -66
- package/dist/{ownership-DCtw_2IA.mjs → ownership-DEmM5vhh.mjs} +3 -3
- package/dist/{page-DRHy329N.mjs → page-CPaHeYqj.mjs} +7 -4
- package/dist/paths-BsJMoPP2.mjs +12 -0
- package/dist/paths-DQtTgsBf.mjs +42 -0
- package/dist/{placement-log-MOfPVgaM.mjs → placement-log-BqGbTa61.mjs} +5 -5
- package/dist/{plan-placement-V0TdzYXp.mjs → plan-placement-Bwj-IjY1.mjs} +6 -6
- package/dist/{ports-DdSUicVo.mjs → ports-D-MmCTdv.mjs} +3 -3
- package/dist/prebuild-uD_ipCxF.mjs +449 -0
- package/dist/{project-_phNIJfs.mjs → project-BZNjmW_8.mjs} +65 -37
- package/dist/{pull-request-CQ8sPbZa.mjs → pull-request-Lfetn8Kr.mjs} +2 -2
- package/dist/pull-request-zjCSAryH.d.mts +120 -0
- package/dist/pull-requests.d.mts +1 -119
- package/dist/pull-requests.mjs +1 -1
- package/dist/{react-native-android-CM1XRDwv.mjs → react-native-android-DuzH0cn3.mjs} +74 -48
- package/dist/{gradle-DSrXb6lG.mjs → react-native-build-rhk4smwQ.mjs} +292 -15
- package/dist/react-native-doctor-CQpuIMso.mjs +234 -0
- package/dist/{react-native-ios-Dhq_eiYQ.mjs → react-native-ios-Bhq1rJeV.mjs} +46 -28
- package/dist/{recordings-D0d5aQt0.mjs → recordings-DYteQSu4.mjs} +12 -9
- package/dist/{reload-C8JhxjSh.mjs → reload-CmTRFJaX.mjs} +93 -47
- package/dist/reload-DzjSl5P_.mjs +2 -0
- package/dist/{remote-BiR6aYjy.mjs → remote-ByYkXdGD.mjs} +15 -10
- package/dist/result-DNiS-tTP.mjs +434 -0
- package/dist/{run-BtPgpKks.mjs → run-D23HmJMs.mjs} +4 -5
- package/dist/selection-CSl9i5qU.mjs +619 -0
- package/dist/{server-bare-R2m_gsH8.mjs → server-bare-CxTrvDg8.mjs} +3 -4
- package/dist/{server-command-CTtCkmcQ.mjs → server-command-CtzloH3v.mjs} +14 -7
- package/dist/server-expo-C-90EhcG.mjs +2 -0
- package/dist/{server-expo-DsguMGUF.mjs → server-expo-DT_F_uVI.mjs} +50 -9
- package/dist/{settings-B717odTD.mjs → settings-CsJDEXgK.mjs} +234 -24
- package/dist/{settings-vk3mJGSm.d.mts → settings-DkdmlelE.d.mts} +6 -4
- package/dist/settings-T1gtc3bf.mjs +114 -0
- package/dist/settings-write-HyVZ8eQ8.mjs +359 -0
- package/dist/settings.schema.json +163 -16
- package/dist/{simslim-CCr3rE-A.mjs → simslim-Cgk17SXV.mjs} +14 -12
- package/dist/{slot-launch-DPt0m9Nd.mjs → slot-launch-DF8VfT64.mjs} +15 -20
- package/dist/{spawn-entry-Dcb7sDUz.mjs → spawn-entry-jw19m8Nl.mjs} +0 -1
- package/dist/stage-BIS0ydsV.mjs +183 -0
- package/dist/{start-BWqzODpb.mjs → start-7lpH7hmN.mjs} +63 -44
- package/dist/{start-TXeMmmO2.mjs → start-RChynRDp.mjs} +1 -1
- package/dist/{state-D1Icyjlu.mjs → state-C4ZtUisW.mjs} +40 -13
- package/dist/{state-CG_OFoaA.mjs → state-XMziexv2.mjs} +3 -2
- package/dist/{stats-BoY5sEPU.mjs → stats-53T7OTb9.mjs} +7 -13
- package/dist/stats-report-BFfMpWWF.mjs +16 -0
- package/dist/{status-WgFbkRzj.mjs → status-BL7jVyAB.mjs} +535 -447
- package/dist/status-CSi6tlRq.mjs +2 -0
- package/dist/{status-BTA7kKiQ.mjs → status-DqEUSSxs.mjs} +6 -4
- package/dist/{status-watch-C23ILtf9.mjs → status-watch-GDCfqpTE.mjs} +187 -22
- package/dist/status-worker.d.mts +1 -0
- package/dist/status-worker.mjs +19 -0
- package/dist/stim-desktop-C12we7lz.mjs +112 -0
- package/dist/{stop-DR6VoDIk.mjs → stop-Bk_1qiV6.mjs} +2 -2
- package/dist/{stop-BNmBMi1F.mjs → stop-CPzlM1L-.mjs} +138 -98
- package/dist/{stop-DPEhunlw.mjs → stop-D7h6jAXQ.mjs} +11 -10
- package/dist/supervisor-run.d.mts +8 -17
- package/dist/supervisor-run.mjs +63 -27
- package/dist/{support-DMTqj3Hm.mjs → support-67vraa1Q.mjs} +18 -11
- package/dist/{support-CwjbFs9H.mjs → support-Dlu37g6H.mjs} +12 -12
- package/dist/{swiftpm-macos-DRNVJWlb.mjs → swiftpm-macos-p8WZbxKU.mjs} +35 -24
- package/dist/toolchain-DhKwp9iI.mjs +2 -0
- package/dist/toolchain-Hp9sCpK4.mjs +873 -0
- package/dist/{trigger-CigAYjeL.mjs → trigger-BAahxUPq.mjs} +20 -5
- package/dist/trigger-Bf3uDcpv.mjs +2 -0
- package/dist/{warm-progress-BuY-Fvfn.mjs → warm-progress-BHX5r0Ei.mjs} +250 -156
- package/dist/{web-BDBMxDpx.mjs → web-CJmIj6AI.mjs} +18 -13
- package/dist/web-DknQETPs.mjs +2 -0
- package/dist/web-run.mjs +11 -12
- package/dist/windows-report.d.mts +1 -0
- package/dist/windows-report.mjs +18 -0
- package/dist/windows-report.ps1 +43 -0
- package/dist/workspace-process-lock-1_1OoVW5.mjs +57 -0
- package/dist/{workspace-state-DJt_MMvf.mjs → workspace-state-Cjuigeeu.mjs} +62 -58
- package/dist/{workspaces-C36s2jb9.mjs → workspaces-BccMFmGQ.mjs} +1188 -1079
- package/dist/worktree-CK2MpJW5.mjs +2 -0
- package/dist/{worktree-CgvJYJ-Q.mjs → worktree-DQ6Zi2Mv.mjs} +304 -53
- package/dist/xcode-Zlx3qjEs.mjs +896 -0
- package/package.json +7 -5
- package/shim/android-optimizations.gradle +7 -5
- package/dist/activity-BSV745Kz.mjs +0 -629
- package/dist/api-qvOzWyfO.mjs +0 -154
- package/dist/api-run.mjs +0 -294
- package/dist/app-install-BIKtMfPq.mjs +0 -896
- package/dist/artifact-lifecycle-DzPpBYvK.mjs +0 -30
- package/dist/budget-f7516Zk0.mjs +0 -4106
- package/dist/build-facts-DcLv2HSd.d.mts +0 -111
- package/dist/cancellation-C_22VQTH.mjs +0 -24
- package/dist/client-qQAaXSUs.mjs +0 -1771
- package/dist/config-BYDxlMY3.mjs +0 -562
- package/dist/device-DuiPJQSn.mjs +0 -290
- package/dist/device-lease-BX1sJQ2E.mjs +0 -1224
- package/dist/device-remote-xRT0Vmo9.mjs +0 -1272
- package/dist/eas-session-ledger-Cm0Gwq2F.mjs +0 -207
- package/dist/exec-DqKo9GKJ.mjs +0 -268
- package/dist/git-DDfFzkMm.mjs +0 -45
- package/dist/launch-verify-B6Q8hZP-.mjs +0 -428
- package/dist/logs-BGrEUaEs.mjs +0 -383
- package/dist/miss-reason-mKzZ4VvN.mjs +0 -238
- package/dist/native-android-D5qc3-_v.mjs +0 -226
- package/dist/ndjson-Du3j0AQ9.d.mts +0 -17
- package/dist/plan-C4TjdPsR.mjs +0 -260
- package/dist/prebuild-DYbucPXy.mjs +0 -212
- package/dist/preview-78a9kR_-.mjs +0 -1011
- package/dist/react-native-build-CtCccJtb.mjs +0 -239
- package/dist/react-native-doctor-CfRnFfjs.mjs +0 -78
- package/dist/remote-cache-OyOyVIS3.mjs +0 -526
- package/dist/result-CaJg5Iat.mjs +0 -186
- package/dist/server-expo-Bigriskl.mjs +0 -2
- package/dist/settings-BORNaaCO.mjs +0 -402
- package/dist/spawn-claims-DVS5RkMS.mjs +0 -72
- package/dist/stage-KNTQopqv.mjs +0 -157
- package/dist/stim-desktop-BzBN2Em2.mjs +0 -63
- package/dist/tailnet-Dh-qiYzG.mjs +0 -265
- package/dist/toolchain-BFkAcstd.mjs +0 -2
- package/dist/toolchain-DxSsNssu.mjs +0 -1657
- package/dist/trigger-9_USgmxz.mjs +0 -2
- package/dist/web-Dq-i3wzJ.mjs +0 -2
- package/dist/worktree-DpLdCHga.mjs +0 -2
- package/dist/{api-run.d.mts → doctor-fingerprint.d.mts} +0 -0
- package/dist/{errors-DzkMYh8Q.mjs → errors-ccaPc4ox.mjs} +2 -2
|
@@ -1,36 +1,66 @@
|
|
|
1
|
-
import { t as getExecutor } from "./exec-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { a as deviceModelRefusal, h as resolveDeviceType, m as resolveConfiguration, v as resolveRuntime, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
1
|
+
import { t as getExecutor } from "./exec-_UbtCQcG.mjs";
|
|
2
|
+
import { o as sharedCompilationCache } from "./paths-DQtTgsBf.mjs";
|
|
3
|
+
import { Ft as repoRoot, G as resolveCacheProviderConfig, It as repoRootAsync, U as remoteIosSetting, Y as resolveSettings, et as settingShapeErrors, vt as gitCommonDir } from "./settings-CsJDEXgK.mjs";
|
|
4
|
+
import { g as selectNativeXcodeProject, h as pbxString, p as NativeXcodeError } from "./project-BZNjmW_8.mjs";
|
|
5
|
+
import { r as register } from "./cache-manifest-DkkqguoK.mjs";
|
|
6
|
+
import { Y as statsProjectKey } from "./budget-Bs6SxxzO.mjs";
|
|
7
|
+
import { d as runCancellationSignal } from "./native-run-DY_RLx3C.mjs";
|
|
8
|
+
import { n as buildCacheKey, s as filesystemBuildCapability } from "./build-cache-DmyR9Zzc.mjs";
|
|
9
|
+
import { l as artifactCachePolicy, p as resolveOptimizations } from "./errors-ccaPc4ox.mjs";
|
|
10
|
+
import { a as buildXcode, l as parseSwiftVersion, r as HEARTBEAT_INTERVAL_MS, s as compilationCacheSettings, u as parseXcodeMajor } from "./xcode-Zlx3qjEs.mjs";
|
|
11
|
+
import { a as nativeTransferRefusal } from "./client-UXD70ZbM.mjs";
|
|
12
|
+
import { _ as runPodInstall, g as runCaptured, i as iosToolchainAsync, m as readPodState, p as podsAreStale } from "./toolchain-Hp9sCpK4.mjs";
|
|
13
|
+
import { a as deviceModelRefusal, h as resolveDeviceType, m as resolveConfiguration, v as resolveRuntime, x as simulatorBuildArch, y as resolveSchemeSelection } from "./support-Dlu37g6H.mjs";
|
|
14
|
+
import { r as gateProfileForDevice } from "./ios-signing-DTTIChGs.mjs";
|
|
15
|
+
import { a as explainBuildMiss, c as skippedMissReason } from "./prebuild-uD_ipCxF.mjs";
|
|
16
|
+
import { n as planFlagRefusal, t as planCachedBuild } from "./build-plan-CaFskB7_.mjs";
|
|
17
|
+
import { t as IosRecipeRefusal } from "./ios-project-WuwwBdvW.mjs";
|
|
18
|
+
import { i as DEFAULT_DEPS, r as iosProcessRuntime } from "./launch-Zq2mOSDy.mjs";
|
|
19
|
+
import { a as nativeXcodeSources, i as nativeXcodePackages, n as nativeXcodeInputSnapshot, t as nativeXcodeHasPackages } from "./native-xcode-inputs-CB2iQeWq.mjs";
|
|
17
20
|
import { existsSync } from "node:fs";
|
|
18
21
|
import { join } from "node:path";
|
|
19
22
|
//#region src/integrations/native-xcode-ios.ts
|
|
20
|
-
function toolchain(sdk) {
|
|
23
|
+
async function toolchain(sdk, context) {
|
|
21
24
|
const executor = getExecutor();
|
|
25
|
+
const env = context?.env ?? process.env;
|
|
26
|
+
const signal = context?.signal;
|
|
27
|
+
const childEnv = Object.fromEntries(Object.entries(env).filter((entry) => entry[1] !== void 0));
|
|
28
|
+
const omitEnv = Object.keys(process.env).filter((name) => env[name] === void 0);
|
|
29
|
+
const probe = async (file, args) => {
|
|
30
|
+
signal?.throwIfAborted();
|
|
31
|
+
let cancel;
|
|
32
|
+
try {
|
|
33
|
+
return await executor.runFileAsync(file, args, {
|
|
34
|
+
timeoutMs: 1e4,
|
|
35
|
+
env: childEnv,
|
|
36
|
+
omitEnv,
|
|
37
|
+
cwd: context?.cwd,
|
|
38
|
+
onSpawn(child) {
|
|
39
|
+
if (!signal) return;
|
|
40
|
+
cancel = () => {
|
|
41
|
+
child.kill("SIGKILL");
|
|
42
|
+
};
|
|
43
|
+
signal.addEventListener("abort", cancel, { once: true });
|
|
44
|
+
if (signal.aborted) cancel();
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
} finally {
|
|
48
|
+
if (cancel) signal?.removeEventListener("abort", cancel);
|
|
49
|
+
signal?.throwIfAborted();
|
|
50
|
+
}
|
|
51
|
+
};
|
|
22
52
|
const identity = {
|
|
23
|
-
xcode:
|
|
24
|
-
sdk:
|
|
53
|
+
xcode: await probe("xcodebuild", ["-version"]),
|
|
54
|
+
sdk: await probe("xcodebuild", [
|
|
25
55
|
"-version",
|
|
26
56
|
"-sdk",
|
|
27
57
|
sdk
|
|
28
|
-
]
|
|
29
|
-
swift:
|
|
30
|
-
clang:
|
|
31
|
-
developer:
|
|
32
|
-
developerOverride:
|
|
33
|
-
toolchains:
|
|
58
|
+
]),
|
|
59
|
+
swift: await probe("xcrun", ["swift", "--version"]),
|
|
60
|
+
clang: await probe("xcrun", ["clang", "--version"]),
|
|
61
|
+
developer: await probe("xcode-select", ["-p"]),
|
|
62
|
+
developerOverride: env.DEVELOPER_DIR ?? "",
|
|
63
|
+
toolchains: env.TOOLCHAINS ?? ""
|
|
34
64
|
};
|
|
35
65
|
if (!identity.xcode.trim() || !identity.sdk.trim() || !identity.swift.trim() || !identity.clang.trim() || !identity.developer.trim()) throw new Error("An Xcode toolchain probe returned no identity.");
|
|
36
66
|
return identity;
|
|
@@ -54,6 +84,7 @@ function settingsContext(root) {
|
|
|
54
84
|
};
|
|
55
85
|
}
|
|
56
86
|
function nativeRecipe(root, context) {
|
|
87
|
+
const env = context.operation?.env ?? process.env;
|
|
57
88
|
const configuration = context.configuration ?? "Debug";
|
|
58
89
|
let selected = selectNativeXcodeProject(root, context.buildScheme, configuration);
|
|
59
90
|
let tools = null;
|
|
@@ -76,7 +107,7 @@ function nativeRecipe(root, context) {
|
|
|
76
107
|
throw new IosRecipeRefusal(refusal(error));
|
|
77
108
|
}
|
|
78
109
|
};
|
|
79
|
-
const read = () => {
|
|
110
|
+
const read = async () => {
|
|
80
111
|
if (!tools) return { cacheIneligible: ineligible ?? "Xcode toolchain identity is unavailable" };
|
|
81
112
|
reselect();
|
|
82
113
|
return nativeXcodeInputSnapshot(root, selected, {
|
|
@@ -84,17 +115,21 @@ function nativeRecipe(root, context) {
|
|
|
84
115
|
architecture: context.target.keyArch,
|
|
85
116
|
toolchain: tools,
|
|
86
117
|
optimizations: context.optimizations
|
|
87
|
-
},
|
|
118
|
+
}, env, await repoRootAsync(root, {
|
|
119
|
+
env,
|
|
120
|
+
signal: context.operation?.signal
|
|
121
|
+
}) ?? root, context.operation?.signal);
|
|
88
122
|
};
|
|
89
123
|
return {
|
|
90
124
|
async identity() {
|
|
91
125
|
try {
|
|
92
|
-
tools = toolchain(context.target.sdk);
|
|
126
|
+
tools = await toolchain(context.target.sdk, context.operation);
|
|
93
127
|
} catch (error) {
|
|
128
|
+
context.operation?.signal.throwIfAborted();
|
|
94
129
|
ineligible = `Xcode toolchain identity is unavailable: ${error.message}`;
|
|
95
130
|
return { cacheIneligible: ineligible };
|
|
96
131
|
}
|
|
97
|
-
const value = read();
|
|
132
|
+
const value = await read();
|
|
98
133
|
if ("cacheIneligible" in value) {
|
|
99
134
|
ineligible = value.cacheIneligible;
|
|
100
135
|
return value;
|
|
@@ -102,7 +137,10 @@ function nativeRecipe(root, context) {
|
|
|
102
137
|
snapshot = value;
|
|
103
138
|
return identity(value);
|
|
104
139
|
},
|
|
105
|
-
cache: () => filesystemBuildCapability({
|
|
140
|
+
cache: () => filesystemBuildCapability({
|
|
141
|
+
context: context.operation,
|
|
142
|
+
sources: snapshot ? nativeXcodeSources(snapshot) : null
|
|
143
|
+
}),
|
|
106
144
|
async prepare(beforePrepare) {
|
|
107
145
|
const pods = readPodState(root, root);
|
|
108
146
|
const state = podsAreStale(pods.lockText, pods.manifestText);
|
|
@@ -110,6 +148,7 @@ function nativeRecipe(root, context) {
|
|
|
110
148
|
beforePrepare();
|
|
111
149
|
context.step("pods");
|
|
112
150
|
const result = await runPodInstall(root, context.logWriter(), {
|
|
151
|
+
onHeartbeat: context.note,
|
|
113
152
|
directory: root,
|
|
114
153
|
estimateMs: context.estimates().podsMs
|
|
115
154
|
});
|
|
@@ -139,7 +178,7 @@ function nativeRecipe(root, context) {
|
|
|
139
178
|
],
|
|
140
179
|
cwd: root,
|
|
141
180
|
env: {
|
|
142
|
-
...
|
|
181
|
+
...env,
|
|
143
182
|
NSUnbufferedIO: "YES",
|
|
144
183
|
FORCE_COLOR: "0"
|
|
145
184
|
},
|
|
@@ -161,7 +200,7 @@ function nativeRecipe(root, context) {
|
|
|
161
200
|
}
|
|
162
201
|
},
|
|
163
202
|
async reconcile() {
|
|
164
|
-
const current = snapshot && !mutations.length ? snapshot : read();
|
|
203
|
+
const current = snapshot && !mutations.length ? snapshot : await read();
|
|
165
204
|
if ("cacheIneligible" in current) {
|
|
166
205
|
ineligible = current.cacheIneligible;
|
|
167
206
|
snapshot = null;
|
|
@@ -175,10 +214,11 @@ function nativeRecipe(root, context) {
|
|
|
175
214
|
async validate() {
|
|
176
215
|
if (!snapshot) return null;
|
|
177
216
|
try {
|
|
178
|
-
tools = toolchain(context.target.sdk);
|
|
179
|
-
const after = read();
|
|
217
|
+
tools = await toolchain(context.target.sdk, context.operation);
|
|
218
|
+
const after = await read();
|
|
180
219
|
return !("cacheIneligible" in after) && after.hash === snapshot.hash ? identity(snapshot) : null;
|
|
181
220
|
} catch {
|
|
221
|
+
context.operation?.signal.throwIfAborted();
|
|
182
222
|
return null;
|
|
183
223
|
}
|
|
184
224
|
},
|
|
@@ -191,10 +231,12 @@ function nativeRecipe(root, context) {
|
|
|
191
231
|
},
|
|
192
232
|
async materialize(path) {
|
|
193
233
|
if (context.device) {
|
|
194
|
-
const gate = gateProfileForDevice({
|
|
234
|
+
const gate = await gateProfileForDevice({
|
|
195
235
|
appPath: path,
|
|
196
236
|
udid: context.device.udid,
|
|
197
|
-
configuration
|
|
237
|
+
configuration,
|
|
238
|
+
env: context.operation?.env,
|
|
239
|
+
signal: runCancellationSignal(context.operation) ?? context.operation?.signal
|
|
198
240
|
});
|
|
199
241
|
if (!gate.ok) throw new IosRecipeRefusal({
|
|
200
242
|
code: gate.code,
|
|
@@ -205,6 +247,7 @@ function nativeRecipe(root, context) {
|
|
|
205
247
|
return path;
|
|
206
248
|
},
|
|
207
249
|
compile: () => buildXcode({
|
|
250
|
+
context: context.operation,
|
|
208
251
|
root,
|
|
209
252
|
project: selected.container,
|
|
210
253
|
scheme: selected.scheme,
|
|
@@ -219,6 +262,7 @@ function nativeRecipe(root, context) {
|
|
|
219
262
|
arch: context.target.arch,
|
|
220
263
|
logWriter: context.logWriter(),
|
|
221
264
|
estimateMs: context.estimates().coldBuildMs,
|
|
265
|
+
onHeartbeat: context.note,
|
|
222
266
|
extraArgs: nativeXcodeHasPackages(selected) ? [
|
|
223
267
|
"-clonedSourcePackagesDirPath",
|
|
224
268
|
nativeXcodePackages(root),
|
|
@@ -232,7 +276,7 @@ function nativeRecipe(root, context) {
|
|
|
232
276
|
casPath,
|
|
233
277
|
xcodeMajor: parseXcodeMajor(tools?.xcode),
|
|
234
278
|
swiftVersion: parseSwiftVersion(tools?.swift),
|
|
235
|
-
swiftCacheCompatible: (!
|
|
279
|
+
swiftCacheCompatible: (!env.SWIFT_ENABLE_EXPLICIT_MODULES || env.SWIFT_ENABLE_EXPLICIT_MODULES === "YES") && !selected.projects.some((project) => [...project.objects.values()].some((entry) => {
|
|
236
280
|
if (entry.isa !== "XCBuildConfiguration" || pbxString(entry.name) !== configuration) return false;
|
|
237
281
|
const targetSettings = entry.buildSettings;
|
|
238
282
|
const explicitModules = pbxString(targetSettings?.SWIFT_ENABLE_EXPLICIT_MODULES);
|
|
@@ -242,6 +286,7 @@ function nativeRecipe(root, context) {
|
|
|
242
286
|
});
|
|
243
287
|
if (settings.length && context.optimizations.compilationCache) register({
|
|
244
288
|
dir: casPath,
|
|
289
|
+
registeredBy: context.operation?.cwd ?? root,
|
|
245
290
|
name: "Xcode compilation cache",
|
|
246
291
|
prune: "atomic",
|
|
247
292
|
note: "shared Xcode compilation cache"
|
|
@@ -270,18 +315,21 @@ function nativeRecipe(root, context) {
|
|
|
270
315
|
untrackedLine: () => null,
|
|
271
316
|
legacyCache: null,
|
|
272
317
|
offload: {
|
|
273
|
-
context: () => {
|
|
318
|
+
context: async () => {
|
|
274
319
|
const runtime = context.target.sdk === "iphonesimulator" ? context.target.offloadRuntime() : null;
|
|
275
320
|
return {
|
|
276
321
|
runtime,
|
|
277
|
-
unsupported: context.target.offloadRefusal ?? (context.device ? "Physical native Xcode builds build here" : !context.cache.write ? "the build cache is off" : !runtime ? "no simulator runtime is available for worker selection" : !snapshot ? "the native inputs have no verified identity" : nativeTransferRefusal(
|
|
322
|
+
unsupported: context.target.offloadRefusal ?? (context.device ? "Physical native Xcode builds build here" : !context.cache.write ? "the build cache is off" : !runtime ? "no simulator runtime is available for worker selection" : !snapshot ? "the native inputs have no verified identity" : await nativeTransferRefusal(await repoRootAsync(root, {
|
|
323
|
+
env,
|
|
324
|
+
signal: context.operation?.signal
|
|
325
|
+
}) ?? root, snapshot, runCancellationSignal(context.operation) ?? context.operation?.signal))
|
|
278
326
|
};
|
|
279
327
|
},
|
|
280
|
-
target: (runtime) => ({
|
|
328
|
+
target: async (runtime) => ({
|
|
281
329
|
platform: "ios",
|
|
282
330
|
native: "xcode",
|
|
283
331
|
local: {
|
|
284
|
-
...
|
|
332
|
+
...await iosToolchainAsync(root, "xcode"),
|
|
285
333
|
...context.target.hostedArchitecture ? { arch: context.target.hostedArchitecture === "x86_64" ? "x64" : "arm64" } : {}
|
|
286
334
|
},
|
|
287
335
|
runtime,
|
|
@@ -305,13 +353,13 @@ function nativeRecipe(root, context) {
|
|
|
305
353
|
};
|
|
306
354
|
},
|
|
307
355
|
unchanged: async () => {
|
|
308
|
-
const current = read();
|
|
356
|
+
const current = await read();
|
|
309
357
|
return snapshot !== null && !("cacheIneligible" in current) && current.hash === snapshot.hash;
|
|
310
358
|
}
|
|
311
359
|
}
|
|
312
360
|
};
|
|
313
361
|
}
|
|
314
|
-
async function planNativeXcode(root, options) {
|
|
362
|
+
async function planNativeXcode(root, options, operation) {
|
|
315
363
|
if (options.easProfile !== void 0) return { refusal: planFlagRefusal("--eas-profile") };
|
|
316
364
|
try {
|
|
317
365
|
const context = settingsContext(root);
|
|
@@ -342,12 +390,12 @@ async function planNativeXcode(root, options) {
|
|
|
342
390
|
hostArch: process.arch === "arm64" ? "arm64" : "x86_64",
|
|
343
391
|
configuration
|
|
344
392
|
});
|
|
345
|
-
const snapshot = nativeXcodeInputSnapshot(root, selection, {
|
|
393
|
+
const snapshot = await nativeXcodeInputSnapshot(root, selection, {
|
|
346
394
|
sdk: "iphonesimulator",
|
|
347
395
|
architecture,
|
|
348
|
-
toolchain: toolchain("iphonesimulator"),
|
|
396
|
+
toolchain: await toolchain("iphonesimulator", operation),
|
|
349
397
|
optimizations: optimizations.ios
|
|
350
|
-
}, context.repoRoot ?? root);
|
|
398
|
+
}, operation?.env ?? process.env, context.repoRoot ?? root, operation?.signal);
|
|
351
399
|
if ("cacheIneligible" in snapshot) throw new NativeXcodeError(`No reusable native artifact can be predicted: ${snapshot.cacheIneligible}.`, "Run stim ios without --plan; it can prepare dependencies and build locally without artifact caching.");
|
|
352
400
|
const key = buildCacheKey("ios", snapshot.hash, {
|
|
353
401
|
configuration,
|
|
@@ -377,6 +425,7 @@ async function planNativeXcode(root, options) {
|
|
|
377
425
|
note: (line) => console.error(line)
|
|
378
426
|
});
|
|
379
427
|
} catch (error) {
|
|
428
|
+
operation?.signal.throwIfAborted();
|
|
380
429
|
return { refusal: refusal(error) };
|
|
381
430
|
}
|
|
382
431
|
}
|
|
@@ -390,7 +439,7 @@ function nativeXcodeIosProject(root) {
|
|
|
390
439
|
],
|
|
391
440
|
eas: false,
|
|
392
441
|
runtimeKind: () => "process",
|
|
393
|
-
plan: (options) => planNativeXcode(root, options),
|
|
442
|
+
plan: (options, _resolved, operation) => planNativeXcode(root, options, operation),
|
|
394
443
|
bundleId: () => null,
|
|
395
444
|
schemeProblem(scheme, configuration) {
|
|
396
445
|
try {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { ensurePrivateDir, rotateLog } from "@stim-cli/core";
|
|
2
|
+
import { LEVELS as LEVELS$1, SOURCES as SOURCES$1, levelRank, parseNdjsonLine, parseNdjsonText, readNdjsonGenerations as readNdjsonGenerations$1, runId } from "@stim-cli/core/state";
|
|
1
3
|
import { dirname } from "path";
|
|
2
|
-
import { LEVELS, SOURCES, levelRank, parseNdjsonLine, parseNdjsonText, readNdjsonGenerations as readNdjsonGenerations$1, runId } from "@stim-cli/core/state";
|
|
3
4
|
import { closeSync, openSync, writeSync } from "fs";
|
|
4
|
-
import { ensurePrivateDir, rotateLog } from "@stim-cli/core";
|
|
5
5
|
//#region src/ndjson.ts
|
|
6
6
|
const ROTATE_CHECK_MS = 1e3;
|
|
7
7
|
function formatNdjsonLine(record) {
|
|
@@ -115,4 +115,4 @@ function stamp(record) {
|
|
|
115
115
|
};
|
|
116
116
|
}
|
|
117
117
|
//#endregion
|
|
118
|
-
export { parseNdjsonLine as a, levelRank as i, SOURCES as n, parseNdjsonText as o, createNdjsonWriter as r, readNdjsonGenerations$1 as s, LEVELS as t };
|
|
118
|
+
export { parseNdjsonLine as a, levelRank as i, SOURCES$1 as n, parseNdjsonText as o, createNdjsonWriter as r, readNdjsonGenerations$1 as s, LEVELS$1 as t };
|
|
@@ -1,50 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "./settings-vk3mJGSm.mjs";
|
|
3
|
-
import "./ndjson-Du3j0AQ9.mjs";
|
|
4
|
-
import "@stim-cli/core/state";
|
|
5
|
-
import { readFileSync } from "fs";
|
|
6
|
-
import "@expo/fingerprint";
|
|
1
|
+
import { l as CcacheActivity, s as Optimizations, t as AndroidBuildOptions, u as CompilationCacheActivity } from "./client-B7QVOlCr.mjs";
|
|
7
2
|
import { BuildStartParams } from "@stim-cli/core/protocol";
|
|
8
|
-
//#region src/optimizations.d.ts
|
|
9
|
-
interface Optimizations {
|
|
10
|
-
buildCache: boolean;
|
|
11
|
-
remoteBuildCache: boolean;
|
|
12
|
-
releaseBundleSwap: boolean;
|
|
13
|
-
metroSharedCache: boolean;
|
|
14
|
-
metroWarmup: boolean;
|
|
15
|
-
ios: {
|
|
16
|
-
compilationCache: boolean;
|
|
17
|
-
swiftCompilationCache: boolean | null;
|
|
18
|
-
prefixMapping: boolean;
|
|
19
|
-
};
|
|
20
|
-
android: {
|
|
21
|
-
compilerCache: "ccache" | "cas" | "none";
|
|
22
|
-
casToolchain: string | null;
|
|
23
|
-
compilerCacheFallback: CompilerCacheFallback | null;
|
|
24
|
-
pch: "auto" | "on" | "off";
|
|
25
|
-
gradleBuildCache: boolean;
|
|
26
|
-
targetAbiOnly: boolean;
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
interface CompilerCacheFallback {
|
|
30
|
-
key: string;
|
|
31
|
-
reason: string;
|
|
32
|
-
fromEnvironment: boolean;
|
|
33
|
-
manifest: string | null;
|
|
34
|
-
}
|
|
35
|
-
//#endregion
|
|
36
|
-
//#region src/offload/client.d.ts
|
|
37
|
-
/** The Gradle choices that shape the APK, so the machine builds what this Mac's cache key describes. */
|
|
38
|
-
interface AndroidBuildOptions {
|
|
39
|
-
variant: string | null;
|
|
40
|
-
abi: string | null;
|
|
41
|
-
gradleBuildCache: boolean;
|
|
42
|
-
pch: "auto" | "on" | "off";
|
|
43
|
-
compilerCache: "ccache" | "none";
|
|
44
|
-
gradleRoot?: string | null;
|
|
45
|
-
module?: string | null;
|
|
46
|
-
}
|
|
47
|
-
//#endregion
|
|
48
3
|
//#region src/offload/worker.d.ts
|
|
49
4
|
/** One entry of the source transfer: a visible file of the checkout, or a native build's file or directory input. */
|
|
50
5
|
interface ManifestEntry {
|