From e526ef5d03aeed68f28c08f9a7e080b76ee5c337 Mon Sep 17 00:00:00 2001 From: Andrew Kahr <22359829+AndrewKahr@users.noreply.github.com> Date: Tue, 14 Nov 2023 20:23:56 -0800 Subject: [PATCH] Integrate mac architecture logic for mac setup --- dist/index.js | Bin 22176653 -> 22177358 bytes dist/index.js.map | Bin 14647420 -> 14648317 bytes src/model/platform-setup/setup-mac.ts | 33 +++++++++++++++++++++++--- 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/dist/index.js b/dist/index.js index e0b2de85e95677eca7f0dca44a416e348d0a606d..dc3aac42a703b775526b6293e055ff2f7be75896 100644 GIT binary patch delta 1906 zcmZ|PX;hR|7{KuZ^UesvunvoZqNAdN%8Uw#fFh0yt{_E=Wk?fEV8znRK$Kc$xD=Tw z)opKR&$88`vXW>q%q6qM785E8wGvuw)&Ems^T9s+{vY1^-h0n^-gDly+uDu0cC;Ip zHv}~VH|RENiCwC2ks)09+q5XPv2}w{Z7B{hsod@Q2vwBPY--8x(sa6$?--Q5(Qi^a zQ=6mIz6Dl`TH38u$2mP^6^niDGGDF7UF7n(D&0P}r)kgLSc@xQ#px-pt#nuUthv^O zC2G@dEm6m^a{5=ARY$mA)758YsLq3$IsH_-95uDxiWHmO9=K>rwc6^lGE3RG{*Y$Z zyF8UA&PWS%bf9AQ((sx*u0I1n7IT3581k^+y(u_iC6@l=<&y6 z@kl^_SdfST7>Fbc!eCf21Vb?l$rz3iuptE_F$$xR3OgJagRvNgG^8T~Scvmb zf<-9B`EcO^l;J|SaS_T8kBW}Q2+=z9!3G1-|O}H7i;8rNyhTCxm?!;ZV8~5N|_|c5} za6cZvgLnuJ;}JZHjd%=?V-udhlXwbG;~6}Q&3F#aqXjSEMZAP9cp0zYRcu8oUPBvR z#~XMPZ($qWMmx6S9qhnP?80umi#>P`d+|O#z=!w<`|vS7!Ke5P`|&vrpaY%w0$<`Q zbm41!gKiweAsoiH_zvIW2ztn&k|-G<87N7T43Z3% zSS3RwLnXr`$&%rc5fYmuMKV${N-|oKDzQr(k};C8l5vtWNxCFMGG3A?nIOrMWJ_`+ z6D5-*xsu6}JjoP^Q!-UDO)_0FLy|98|s5lg}hsCZ0&L42!divyXGwX7Wuj?%O+>-2<(W5w_@<@UZaM-Z8e&=uU=P zg4r`MBE{t3@bAKKPcVBJzDuTB4BHN?tFh&oDLT>Tr770Qxbfcf)%fzk^wHbeD>5qF z7W@CPF+r&&IKl~Lq(NF(kPgmB4;Q$?4erPQ4|pOYGQkVp@PRKfBMY)38?wWS9PmR< z>E2tz|OLSr;RQ#3!|7)!7e%di|PuoA1V8VOi~wOEJs*no}L zgw5E3t=NX`*nvds#4hZ{9_+|R`Mu$m3)f75}@Q)0+j+vL8XvV zSSg|uRf;Lal@dxxB}gfylvc_p!Ae=BoKjw?pj1>sluAmdQdy~@R8^`e)s-4bO{JDn UTdAYeRq84A?GEry?7U+B00P?LRW-&+@;|m^|Hn-{H4w;g5-a(5hfXA79p~+Hpxp)D+%}UJRc!q+P3r* zRS9odS6i!<{#%4zhMR?NOQUJf0G;$%n{1FXQ^g8>ikh91>r}FxE>)2=fg)6vSD3Uq z``fbYnIbOtN@Ygui@}{Ln9~bxe{lFDp>< zvlWNK+Eg#H%9ts}$ah8?Jyvw{JV+Id?@nw>7hOV9-mXBg*;RX<;#5?JY^XE_duq~! zpT=OdHV406pQkEAglgpQOk;r5n?>OJE+o0oGik7iFu8J|(ID%mh6R+xWeP-~8zN!G zN9Ya z7==`%VKl~IEXKixbY$Q&j7KIu#{^8oBuvH>OvN-zM;2zlj+w~DEGU?bImkgS=3*Y^ zBM%FZj{+=&3J08UVG$Oi5KFKW%di|pSb>!&#wx7F8mvVLN>PS&_yX&(0bk-Pe2s5V zj*Zxa3T(!=*aC^I*oN)cft~mc-=h+{up4{u1AfF_?88skj{`V}pYaQRg&S3<#v%NM z-*Fg6@CQ8j6Gw3j$8iERs6`#>(SVaUh0{2Lvp9$IxPXhegv+>stGI^0@HhU!zqpPY YxQSc1jXSuDd$^AWc<71Ce3aVj6~87KMgRZ+ delta 1138 zcma*iX;92@9LMolu}fRKTWBNn&ry!#zH;l9NTuA0R-(3axMN9H=vc|ml{2@LqQ6|_ zDEEC+G~-cYJn?`TLwPrh#~!>Me7@iL&S$>A%#F&QrbcDSkBq#?RJF*A*LsWkK@S7EOf4O)GXCD`|0h|9}WsKwX-yUxhYwvQk2zK zf3j+h=^Be!V^N?5tk4pzpo9vo(FWE~!v?m{Knor0V2`$FhxTxQ9**dMj&MRJbVe6h zV{!H8NCvsMV3^f7X`(hDq)I{zKI5J$xUbzo$W<% ziDW0&`b%FGs=vn~TdHvol_n=X4wSOw${?vuDSr-=Y!$*KTx$A{5;G-mL05D`cl3ZO z+|U!f&>MZ=j=u0fKlH}{48$M|#t;m}Fbu~Ccw!_*VKl~IEXH9xCcq2c@PRM<;Ew=I zL?9+12$L}d!I+8=gdz;n5RM2;#|+HGEX>9n%*8xJA`0`d0MRgDA!4uyu~>{Hh(kP# zNI)W%A_>VzK`NGEIaXjLR$(>PAPsA=4koO}2Bc#nGO!6|Y(^%wU@NvE3)#p)E-cuN zJnTR|c0ynmc4H6rVjl{y9|v#{hj182P>7>AhT}MalQ@ObID;abMKMZn4y7o=d0ap_ zWL!iAF5xn+;3}@65>>d48@P#Es74KL;|}iP9`54-9^w%m;|ZSP8J^<>Ug8yA;|<>8 R9p0lBb@(8gB0i?M{{~XT?a%-K diff --git a/src/model/platform-setup/setup-mac.ts b/src/model/platform-setup/setup-mac.ts index d529d21f..70ce06f8 100644 --- a/src/model/platform-setup/setup-mac.ts +++ b/src/model/platform-setup/setup-mac.ts @@ -47,7 +47,10 @@ class SetupMac { // Ignoring return code because the log seems to overflow the internal buffer which triggers // a false error - const errorCode = await exec(command, undefined, { silent, ignoreReturnCode: true }); + const errorCode = await exec(command, undefined, { + silent, + ignoreReturnCode: true, + }); if (errorCode) { throw new Error(`There was an error installing the Unity Editor. See logs above for details.`); } @@ -64,7 +67,9 @@ class SetupMac { private static async getLatestUnityHubVersion(): Promise { // Need to check if the latest version available is the same as the one we have cached const hubVersionCommand = `/bin/bash -c "brew info unity-hub | grep -o '[0-9]\\+\\.[0-9]\\+\\.[0-9]\\+'"`; - const result = await getExecOutput(hubVersionCommand, undefined, { silent: true }); + const result = await getExecOutput(hubVersionCommand, undefined, { + silent: true, + }); if (result.exitCode === 0 && result.stdout !== '') { return result.stdout; } @@ -72,6 +77,23 @@ class SetupMac { return ''; } + private static getArchitectureParameters(): string[] { + const architectureArgument = []; + + switch (process.arch) { + case 'x64': + architectureArgument.push('--architecture', 'x86_64'); + break; + case 'arm64': + architectureArgument.push('--architecture', 'arm64'); + break; + default: + throw new Error(`Unsupported architecture: ${process.arch}.`); + } + + return architectureArgument; + } + private static getModuleParametersForTargetPlatform(targetPlatform: string): string[] { const moduleArgument = []; switch (targetPlatform) { @@ -111,6 +133,7 @@ class SetupMac { const unityChangeset = await getUnityChangeset(buildParameters.editorVersion); const moduleArguments = SetupMac.getModuleParametersForTargetPlatform(buildParameters.targetPlatform); + const architectureArguments = SetupMac.getArchitectureParameters(); const execArguments: string[] = [ '--', @@ -119,12 +142,16 @@ class SetupMac { ...['--version', buildParameters.editorVersion], ...['--changeset', unityChangeset.changeset], ...moduleArguments, + ...architectureArguments, '--childModules', ]; // Ignoring return code because the log seems to overflow the internal buffer which triggers // a false error - const errorCode = await exec(this.unityHubExecPath, execArguments, { silent, ignoreReturnCode: true }); + const errorCode = await exec(this.unityHubExecPath, execArguments, { + silent, + ignoreReturnCode: true, + }); if (errorCode) { throw new Error(`There was an error installing the Unity Editor. See logs above for details.`); }