setup-cpp/dist/modern/setup-cpp.js

42 lines
260 KiB
JavaScript
Raw Normal View History

2023-07-16 06:41:58 +08:00
#!/usr/bin/env node
let e,t,r,n,i,o,s,a;var l,c,u=require("os"),d=require("path"),p=require("fs"),f=require("crypto"),h=require("http"),m=require("https");require("net");var g=require("tls"),v=require("events"),E=require("assert"),y=require("util"),w=require("fs"),x=require("child_process"),b=require("string_decoder"),S=require("timers"),I=require("buffer"),R=require("stream"),O=require("process"),T=require("buffer"),$=require("path"),C=require("child_process"),A=require("process"),_=require("url"),P=require("os"),N=require("util"),L=require("url");function D(e,t,r,n){Object.defineProperty(e,t,{get:r,set:n,enumerable:!0,configurable:!0});}function k(e){return e&&e.__esModule?e.default:e;}var j="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},U={},M={},G=j.parcelRequire810d;null==G&&((G=function(e){if(e in U)return U[e].exports;if(e in M){var t=M[e];delete M[e];var r={id:e,exports:{}};return U[e]=r,t.call(r.exports,r,r.exports),r.exports;}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n;}).register=function(e,t){M[e]=t;},j.parcelRequire810d=G),G.register("dTX7a",function(e,t){"use strict";var r=G("gjIAX");let n=process.env;function i(e){return"string"==typeof e?!!n[e]:"env"in e?n[e.env]&&n[e.env].includes(e.includes):"any"in e?e.any.some(function(e){return!!n[e];}):Object.keys(e).every(function(t){return n[t]===e[t];});}Object.defineProperty(e.exports,"_vendors",{value:r.map(function(e){return e.constant;})}),e.exports.name=null,e.exports.isPR=null,r.forEach(function(t){let r=Array.isArray(t.env)?t.env:[t.env],o=r.every(function(e){return i(e);});if(e.exports[t.constant]=o,o)switch(e.exports.name=t.name,typeof t.pr){case"string":e.exports.isPR=!!n[t.pr];break;case"object":"env"in t.pr?e.exports.isPR=t.pr.env in n&&n[t.pr.env]!==t.pr.ne:"any"in t.pr?e.exports.isPR=t.pr.any.some(function(e){return!!n[e];}):e.exports.isPR=i(t.pr);break;default:e.exports.isPR=null;}}),e.exports.isCI=!!("false"!==n.CI&&(n.BUILD_ID||n.BUILD_NUMBER||n.CI||n.CI_APP_ID||n.CI_BUILD_ID||n.CI_BUILD_NUMBER||n.CI_NAME||n.CONTINUOUS_INTEGRATION||n.RUN_ID||e.exports.name));}),G.register("gjIAX",function(e,t){e.exports=JSON.parse('[{"name":"Appcircle","constant":"APPCIRCLE","env":"AC_APPCIRCLE"},{"name":"AppVeyor","constant":"APPVEYOR","env":"APPVEYOR","pr":"APPVEYOR_PULL_REQUEST_NUMBER"},{"name":"AWS CodeBuild","constant":"CODEBUILD","env":"CODEBUILD_BUILD_ARN"},{"name":"Azure Pipelines","constant":"AZURE_PIPELINES","env":"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI","pr":"SYSTEM_PULLREQUEST_PULLREQUESTID"},{"name":"Bamboo","constant":"BAMBOO","env":"bamboo_planKey"},{"name":"Bitbucket Pipelines","constant":"BITBUCKET","env":"BITBUCKET_COMMIT","pr":"BITBUCKET_PR_ID"},{"name":"Bitrise","constant":"BITRISE","env":"BITRISE_IO","pr":"BITRISE_PULL_REQUEST"},{"name":"Buddy","constant":"BUDDY","env":"BUDDY_WORKSPACE_ID","pr":"BUDDY_EXECUTION_PULL_REQUEST_ID"},{"name":"Buildkite","constant":"BUILDKITE","env":"BUILDKITE","pr":{"env":"BUILDKITE_PULL_REQUEST","ne":"false"}},{"name":"CircleCI","constant":"CIRCLE","env":"CIRCLECI","pr":"CIRCLE_PULL_REQUEST"},{"name":"Cirrus CI","constant":"CIRRUS","env":"CIRRUS_CI","pr":"CIRRUS_PR"},{"name":"Codefresh","constant":"CODEFRESH","env":"CF_BUILD_ID","pr":{"any":["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{"name":"Codemagic","constant":"CODEMAGIC","env":"CM_BUILD_ID","pr":"CM_PULL_REQUEST"},{"name":"Codeship","constant":"CODESHIP","env":{"CI_NAME":"codeship"}},{"name":"Drone","constant":"DRONE","env":"DRONE","pr":{"DRONE_BUILD_EVENT":"pull_request"}},{"name":"dsari","constant":"DSARI","env":"DSARI"},{"name":"Expo Application Services","constant":"EAS","env":"EAS_BUILD"},{"name":"Gerrit","constant":"GERRIT","env":"GERRIT_PROJECT"},{"name":"GitHub Actions","constant":"GITHUB_ACTIONS","env":"GITHUB_ACTIONS","pr":{"GITHUB_EVENT_NAME":"pull_request"}},{"name":"GitLab CI","constant":"GITLAB","env":"GITLAB_CI","pr":"CI_MERGE_REQUEST_ID"},{"name":"GoCD","constant":"GOCD","env":"GO_PIPELINE_LABEL"},{"name":"Google Cloud Build","consta
Support boolean input list: \`true | True | TRUE | false | False | FALSE\``);},e.exports.setOutput=function(e,t){let r=process.env.GITHUB_OUTPUT||"";if(r)return c.issueFileCommand("OUTPUT",c.prepareKeyValueMessage(e,t));process.stdout.write(f.EOL),l.issueCommand("set-output",{name:e},p.toCommandValue(t));},e.exports.setCommandEcho=function(e){l.issue("echo",e?"on":"off");},e.exports.setFailed=function(e){process.exitCode=n.Failure,v(e);},e.exports.isDebug=function(){return"1"===process.env.RUNNER_DEBUG;},e.exports.debug=function(e){l.issueCommand("debug",{},e);},e.exports.error=v,e.exports.warning=function(e,t={}){l.issueCommand("warning",p.toCommandProperties(t),e instanceof Error?e.toString():e);},e.exports.notice=function(e,t={}){l.issueCommand("notice",p.toCommandProperties(t),e instanceof Error?e.toString():e);},e.exports.info=function(e){process.stdout.write(e+f.EOL);},e.exports.startGroup=E,e.exports.endGroup=y,e.exports.group=function(e,t){return a(this,void 0,void 0,function*(){let r;E(e);try{r=yield t();}finally{y();}return r;});},e.exports.saveState=function(e,t){let r=process.env.GITHUB_STATE||"";if(r)return c.issueFileCommand("STATE",c.prepareKeyValueMessage(e,t));l.issueCommand("save-state",{name:e},p.toCommandValue(t));},e.exports.getState=function(e){return process.env[`STATE_${e}`]||"";},e.exports.getIDToken=function(e){return a(this,void 0,void 0,function*(){return yield m.OidcClient.getIDToken(e);});};var w=G("4rwlm");Object.defineProperty(e.exports,"summary",{enumerable:!0,get:function(){return w.summary;}});var w=G("4rwlm");Object.defineProperty(e.exports,"markdownSummary",{enumerable:!0,get:function(){return w.markdownSummary;}});var x=G("3jp5d");Object.defineProperty(e.exports,"toPosixPath",{enumerable:!0,get:function(){return x.toPosixPath;}}),Object.defineProperty(e.exports,"toWin32Path",{enumerable:!0,get:function(){return x.toWin32Path;}}),Object.defineProperty(e.exports,"toPlatformPath",{enumerable:!0,get:function(){return x.toPlatformPath;}});}),G.register("17SLf",function(e,t){"use strict";var r=e.exports&&e.exports.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r];}});}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r];}),n=e.exports&&e.exports.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t});}:function(e,t){e.default=t;}),i=e.exports&&e.exports.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t;};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.issue=e.exports.issueCommand=void 0;let o=i(u);var s=G("6L1x9");function a(e,t,r){let n=new l(e,t,r);process.stdout.write(n.toString()+o.EOL);}e.exports.issueCommand=a,e.exports.issue=function(e,t=""){a(e,{},t);};class l{constructor(e,t,r){e||(e="missing.command"),this.command=e,this.properties=t,this.message=r;}toString(){var e;let t="::"+this.command;if(this.properties&&Object.keys(this.properties).length>0){t+=" ";let e=!0;for(let r in this.properties)if(this.properties.hasOwnProperty(r)){let n=this.properties[r];n&&(e?e=!1:t+=",",t+=`${r}=${s.toCommandValue(n).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}`);}}return t+`::${(e=this.message,s.toCommandValue(e).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A"))}`;}}}),G.register("6L1x9",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.toCommandProperties=e.exports.toCommandValue=void 0,e.exports.toCommandValue=function(e){return null==e?"":"string"==typeof e||e instanceof String?e:JSON.stringify(e);},e.exports.toCommandProperties=function(e){return Object.keys(e).length?{title:e.title,file:e.file,line:e.startLine,endLine:e.endLine,col:e.startColumn,endColumn:e.endColumn}:{};};}),G.register("7PXQQ",function(e,t){"use strict";var r=e.exports&&e.exports.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Obj
Error Code : ${e.statusCode}
Error Message: ${e.result.message}`);}),i=null===(t=n.result)||void 0===t?void 0:t.value;if(!i)throw Error("Response json body do not have ID Token field");return i;});}static getIDToken(e){return r(this,void 0,void 0,function*(){try{let t=s.getIDTokenUrl();if(e){let r=encodeURIComponent(e);t=`${t}&audience=${r}`;}o.debug(`ID token url is ${t}`);let r=yield s.getCall(t);return o.setSecret(r),r;}catch(e){throw Error(`Error message: ${e.message}`);}});}}e.exports.OidcClient=s;}),G.register("3bels",function(e,t){"use strict";var r,n,i,o,s,a=e.exports&&e.exports.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r];}});}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r];}),l=e.exports&&e.exports.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t});}:function(e,t){e.default=t;}),c=e.exports&&e.exports.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.hasOwnProperty.call(e,r)&&a(t,e,r);return l(t,e),t;},u=e.exports&&e.exports.__awaiter||function(e,t,r,n){return new(r||(r=Promise))(function(i,o){function s(e){try{l(n.next(e));}catch(e){o(e);}}function a(e){try{l(n.throw(e));}catch(e){o(e);}}function l(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t);})).then(s,a);}l((n=n.apply(e,t||[])).next());});};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.HttpClient=e.exports.isHttps=e.exports.HttpClientResponse=e.exports.HttpClientError=e.exports.getProxyUrl=e.exports.MediaTypes=e.exports.Headers=e.exports.HttpCodes=void 0;let d=c(h),p=c(m),f=c(G("ht6Lg")),g=c(G("eYDoL"));(r=i=e.exports.HttpCodes||(e.exports.HttpCodes={}))[r.OK=200]="OK",r[r.MultipleChoices=300]="MultipleChoices",r[r.MovedPermanently=301]="MovedPermanently",r[r.ResourceMoved=302]="ResourceMoved",r[r.SeeOther=303]="SeeOther",r[r.NotModified=304]="NotModified",r[r.UseProxy=305]="UseProxy",r[r.SwitchProxy=306]="SwitchProxy",r[r.TemporaryRedirect=307]="TemporaryRedirect",r[r.PermanentRedirect=308]="PermanentRedirect",r[r.BadRequest=400]="BadRequest",r[r.Unauthorized=401]="Unauthorized",r[r.PaymentRequired=402]="PaymentRequired",r[r.Forbidden=403]="Forbidden",r[r.NotFound=404]="NotFound",r[r.MethodNotAllowed=405]="MethodNotAllowed",r[r.NotAcceptable=406]="NotAcceptable",r[r.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",r[r.RequestTimeout=408]="RequestTimeout",r[r.Conflict=409]="Conflict",r[r.Gone=410]="Gone",r[r.TooManyRequests=429]="TooManyRequests",r[r.InternalServerError=500]="InternalServerError",r[r.NotImplemented=501]="NotImplemented",r[r.BadGateway=502]="BadGateway",r[r.ServiceUnavailable=503]="ServiceUnavailable",r[r.GatewayTimeout=504]="GatewayTimeout",(n=o=e.exports.Headers||(e.exports.Headers={})).Accept="accept",n.ContentType="content-type",(s=e.exports.MediaTypes||(e.exports.MediaTypes={})).ApplicationJson="application/json",e.exports.getProxyUrl=function(e){let t=f.getProxyUrl(new URL(e));return t?t.href:"";};let v=[i.MovedPermanently,i.ResourceMoved,i.SeeOther,i.TemporaryRedirect,i.PermanentRedirect],E=[i.BadGateway,i.ServiceUnavailable,i.GatewayTimeout],y=["OPTIONS","GET","DELETE","HEAD"];class w extends Error{constructor(e,t){super(e),this.name="HttpClientError",this.statusCode=t,Object.setPrototypeOf(this,w.prototype);}}e.exports.HttpClientError=w;class x{constructor(e){this.message=e;}readBody(){return u(this,void 0,void 0,function*(){return new Promise(e=>u(this,void 0,void 0,function*(){let t=Buffer.alloc(0);this.message.on("data",e=>{t=Buffer.concat([t,e]);}),this.message.on("end",()=>{e(t.toString());});}));});}}e.exports.HttpClientResponse=x,e.exports.isHttps=function(e){let t=new URL(e);return"https:"===t.protocol;},e.exports.HttpClient=class{constructor(e,t,r){this._ignoreSslError=!1,this._allowRedirects=!0,this._allowRedirectDowngrade=!1,this._maxRedirects=50,this._allowRetries=!1,this._maxRetries=1,this._keepAlive=!1,this._disposed=!1,this.userAgent=e,this.handlers=t||[],this.requestO
${n.message}`:h,v=[g,t,e].filter(Boolean).join("\n");return m?(n.originalMessage=n.message,n.message=v):n=Error(v),n.shortMessage=g,n.command=s,n.escapedCommand=a,n.exitCode=o,n.signal=i,n.signalDescription=p,n.stdout=e,n.stderr=t,void 0!==r&&(n.all=r),"bufferedData"in n&&delete n.bufferedData,n.failed=!0,n.timedOut=!!l,n.isCanceled=c,n.killed=u&&!l,n;};var e5={};const e8=["stdin","stdout","stderr"],e7=e=>{if(!e)return;let{stdio:t}=e;if(void 0===t)return e8.map(t=>e[t]);if(e8.some(t=>void 0!==e[t]))throw Error("It's not possible to provide `stdio` in combination with one of "+e8.map(e=>`\`${e}\``).join(", "));if("string"==typeof t)return t;if(!Array.isArray(t))throw TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof t}\``);return Array.from({length:Math.max(t.length,e8.length)},(e,r)=>t[r]);};(e5=e7).node=e=>{let t=e7(e);return"ipc"===t?"ipc":void 0===t||"string"==typeof t?[t,t,t,"ipc"]:t.includes("ipc")?t:[...t,"ipc"];};var e9,te={},tt=eu.process;const tr=e=>e&&"object"==typeof e&&"function"==typeof e.removeListener&&"function"==typeof e.emit&&"function"==typeof e.reallyExit&&"function"==typeof e.listeners&&"function"==typeof e.kill&&"number"==typeof e.pid&&"function"==typeof e.on;if(tr(tt)){var tn,ti=ef("4c98W"),to=/^win/i.test(tt.platform),ts=v;"function"!=typeof ts&&(ts=ts.EventEmitter),tt.__signal_exit_emitter__?tn=tt.__signal_exit_emitter__:((tn=tt.__signal_exit_emitter__=new ts()).count=0,tn.emitted={}),tn.infinite||(tn.setMaxListeners(1/0),tn.infinite=!0);var ta=()=>{tu&&tr(eu.process)&&(tu=!1,ti.forEach(e=>{try{tt.removeListener(e,tc[e]);}catch(e){}}),tt.emit=th,tt.reallyExit=tp,tn.count-=1);};(te=(e,t)=>{if(!tr(eu.process))return()=>{};E.equal(typeof e,"function","a callback must be provided for exit handler"),!1===tu&&td();var r="exit";return t&&t.alwaysLast&&(r="afterexit"),tn.on(r,e),()=>{tn.removeListener(r,e),0===tn.listeners("exit").length&&0===tn.listeners("afterexit").length&&ta();};}).unload=ta;var tl=(e,t,r)=>{tn.emitted[e]||(tn.emitted[e]=!0,tn.emit(e,t,r));},tc={};ti.forEach(e=>{tc[e]=()=>{tr(eu.process)&&tt.listeners(e).length===tn.count&&(ta(),tl("exit",null,e),tl("afterexit",null,e),to&&"SIGHUP"===e&&(e="SIGINT"),tt.kill(tt.pid,e));};}),te.signals=()=>ti;var tu=!1,td=()=>{!tu&&tr(eu.process)&&(tu=!0,tn.count+=1,ti=ti.filter(e=>{try{return tt.on(e,tc[e]),!0;}catch(e){return!1;}}),tt.emit=tm,tt.reallyExit=tf);};te.load=td;var tp=tt.reallyExit,tf=e=>{tr(eu.process)&&(tt.exitCode=e||0,tl("exit",tt.exitCode,null),tl("afterexit",tt.exitCode,null),tp.call(tt,tt.exitCode));},th=tt.emit,tm=function(e,t){if("exit"===e&&tr(eu.process)){void 0!==t&&(tt.exitCode=t);var r=th.apply(this,arguments);return tl("exit",tt.exitCode,null),tl("afterexit",tt.exitCode,null),r;}return th.apply(this,arguments);};}else te=()=>()=>{};const tg=e=>e===u.constants.signals.SIGTERM||"string"==typeof e&&"SIGTERM"===e.toUpperCase();var tv,tE=(e9={spawnedKill(e,t="SIGTERM",r={}){let n=e(t);return((e,t,r,n)=>{if(!((e,{forceKillAfterTimeout:t},r)=>tg(e)&&!1!==t&&r)(t,r,n))return;let i=(({forceKillAfterTimeout:e=!0})=>{if(!0===e)return 5e3;if(!Number.isFinite(e)||0>e)throw TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`);return e;})(r),o=setTimeout(()=>{e("SIGKILL");},i);o.unref&&o.unref();})(e,t,r,n),n;},spawnedCancel(e,t){e.kill()&&(t.isCanceled=!0);},setupTimeout(e,{timeout:t,killSignal:r="SIGTERM"},n){let i;if(0===t||void 0===t)return n;let o=new Promise((n,o)=>{i=setTimeout(()=>{e.kill(r),o(Object.assign(Error("Timed out"),{timedOut:!0,signal:r}));},t);}),s=n.finally(()=>{clearTimeout(i);});return Promise.race([o,s]);},validateTimeout({timeout:e}){if(void 0!==e&&(!Number.isFinite(e)||0>e))throw TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`);},async setExitHandler(e,{cleanup:t,detached:r},n){if(!t||r)return n;let i=te(()=>{e.kill();});return n.finally(()=>{i();});}}).spawnedKill,ty=e9.spawnedCancel,tw=e9.setupTimeout,tx=e9.validateTimeout,tb=e9.setExitHandler,tS={};const tI=e=>n
${n.message}`:m,E=[v,t,e].filter(Boolean).join("\n");return g?(n.originalMessage=n.message,n.message=E):n=Error(E),n.shortMessage=v,n.command=s,n.escapedCommand=a,n.exitCode=o,n.signal=i,n.signalDescription=p,n.stdout=e,n.stderr=t,void 0!==r&&(n.all=r),"bufferedData"in n&&delete n.bufferedData,n.failed=!0,n.timedOut=!!l,n.isCanceled=c,n.killed=u&&!l,n;};var no={};"use strict";const ns=["stdin","stdout","stderr"],na=e=>ns.some(t=>void 0!==e[t]),nl=e=>{if(!e)return;let{stdio:t}=e;if(void 0===t)return ns.map(t=>e[t]);if(na(e))throw Error(`It's not possible to provide \`stdio\` in combination with one of ${ns.map(e=>`\`${e}\``).join(", ")}`);if("string"==typeof t)return t;if(!Array.isArray(t))throw TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof t}\``);let r=Math.max(t.length,ns.length);return Array.from({length:r},(e,r)=>t[r]);};(no=nl).node=e=>{let t=nl(e);return"ipc"===t?"ipc":void 0===t||"string"==typeof t?[t,t,t,"ipc"]:t.includes("ipc")?t:[...t,"ipc"];};var nc={},nu={},nd=j.process;const np=function(e){return e&&"object"==typeof e&&"function"==typeof e.removeListener&&"function"==typeof e.emit&&"function"==typeof e.reallyExit&&"function"==typeof e.listeners&&"function"==typeof e.kill&&"number"==typeof e.pid&&"function"==typeof e.on;};if(np(nd)){var nf,nh,nm=G("1YMV0"),ng=/^win/i.test(nd.platform),nv=v;"function"!=typeof nv&&(nv=nv.EventEmitter),nd.__signal_exit_emitter__?nh=nd.__signal_exit_emitter__:((nh=nd.__signal_exit_emitter__=new nv()).count=0,nh.emitted={}),nh.infinite||(nh.setMaxListeners(1/0),nh.infinite=!0);var nE=function(){nx&&np(j.process)&&(nx=!1,nm.forEach(function(e){try{nd.removeListener(e,nw[e]);}catch(e){}}),nd.emit=nR,nd.reallyExit=nS,nh.count-=1);};(nu=function(e,t){if(!np(j.process))return function(){};E.equal(typeof e,"function","a callback must be provided for exit handler"),!1===nx&&nb();var r="exit";return t&&t.alwaysLast&&(r="afterexit"),nh.on(r,e),function(){nh.removeListener(r,e),0===nh.listeners("exit").length&&0===nh.listeners("afterexit").length&&nE();};}).unload=nE;var ny=function(e,t,r){nh.emitted[e]||(nh.emitted[e]=!0,nh.emit(e,t,r));},nw={};nm.forEach(function(e){nw[e]=function(){np(j.process)&&nd.listeners(e).length===nh.count&&(nE(),ny("exit",null,e),ny("afterexit",null,e),ng&&"SIGHUP"===e&&(e="SIGINT"),nd.kill(nd.pid,e));};}),nu.signals=function(){return nm;};var nx=!1,nb=function(){!nx&&np(j.process)&&(nx=!0,nh.count+=1,nm=nm.filter(function(e){try{return nd.on(e,nw[e]),!0;}catch(e){return!1;}}),nd.emit=nO,nd.reallyExit=nI);};nu.load=nb;var nS=nd.reallyExit,nI=function(e){np(j.process)&&(nd.exitCode=e||0,ny("exit",nd.exitCode,null),ny("afterexit",nd.exitCode,null),nS.call(nd,nd.exitCode));},nR=nd.emit,nO=function(e,t){if(!("exit"===e&&np(j.process)))return nR.apply(this,arguments);void 0!==t&&(nd.exitCode=t);var r=nR.apply(this,arguments);return ny("exit",nd.exitCode,null),ny("afterexit",nd.exitCode,null),r;};}else nu=function(){return function(){};};"use strict";"use strict";const nT=(e,t,r,n)=>{if(!n$(t,r,n))return;let i=nA(r),o=setTimeout(()=>{e("SIGKILL");},i);o.unref&&o.unref();},n$=(e,{forceKillAfterTimeout:t},r)=>nC(e)&&!1!==t&&r,nC=e=>e===u.constants.signals.SIGTERM||"string"==typeof e&&"SIGTERM"===e.toUpperCase(),nA=({forceKillAfterTimeout:e=!0})=>{if(!0===e)return 5e3;if(!Number.isFinite(e)||e<0)throw TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`);return e;},n_=(e,t,r)=>{e.kill(t),r(Object.assign(Error("Timed out"),{timedOut:!0,signal:t}));},nP=async(e,{cleanup:t,detached:r},n)=>{if(!t||r)return n;let i=nu(()=>{e.kill();});return n.finally(()=>{i();});};var nN=(nc={spawnedKill:(e,t="SIGTERM",r={})=>{let n=e(t);return nT(e,t,r,n),n;},spawnedCancel:(e,t)=>{let r=e.kill();r&&(t.isCanceled=!0);},setupTimeout:(e,{timeout:t,killSignal:r="SIGTERM"},n)=>{let i;if(0===t||void 0===t)return n;let o=new Promise((n,o)=>{i=setTimeout(()=>{n_(e,r,o);},t);}),s=n.finally(()=>{clearTimeout(i);});return Promise.race([o,s]);},validateTimeout:({timeout:e})=>{if(void 0!==e&&(!Number.isFin
${t}`,i_=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),iP=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),iN=(e,t,r)=>{let n=""===r?"":`with ${r.trim()}() `,i=iA.bind(null,n,t.toString());Object.defineProperty(i,"name",iP),Object.defineProperty(e,"toString",{...i_,value:i});},iL=new WeakMap(),iD=(e,t={})=>{let r;if("function"!=typeof e)throw TypeError("Expected a function");let n=0,i=e.displayName||e.name||"<anonymous>",o=function(...s){if(iL.set(o,++n),1===n)r=e.apply(this,s),e=null;else if(!0===t.throw)throw Error(`Function \`${i}\` can only be called once`);return r;};return function(e,t,{ignoreNonConfigurable:r=!1}={}){let{name:n}=e;for(let n of Reflect.ownKeys(t))iT(e,t,n,r);iC(e,t),iN(e,t,n);}(o,e),iL.set(o,n),o;};iD.callCount=e=>{if(!iL.has(e))throw Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return iL.get(e);};const ik=()=>Array.from({length:iM-iU+1},ij),ij=(e,t)=>({name:`SIGRT${t+1}`,number:iU+t,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),iU=34,iM=64,iG=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"termina
${n.message}`:m,E=[v,t,e].filter(Boolean).join("\n");return g?(n.originalMessage=n.message,n.message=E):n=Error(E),n.shortMessage=v,n.command=s,n.escapedCommand=a,n.exitCode=o,n.signal=i,n.signalDescription=p,n.stdout=e,n.stderr=t,void 0!==r&&(n.all=r),"bufferedData"in n&&delete n.bufferedData,n.failed=!0,n.timedOut=!!l,n.isCanceled=c,n.killed=u&&!l,n;},iW=["stdin","stdout","stderr"],iY=e=>iW.some(t=>void 0!==e[t]),iQ=e=>{if(!e)return;let{stdio:t}=e;if(void 0===t)return iW.map(t=>e[t]);if(iY(e))throw Error(`It's not possible to provide \`stdio\` in combination with one of ${iW.map(e=>`\`${e}\``).join(", ")}`);if("string"==typeof t)return t;if(!Array.isArray(t))throw TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof t}\``);let r=Math.max(t.length,iW.length);return Array.from({length:r},(e,r)=>t[r]);},iJ=(e,t="SIGTERM",r={})=>{let n=e(t);return iZ(e,t,r,n),n;},iZ=(e,t,r,n)=>{if(!i0(t,r,n))return;let i=i2(r),o=setTimeout(()=>{e("SIGKILL");},i);o.unref&&o.unref();},i0=(e,{forceKillAfterTimeout:t},r)=>i1(e)&&!1!==t&&r,i1=e=>e===k(P).constants.signals.SIGTERM||"string"==typeof e&&"SIGTERM"===e.toUpperCase(),i2=({forceKillAfterTimeout:e=!0})=>{if(!0===e)return 5e3;if(!Number.isFinite(e)||e<0)throw TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`);return e;},i4=(e,t)=>{let r=e.kill();r&&(t.isCanceled=!0);},i3=(e,t,r)=>{e.kill(t),r(Object.assign(Error("Timed out"),{timedOut:!0,signal:t}));},i6=(e,{timeout:t,killSignal:r="SIGTERM"},n)=>{let i;if(0===t||void 0===t)return n;let o=new Promise((n,o)=>{i=setTimeout(()=>{i3(e,r,o);},t);}),s=n.finally(()=>{clearTimeout(i);});return Promise.race([o,s]);},i5=({timeout:e})=>{if(void 0!==e&&(!Number.isFinite(e)||e<0))throw TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${e}\` (${typeof e})`);},i8=async(e,{cleanup:t,detached:r},n)=>{if(!t||r)return n;let i=k(nu)(()=>{e.kill();});return n.finally(()=>{i();});};function i7(e){return null!==e&&"object"==typeof e&&"function"==typeof e.pipe;}function i9(e){return i7(e)&&!1!==e.writable&&"function"==typeof e._write&&"object"==typeof e._writableState;}const oe=e=>e instanceof C.ChildProcess&&"function"==typeof e.then,ot=(e,t,r)=>{if("string"==typeof r)return e[t].pipe((0,w.createWriteStream)(r)),e;if(i9(r))return e[t].pipe(r),e;if(!oe(r))throw TypeError("The second argument must be a string, a stream or an Execa child process.");if(!i9(r.stdin))throw TypeError("The target child process's stdin must be available.");return e[t].pipe(r.stdin),r;},or=e=>{null!==e.stdout&&(e.pipeStdout=ot.bind(void 0,e,"stdout")),null!==e.stderr&&(e.pipeStderr=ot.bind(void 0,e,"stderr")),void 0!==e.all&&(e.pipeAll=ot.bind(void 0,e,"all"));},on=e=>{if(void 0!==e)throw TypeError("The `input` and `inputFile` options cannot be both set.");},oi=({input:e,inputFile:t})=>"string"!=typeof t?e:(on(e),(0,w.readFileSync)(t)),oo=e=>{let t=oi(e);if(i7(t))throw TypeError("The `input` option cannot be a stream in sync mode");return t;},os=({input:e,inputFile:t})=>"string"!=typeof t?e:(on(e),(0,w.createReadStream)(t)),oa=(e,t)=>{let r=os(t);void 0!==r&&(i7(r)?r.pipe(e.stdin):e.stdin.end(r));},ol=(e,{all:t})=>{if(!t||!e.stdout&&!e.stderr)return;let r=k(nW)();return e.stdout&&r.add(e.stdout),e.stderr&&r.add(e.stderr),r;},oc=async(e,t)=>{if(e&&void 0!==t){e.destroy();try{return await t;}catch(e){return e.bufferedData;}}},ou=(e,{encoding:t,buffer:r,maxBuffer:n})=>{if(e&&r)return t?k(nF)(e,{encoding:t,maxBuffer:n}):k(nF).buffer(e,{maxBuffer:n});},od=async({stdout:e,stderr:t,all:r},{encoding:n,buffer:i,maxBuffer:o},s)=>{let a=ou(e,{encoding:n,buffer:i,maxBuffer:o}),l=ou(t,{encoding:n,buffer:i,maxBuffer:o}),c=ou(r,{encoding:n,buffer:i,maxBuffer:2*o});try{return await Promise.all([s,a,l,c]);}catch(n){return Promise.all([{error:n,signal:n.signal,timedOut:n.timedOut},oc(e,a),oc(t,l),oc(r,c)]);}},op=(async()=>{})().constructor.prototype,of=["then","catch","finally"].map(e=>[e,Reflect.getOwnPropertyDescriptor(op,e)]),oh=(e,t)=>{for(let[r,n]of of){let i="function"==typ
`);},o_=({env:e,extendEnv:t,preferLocal:r,localDir:n,execPath:i})=>{let o=t?{...k(A).env,...e}:e;return r?function({env:e=k(A).env,...t}={}){e={...e};let r=iO({env:e});return t.path=e[r],e[r]=function(e={}){let t;let{cwd:r=k(A).cwd(),path:n=k(A).env[iO()],execPath:i=k(A).execPath}=e,o=r instanceof URL?k(_).fileURLToPath(r):r,s=k($).resolve(o),a=[];for(;t!==s;)a.push(k($).join(s,"node_modules/.bin")),t=s,s=k($).resolve(s,"..");return a.push(k($).resolve(o,i,"..")),[...a,n].join(k($).delimiter);}(t),e;}({env:o,cwd:n,execPath:i}):o;},oP=(e,t,r={})=>{let n=k(rT)._parse(e,t,r);return e=n.command,t=n.args,(r={maxBuffer:1e8,buffer:!0,stripFinalNewline:!0,extendEnv:!0,preferLocal:!1,localDir:(r=n.options).cwd||k(A).cwd(),execPath:k(A).execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0,verbose:oT,...r}).env=o_(r),r.stdio=iQ(r),"win32"===k(A).platform&&"cmd"===k($).basename(e,".exe")&&t.unshift("/q"),{file:e,args:t,options:r,parsed:n};},oN=(e,t,r)=>"string"==typeof t||(0,T.Buffer).isBuffer(t)?e.stripFinalNewline?function(e){let t="string"==typeof e?"\n":"\n".charCodeAt(),r="string"==typeof e?"\r":"\r".charCodeAt();return e[e.length-1]===t&&(e=e.slice(0,-1)),e[e.length-1]===r&&(e=e.slice(0,-1)),e;}(t):t:void 0===r?void 0:"";function oL(e,t,r){let n;let i=oP(e,t,r),o=ow(e,t),s=ox(e,t);oA(s,i.options),i5(i.options);try{n=k(C).spawn(i.file,i.args,i.options);}catch(r){let e=new(k(C).ChildProcess)(),t=Promise.reject(iz({error:r,stdout:"",stderr:"",all:"",command:o,escapedCommand:s,parsed:i,timedOut:!1,isCanceled:!1,killed:!1}));return oh(e,t),e;}let a=om(n),l=i6(n,i.options,a),c=i8(n,i.options,l),u={isCanceled:!1};n.kill=iJ.bind(null,n.kill.bind(n)),n.cancel=i4.bind(null,n,u);let d=async()=>{let[{error:e,exitCode:t,signal:r,timedOut:a},l,d,p]=await od(n,i.options,c),f=oN(i.options,l),h=oN(i.options,d),m=oN(i.options,p);if(e||0!==t||null!==r){let l=iz({error:e,exitCode:t,signal:r,stdout:f,stderr:h,all:m,command:o,escapedCommand:s,parsed:i,timedOut:a,isCanceled:u.isCanceled||!!i.options.signal&&i.options.signal.aborted,killed:n.killed});if(!i.options.reject)return l;throw l;}return{command:o,escapedCommand:s,exitCode:0,stdout:f,stderr:h,all:m,failed:!1,timedOut:!1,isCanceled:!1,killed:!1};},p=iD(d);return oa(n,i.options),n.all=ol(n,i.options),or(n),oh(n,p),n;}function oD(e,t,r){let n;let i=oP(e,t,r),o=ow(e,t),s=ox(e,t);oA(s,i.options);let a=oo(i.options);try{n=k(C).spawnSync(i.file,i.args,{...i.options,input:a});}catch(e){throw iz({error:e,stdout:"",stderr:"",all:"",command:o,escapedCommand:s,parsed:i,timedOut:!1,isCanceled:!1,killed:!1});}let l=oN(i.options,n.stdout,n.error),c=oN(i.options,n.stderr,n.error);if(n.error||0!==n.status||null!==n.signal){let e=iz({stdout:l,stderr:c,error:n.error,signal:n.signal,exitCode:n.status,command:o,escapedCommand:s,parsed:i,timedOut:n.error&&"ETIMEDOUT"===n.error.code,isCanceled:!1,killed:null!==n.signal});if(!i.options.reject)return e;throw e;}return{command:o,escapedCommand:s,exitCode:0,stdout:l,stderr:c,failed:!1,timedOut:!1,isCanceled:!1,killed:!1};}const ok=({input:e,inputFile:t,stdio:r})=>void 0===e&&void 0===t&&void 0===r?{stdin:"inherit"}:{},oj=(e={})=>({preferLocal:!0,...ok(e),...e});function oU(t,r=["-NoProfile","-NoLogo","-NonInteractive"],n={stdio:"inherit"}){return oL(function(){if(void 0===e){let t=k(rE).sync("pwsh",{nothrow:!0});null!==t&&(e=t);let r=k(rE).sync("powershell",{nothrow:!0});null!==r&&(e=r);}if(void 0===e)throw Error("Could not find powershell");return e;}(),[...r,"-c",t],n);}!function e(t){function r(n,...i){if(!Array.isArray(n))return e({...t,...n});let[o,...s]=oO(n,i);return oL(o,s,oj(t));}return r.sync=(e,...r)=>{if(!Array.isArray(e))throw TypeError("Please use $(options).sync`command` instead of $.sync(options)`command`.");let[n,...i]=oO(e,r);return oD(n,i,oj(t));},r;}();var oM={};const oG="win32"!==u.platform(),oF=u.release(),oB=/(\d+\.\d+)\.(\d+)/,oH=(e="",t="")=>/1\d+\.\d+/.test(e)&&Number(t)>=17134.1184;function oV(e){if(("linux"===process.platform||"darwin"===process.platform)&&eo()&&void 0!==process.env.SUDO_USER){let t=(0,p.statSync)(e).isDirect
if [ -z "\${${e}}" ]; then export ${e}="${n}"; fi
`),(0,rm.info)(`if not defined ${e} then ${e}="${n}" was added to "${oY}`)):((0,p.appendFileSync)(oY,`
export ${e}="${n}"
`),(0,rm.info)(`${e}="${n}" was added to "${oY}`));return;}process.env[e]=n;}async function oJ(e){switch(process.platform){case"win32":await oU(`$USER_PATH=([Environment]::GetEnvironmentVariable("PATH", "User")); [Environment]::SetEnvironmentVariable("PATH", "${e};$USER_PATH", "User")`),(0,rm.info)(`"${e}" was added to the PATH.`);return;case"linux":case"darwin":await o0(),(0,p.appendFileSync)(oY,`
export PATH="${e}:$PATH"
`),(0,rm.info)(`"${e}" was added to "${oY}"`);return;default:return;}}let oZ=!1;async function o0(){if(oZ)return;let e="# Automatically Generated by setup-cpp\nexport SOURCE_CPPRC=0";if(await(0,oX.pathExists)(oY)){let t=(0,p.readFileSync)(oY,"utf8");if(t.includes(e))return;}(0,p.appendFileSync)(oY,`
${e}
`),(0,rm.info)(`Added ${e} to ${oY}`);let t=`
# source .cpprc if SOURCE_CPPRC is not set to 0
if [[ "$SOURCE_CPPRC" != 0 && -f "${oY}" ]]; then source "${oY}"; fi
`;try{let e=t3(".profile");(0,p.appendFileSync)(e,t),(0,rm.info)(`${t} was added to ${e}`);let r=t3(".bashrc");(0,p.appendFileSync)(r,t),(0,rm.info)(`${t} was added to ${r}`);}catch(e){(0,B.warning)(`Failed to add ${t} to .profile or .bashrc. You should add it manually: ${e}`);}oZ=!0;}async function o1(){if(await(0,oX.pathExists)(oY)){let e=(0,p.readFileSync)(oY,"utf-8").split("\n"),t=[...new Set(e.reverse())].reverse();(0,p.writeFileSync)(oY,t.join("\n"));try{oV(oY);}catch{}}}var o2={},o4=d.join,o3=d.delimiter,o6=d.sep,o5=d.posix;const o8="win32"===process.platform,o7=new RegExp(`[${o5.sep}${o6===o5.sep?"":o6}]`.replace(/(\\)/g,"\\$1")),o9=RegExp(`^\\.${o7.source}`),se=e=>Object.assign(Error(`not found: ${e}`),{code:"ENOENT"}),st=(e,{path:t=process.env.PATH,pathExt:r=process.env.PATHEXT,delimiter:n=o3})=>{let i=e.match(o7)?[""]:[...(o8?[process.cwd()]:[]),...(t||"").split(n)];if(o8){let t=r||[".EXE",".CMD",".BAT",".COM"].join(n),o=t.split(n).reduce((e,t)=>(e.push(t),e.push(t.toLowerCase()),e),[]);return e.includes(".")&&""!==o[0]&&o.unshift(""),{pathEnv:i,pathExt:o,pathExtExe:t};}return{pathEnv:i,pathExt:[""]};},sr=(e,t)=>{let r=/^".*"$/.test(e)?e.slice(1,-1):e,n=!r&&o9.test(t)?t.slice(0,2):"";return n+o4(r,t);},sn=async(e,t={})=>{let{pathEnv:r,pathExt:n,pathExtExe:i}=st(e,t),o=[];for(let s of r){let r=sr(s,e);for(let e of n){let n=r+e,s=await rx(n,{pathExt:i,ignoreErrors:!0});if(s){if(!t.all)return n;o.push(n);}}}if(t.all&&o.length)return o;if(t.nothrow)return null;throw se(e);};o2=sn,sn.sync=(e,t={})=>{let{pathEnv:r,pathExt:n,pathExtExe:i}=st(e,t),o=[];for(let s of r){let r=sr(s,e);for(let e of n){let n=r+e,s=rx.sync(n,{pathExt:i,ignoreErrors:!0});if(s){if(!t.all)return n;o.push(n);}}}if(t.all&&o.length)return o;if(t.nothrow)return null;throw se(e);};var oX=G("dOmbL"),si=G("9ag04"),B=G("ER74K");const{appendFile:so}=p.promises;let ss=!1,sa=!1;async function sl(e,t=!1){let r=null!==k(o2).sync("nala",{nothrow:!0})?"nala":"apt-get";for(let{name:t,version:n}of e)(0,B.info)(`Installing ${t} ${n??""} via ${r}`);process.env.DEBIAN_FRONTEND="noninteractive",(!ss||t)&&(su(r),ss=!0),sa||(await sd(r),sa=!0);let n=[...new Set(e.flatMap(e=>e.repositories??[]))];if(0!==n.length){for(let e of n)iy("add-apt-repository",["-y",e]);su(r);}let i=await Promise.all(e.map(e=>sc(e.name,e.version)));return iy(r,["install","--fix-broken","-y",...i]),{binDir:"/usr/bin/"};}async function sc(e,t){if(void 0!==t&&""!==t){let{stdout:r}=await oL("apt-cache",["search","--names-only",`^${(0,si.default)(e)}-${(0,si.default)(t)}$`]);if(""!==r.trim())return`${e}-${t}`;try{let{stdout:r}=await oL("apt-cache",["show",`${e}=${t}`]);if(""===r.trim())return`${e}=${t}`;}catch{}(0,B.warning)(`Failed to install ${e} ${t} via apt, trying without version`);}return e;}function su(e){iy(e,"nala"!==e?["update","-y"]:["update"]);}async function sd(e){iy(e,["install","--fix-broken","-y","software-properties-common","apt-utils","ca-certificates","gnupg"]);let t=[sf(["3B4FE6ACC0B21F32","40976EAF437D05B5"],"setup-cpp-ubuntu-archive.gpg"),sf(["1E9377A2BA9EF27F"],"launchpad-toolchain.gpg")];"nala"===e&&t.push(oz("LANG","C.UTF-8",{shouldAddOnlyIfNotDefined:!0}),oz("LC_ALL","C.UTF-8",{shouldAddOnlyIfNotDefined:!0})),await Promise.all(t);}function sp(){iy("gpg",["-k"]);}async function sf(e,t,r="keyserver.ubuntu.com"){try{let n=`/etc/apt/trusted.gpg.d/${t}`;return(await(0,oX.pathExists)(n))||(sp(),await Promise.all(e.map(async e=>{await iw("gpg",["--no-default-keyring","--keyring",`gnupg-ring:${n}`,"--keyserver",r,"--recv-keys",e]),await iw("chmod",["644",n]);}))),n;}catch(e){(0,B.warning)(`Failed to add apt key via server ${r}: ${e}`);return;}}async function sh(e,t){let r=`/etc/apt/trusted.gpg.d/${e}`;return(await(0,oX.pathExists)(r))||(sp(),await sl([{name:"curl"}],void 0),iy("bash",["-c",`curl -s ${t} | gpg --no-default-keyring --keyring gnupg-ring:${r} --import`]),iy("chmod",["644",r])),r;}async function sm(e,t){return F.GITHUB_ACTIONS?iw("update-alternatives",["--install",`/usr/bin/${e}`,e,t,"40"]):(await o0(),so(oY,`
if [ $UID -eq 0 ]; then update-alternatives --install /usr/bin/${e} ${e} ${t} 40; fi
`));}var rm=G("lcRzN"),rv=(G("ceI0e"),G("ceI0e")),sg=G("fcBgE");async function sv(e,r,n){if(!["darwin","linux"].includes(process.platform))return;if("string"==typeof t)return{binDir:t};let i=k(o2).sync("brew",{nothrow:!0});if(null!==i)return{binDir:t=(0,rv.dirname)(i)};let o=k(d).join((0,u.tmpdir)(),"setup-cpp","brew");await(0,sg.mkdirP)(o),oD("curl",["-LJO","https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh"],{cwd:o});let s=(0,d.join)(o,"install.sh");if("linux"===process.platform){let e=(0,p.readFileSync)(s,"utf-8");e.replace("#!/bin/bash","");}return oD("/bin/bash",[s],{stdio:"inherit",env:{NONINTERACTIVE:"1"}}),t=sE(),await oW(t),{binDir:t};}function sE(){return"linux"===process.platform?"/home/linuxbrew/.linuxbrew/bin/":"/usr/local/bin/";}let sy=!1;async function sw(e,t,r=[]){(0,rm.info)(`Installing ${e} ${t??""} via brew`),sy&&null!==k(o2).sync("brew",{nothrow:!0})||(await sv("","",process.arch),sy=!0);let n=sE();return oD((0,rv.join)(n,"brew"),["install",void 0!==t&&""!==t?`${e}@${t}`:e,...r],{stdio:"inherit"}),{binDir:n};}var oX=G("dOmbL"),rv=G("ceI0e");async function sx(e,t,n){if("win32"!==process.platform)return;if("string"==typeof r)return{binDir:r};let i=k(o2).sync("choco",{nothrow:!0});if(null!==i)return{binDir:r=(0,rv.dirname)(i)};let o="powershell.exe",s=k(o2).sync(`${process.env.SystemRoot}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`,{nothrow:!0});null!==s&&(o=s),oD(o,["-NoProfile","-InputFormat","None","-ExecutionPolicy","Bypass","-Command","[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))"],{stdio:"inherit"});let a=`${process.env.ALLUSERSPROFILE}\\chocolatey\\bin`;await oW(a);let l=k(o2).sync("choco",{nothrow:!0});if(r=null!==l?(0,rv.dirname)(l):`${process.env.ChocolateyInstall??"C:/ProgramData/chocolatey"}/bin`,await(0,oX.pathExists)(r))return{binDir:r};}var rm=G("lcRzN"),B=G("ER74K");let sb=!1;async function sS(e,t,r=[]){(0,rm.info)(`Installing ${e} ${t??""} via chocolatey`),sb&&null!==k(o2).sync("choco",{nothrow:!0})||(await sx("","",process.arch),sb=!0);let n=process.env.PATH,i={...process.env};if(delete i.TMP,delete i.TEMP,delete i.Path,i.PATH=n,void 0!==t&&""!==t)oD("choco",["install","-y",e,`--version=${t}`,...r],{env:i,extendEnv:!1,stdio:"inherit"});else try{oD("choco",["install","-y",e,...r],{env:i,extendEnv:!1,stdio:"inherit"});}catch(t){if(t.message.includes("exit code 3010"))(0,B.notice)(`${e} might require a reboot for the completion of the installation.`);else throw t;}let o=`${process.env.ChocolateyInstall??"C:/ProgramData/chocolatey"}/bin`;return await oW(o),{binDir:o};}function sI(){return"linux"===process.platform&&(void 0===o&&(o=null!==k(o2).sync("pacman",{nothrow:!0})),o);}function sR(){return"linux"===process.platform&&(void 0===s&&(s=null!==k(o2).sync("dnf",{nothrow:!0})),s);}function sO(e,t){if((0,B.info)(`Installing ${e} ${t??""} via dnf`),void 0!==t&&""!==t)try{iy("dnf",["-y","install",`${e}-${t}`]);}catch(t){(0,B.warning)(`${t.toString()}
Installing the default version available via dnf`),iy("dnf",["-y","install",e]);}else iy("dnf",["-y","install",e]);return{binDir:"/usr/bin/"};}function sT(){return"linux"===process.platform&&(void 0===a&&(a=null!==k(o2).sync("apt-get",{nothrow:!0})),a);}async function s$(e,t,r){switch(process.platform){case"win32":return sS("bazelisk",e);case"darwin":return sw("bazelisk",e);case"linux":if(sI())throw Error("installing bazel on Arch linux is not supported yet");if(sR())return sO("dnf-plugins-core",void 0),iy("dnf",["copr","enable","vbatts/bazel"]),sO("bazel4",void 0);if(sT()){let t=await sh("bazel-archive-keyring.gpg","https://bazel.build/bazel-release.pub.gpg");return iy("bash",["-c",`echo "deb [arch=amd64 signed-by=${t}] https://storage.googleapis.com/bazel-apt stable jdk1.8" | tee /etc/apt/sources.list.d/bazel.list`]),sl([{name:"bazel",version:e}],!0);}throw Error("Unsupported linux distribution");default:throw Error("Unsupported platform");}}var B=(G("ER74K"),G("ER74K"));let sC=!1,sA=!1;async function s_(e,t,r){(0,B.info)(`Installing ${e} ${t??""} via pacman`);let n="pacman";sC||"yay"===r||(iy(n,["-Sy","--noconfirm"]),sC=!0),sA||(iy(n,["-S","--noconfirm","base-devel"]),sA=!0);let i=e=>iy(r??n,["-S","--noconfirm",e]);if(void 0!==t&&""!==t){let r=await sN(n,e);if(r.includes(t))try{i(`${e}=${t}`);}catch{i(`${e}${t}`);}else(0,B.info)(`Failed to install ${e} ${t} via pacman, trying without version`),i(e);}else i(e);return{binDir:"/usr/bin/"};}const sP=/Version\s*:\s*(.*)/g;async function sN(e,t){let r=[];try{let{stdout:n}=await oL(e,["-Si",t]);for(let e of n.matchAll(sP))r.push(e[1]);}catch(e){(0,B.warning)(`Failed to get available versions for ${t}: ${e}`);}return r;}"use strict";var sL={},sD=d.resolve(__dirname,"../../node_modules/.pnpm/@actions+tool-cache@2.0.1/node_modules/@actions/tool-cache/lib"),sk=sL&&sL.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r];}});}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r];}),sj=sL&&sL.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t});}:function(e,t){e.default=t;}),sU=sL&&sL.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.hasOwnProperty.call(e,r)&&sk(t,e,r);return sj(t,e),t;},sM=sL&&sL.__awaiter||function(e,t,r,n){return new(r||(r=Promise))(function(i,o){function s(e){try{l(n.next(e));}catch(e){o(e);}}function a(e){try{l(n.throw(e));}catch(e){o(e);}}function l(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t);})).then(s,a);}l((n=n.apply(e,t||[])).next());});},sG=sL&&sL.__importDefault||function(e){return e&&e.__esModule?e:{default:e};};Object.defineProperty(sL,"__esModule",{value:!0}),sL.evaluateVersions=sL.isExplicitVersion=sL.findFromManifest=sL.getManifestFromRepo=sL.findAllVersions=sL.find=sL.cacheFile=sL.cacheDir=sL.extractZip=sL.extractXar=sL.extractTar=sL.extract7z=sL.downloadTool=sL.HTTPError=void 0;"use strict";const sF=sU(G("lcRzN")),sB=sU(G("fcBgE")),sH=sU(p),sV=sU(G("ktIRP")),sq=sU(u),sX=sU(d),sK=sU(G("3bels")),sz=sU(G("aNgTs")),sW=sU(R),sY=sU(y),sQ=sG(G("dGCqI"));var sJ=G("jlr6Q"),sZ={},s0=sZ&&sZ.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r];}});}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r];}),s1=sZ&&sZ.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t});}:function(e,t){e.default=t;}),s2=sZ&&sZ.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.hasOwnProperty.call(e,r)&&s0(t,e,r);return s1(t,e),t;},s4=sZ&&sZ.__awaiter||function(e,t,r,n){return new(r||(r=Promise))(function(i,o){function s(e){try{l(n.next(e));}catch(e){o(e);}}function a(e){try{l(n.throw(e));}catch(e){o(e);}}function l(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t);})).then(s,a);}l((n=n.apply(e,t||[])).next());});};Object.defineProperty(sZ,"__e
- The installation directory is ${t.installDir}`),""!==t.binDir&&(r+=`
- The binary directory is ${t.binDir}`)),r;}var rm=G("lcRzN"),B=G("ER74K"),aN=G("hs40t");async function cO(e,t,r,n,i,o,s){try{let{compiler:a,version:l}=function(e){let t=e.split("-"),r=t[0];if(1 in t){let e=t[1];return null!==k(aN)(e)||(0,B.info)(`Invalid semver version ${e} used for the compiler.`),{compiler:r,version:e};}return{compiler:r,version:void 0};}(e);switch((0,rm.startGroup)(`Installing ${a} ${l??""}`),a){case"llvm":case"clang":case"clang++":{let e=await lG(a1("llvm",l,t),(0,d.join)(r,"llvm"),n);await oz("GCOV","llvm-cov gcov"),i.push(cR("llvm",e));break;}case"gcc":case"mingw":case"cygwin":case"msys":{let e=a1("gcc",l,t),s=await lg(e,(0,d.join)(r,"gcc"),n);o&&(await oz("CPPFLAGS","")),await function(e){let t=k(aN)(e),r=null!==t?k(ld)(t):e,n=""!==r?`gcov-${r}`:"gcov";return oz("GCOV",n);}(e),i.push(cR("gcc",s));break;}case"cl":case"msvc":case"msbuild":case"vs":case"visualstudio":case"visualcpp":case"visualc++":{let e=await cp(a1("msvc",l,t),(0,d.join)(r,"msvc"),n);o&&(await oz("CPPFLAGS","")),i.push(cR("msvc",e));break;}case"appleclang":case"applellvm":(0,rm.notice)("Assuming apple-clang is already installed"),await Promise.all([oz("CC","clang"),oz("CXX","clang++")]),i.push(cR("apple-clang",void 0));break;default:s.push(`Unsupported compiler ${a}`);}}catch(t){(0,B.error)(t),s.push(`Failed to install the ${e}`);}(0,rm.endGroup)();}(async function(e){let t,r,n=Promise.resolve();F.GITHUB_ACTIONS||(n=rh(),process.env.ACTIONS_ALLOW_UNSECURE_COMMANDS="true");let i=function(e,t){t=t||{};var r,n,i,o,s,a={_:[]},l=0,c=0,u=0,d=(e=e||[]).length;let p=void 0!==t.alias,f=void 0!==t.unknown,h=void 0!==t.default;if(t.alias=t.alias||{},t.string=rg(t.string),t.boolean=rg(t.boolean),p)for(r in t.alias)for(l=0,n=t.alias[r]=rg(t.alias[r]);l<n.length;l++)(t.alias[n[l]]=n.concat(r)).splice(l,1);for(l=t.boolean.length;l-->0;)for(c=(n=t.alias[t.boolean[l]]||[]).length;c-->0;)t.boolean.push(n[c]);for(l=t.string.length;l-->0;)for(c=(n=t.alias[t.string[l]]||[]).length;c-->0;)t.string.push(n[c]);if(h){for(r in t.default)if(o=typeof t.default[r],n=t.alias[r]=t.alias[r]||[],void 0!==t[o])for(t[o].push(r),l=0;l<n.length;l++)t[o].push(n[l]);}let m=f?Object.keys(t.alias):[];for(l=0;l<d;l++){if("--"===(i=e[l])){a._=a._.concat(e.slice(++l));break;}for(c=0;c<i.length&&45===i.charCodeAt(c);c++);if(0===c)a._.push(i);else if("no-"===i.substring(c,c+3)){if(o=i.substring(c+3),f&&!~m.indexOf(o))return t.unknown(i);a[o]=!1;}else{for(u=c+1;u<i.length&&61!==i.charCodeAt(u);u++);for(o=i.substring(c,u),s=i.substring(++u)||l+1===d||45===(""+e[l+1]).charCodeAt(0)||e[++l],n=2===c?[o]:o,u=0;u<n.length;u++){if(o=n[u],f&&!~m.indexOf(o))return t.unknown("-".repeat(c)+o);!function(e,t,r,n){var i,o=e[t],s=~n.string.indexOf(t)?null==r||!0===r?"":String(r):"boolean"==typeof r?r:~n.boolean.indexOf(t)?"false"!==r&&("true"===r||(e._.push(0*(i=+r)==0?i:r),!!r)):0*(i=+r)==0?i:r;e[t]=null==o?s:Array.isArray(o)?o.concat(s):[o,s];}(a,o,u+1<n.length||s,t);}}}if(h)for(r in t.default)void 0===a[r]&&(a[r]=t.default[r]);if(p)for(r in a)for(n=t.alias[r]||[];n.length>0;)a[n.shift()]=a[r];return a;}(e,{string:cI,default:Object.fromEntries(cI.map(e=>[e,function(e){let t=(0,rm.getInput)(e.toLowerCase());if("false"!==t&&""!==t)return t;}(e)])),alias:{h:"help"},boolean:"help"});i.help&&((0,B.info)(`
setup-cpp [options]
setup-cpp --compiler llvm --cmake true --ninja true --ccache true --vcpkg true
Install all the tools required for building and testing C++/C projects.
--architecture the cpu architecture to install the tools for. By default it uses the current CPU architecture.
--compiler the <compiler> to install.
You can specify the version instead of specifying just the name e.g: --compiler 'llvm-13.0.0'
--$tool_name pass "true" or pass the <version> you would like to install for this tool. e.g. --conan true or --conan "1.42.1"
All the available tools:
`),console.table({"compiler and analyzer":{tools:"--llvm, --gcc, --msvc, --vcvarsall, --cppcheck, --clangtidy, --clangformat"},"build system":{tools:"--cmake, --ninja, --meson, --make, --task, --bazel"},"package manager":{tools:"--vcpkg, --conan, --choco, --brew, --nala"},cache:{tools:"--cppcache, --sccache"},documentation:{tools:"--doxygen, --graphviz"},coverage:{tools:"--gcovr, --opencppcoverage, --kcov"},other:{tools:"--python, --powershell, --sevenzip"}},["tools"]));let o=i.architecture??process.arch,s=process.env.SETUP_CPP_DIR??t3(""),a=[],l=[],c=q.create({autoloadLocales:!0});q.addLocale(k(X)),H.addLocale(k(V));let u=await a5();if(!function(e,t){let r=t.filter(t=>void 0!==e[t]),n=r.filter(t=>!a2(e[t])),i=n.length>=1?e[n[0]]:"true";return!n.some(t=>e[t]!==i)&&(r.forEach(t=>{e[t]=i;}),!0);}(i,["llvm","clangtidy","clangformat"]))return(0,B.error)("The same version must be used for llvm, clangformat and clangtidy"),1;sI()&&"string"==typeof i.cppcheck&&"string"==typeof i.gcovr&&((0,B.info)("installing python-pygments to avoid conflicts with cppcheck and gcovr on Arch linux"),await s_("python-pygments"));let d=!1;for(let e of cS){let n=i[e];void 0!==n&&(t=Date.now(),d=await cx(e,n,u,o,s,a,l),r=Date.now(),(0,B.info)(`took ${c.format(t,r)||"0 seconds"}`));}let p=i.compiler;if(void 0!==p){let e=Date.now();await cO(p,u,s,o,a,d,l);let t=Date.now();(0,B.info)(`took ${c.format(e,t)||"0 seconds"}`);}if(await o1(),0===a.length&&0===l.length)return(0,B.warning)("setup-cpp was called without any arguments. Nothing to do."),0;if(a.forEach(e=>(0,B.success)(e)),l.forEach(e=>(0,B.error)(e)),(0,B.info)("setup-cpp finished"),!F.GITHUB_ACTIONS)switch(process.platform){case"win32":(0,B.warning)("Run `RefreshEnv.cmd` or restart your shell to update the environment.");break;case"linux":case"darwin":(0,B.warning)("Run `source ~/.cpprc` or restart your shell to update the environment.");}return await n,0===l.length?0:1;})(process.argv).then(e=>{process.exitCode=e;}).catch(e=>{(0,B.error)("main() panicked!"),(0,B.error)(e),process.exitCode=1;});
//# sourceMappingURL=setup-cpp.js.map