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

40 lines
237 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,p=require("os"),d=require("path"),f=require("fs"),h=require("crypto"),m=require("http"),v=require("https");require("net");var g=require("tls"),E=require("events"),y=require("assert"),w=require("util"),x=require("fs"),b=require("child_process"),S=require("string_decoder"),I=require("timers"),R=require("buffer"),O=require("stream"),$=require("process"),T=require("buffer"),C=require("path"),A=require("child_process"),_=require("process"),N=require("url"),P=require("os"),L=require("util"),D=require("url");function k(e,t,r,n){Object.defineProperty(e,t,{get:r,set:n,enumerable:!0,configurable:!0});}function U(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:{},M={},F={},G=j.parcelRequire810d;null==G&&((G=function(e){if(e in M)return M[e].exports;if(e in F){var t=F[e];delete F[e];var r={id:e,exports:{}};return M[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){F[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","cons
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},u.toCommandValue(t));},e.exports.setCommandEcho=function(e){l.issue("echo",e?"on":"off");},e.exports.setFailed=function(e){process.exitCode=n.Failure,g(e);},e.exports.isDebug=function(){return"1"===process.env.RUNNER_DEBUG;},e.exports.debug=function(e){l.issueCommand("debug",{},e);},e.exports.error=g,e.exports.warning=function(e,t={}){l.issueCommand("warning",u.toCommandProperties(t),e instanceof Error?e.toString():e);},e.exports.notice=function(e,t={}){l.issueCommand("notice",u.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},u.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(p);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
2023-07-16 06:41:58 +08:00
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 p=c(m),d=c(v),f=c(G("ht6Lg")),h=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 g=[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
2023-07-18 12:35:11 +08:00
${n.message}`:m,E=[g,t,e].filter(Boolean).join("\n");return v?(n.originalMessage=n.message,n.message=E):n=Error(E),n.shortMessage=g,n.command=s,n.escapedCommand=a,n.exitCode=o,n.signal=i,n.signalDescription=d,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 ez={};"use strict";const eK=["stdin","stdout","stderr"],eW=e=>eK.some(t=>void 0!==e[t]),eY=e=>{if(!e)return;let{stdio:t}=e;if(void 0===t)return eK.map(t=>e[t]);if(eW(e))throw Error(`It's not possible to provide \`stdio\` in combination with one of ${eK.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,eK.length);return Array.from({length:r},(e,r)=>t[r]);};(ez=eY).node=e=>{let t=eY(e);return"ipc"===t?"ipc":void 0===t||"string"==typeof t?[t,t,t,"ipc"]:t.includes("ipc")?t:[...t,"ipc"];};var eQ={},eJ={},eZ=j.process;const e0=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(e0(eZ)){var e1,e2,e4=G("1YMV0"),e3=/^win/i.test(eZ.platform),e6=E;"function"!=typeof e6&&(e6=e6.EventEmitter),eZ.__signal_exit_emitter__?e2=eZ.__signal_exit_emitter__:((e2=eZ.__signal_exit_emitter__=new e6()).count=0,e2.emitted={}),e2.infinite||(e2.setMaxListeners(1/0),e2.infinite=!0);var e5=function(){e9&&e0(j.process)&&(e9=!1,e4.forEach(function(e){try{eZ.removeListener(e,e8[e]);}catch(e){}}),eZ.emit=tn,eZ.reallyExit=tt,e2.count-=1);};(eJ=function(e,t){if(!e0(j.process))return function(){};y.equal(typeof e,"function","a callback must be provided for exit handler"),!1===e9&&te();var r="exit";return t&&t.alwaysLast&&(r="afterexit"),e2.on(r,e),function(){e2.removeListener(r,e),0===e2.listeners("exit").length&&0===e2.listeners("afterexit").length&&e5();};}).unload=e5;var e7=function(e,t,r){e2.emitted[e]||(e2.emitted[e]=!0,e2.emit(e,t,r));},e8={};e4.forEach(function(e){e8[e]=function(){e0(j.process)&&eZ.listeners(e).length===e2.count&&(e5(),e7("exit",null,e),e7("afterexit",null,e),e3&&"SIGHUP"===e&&(e="SIGINT"),eZ.kill(eZ.pid,e));};}),eJ.signals=function(){return e4;};var e9=!1,te=function(){!e9&&e0(j.process)&&(e9=!0,e2.count+=1,e4=e4.filter(function(e){try{return eZ.on(e,e8[e]),!0;}catch(e){return!1;}}),eZ.emit=ti,eZ.reallyExit=tr);};eJ.load=te;var tt=eZ.reallyExit,tr=function(e){e0(j.process)&&(eZ.exitCode=e||0,e7("exit",eZ.exitCode,null),e7("afterexit",eZ.exitCode,null),tt.call(eZ,eZ.exitCode));},tn=eZ.emit,ti=function(e,t){if(!("exit"===e&&e0(j.process)))return tn.apply(this,arguments);void 0!==t&&(eZ.exitCode=t);var r=tn.apply(this,arguments);return e7("exit",eZ.exitCode,null),e7("afterexit",eZ.exitCode,null),r;};}else eJ=function(){return function(){};};"use strict";"use strict";const to=(e,t,r,n)=>{if(!ts(t,r,n))return;let i=tl(r),o=setTimeout(()=>{e("SIGKILL");},i);o.unref&&o.unref();},ts=(e,{forceKillAfterTimeout:t},r)=>ta(e)&&!1!==t&&r,ta=e=>e===p.constants.signals.SIGTERM||"string"==typeof e&&"SIGTERM"===e.toUpperCase(),tl=({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;},tc=(e,t,r)=>{e.kill(t),r(Object.assign(Error("Timed out"),{timedOut:!0,signal:t}));},tu=async(e,{cleanup:t,detached:r},n)=>{if(!t||r)return n;let i=eJ(()=>{e.kill();});return n.finally(()=>{i();});};var tp=(eQ={spawnedKill:(e,t="SIGTERM",r={})=>{let n=e(t);return to(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(()=>{tc(e,r,o);},t);}),s=n.finally(()=>{clearTimeout(i);});return Promise.race([o,s]);},validateTimeout:({timeout:e})=>{if(void 0!==e&&(!Number.isFin
${t}`,rb=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),rS=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),rI=(e,t,r)=>{let n=""===r?"":`with ${r.trim()}() `,i=rx.bind(null,n,t.toString());Object.defineProperty(i,"name",rS),Object.defineProperty(e,"toString",{...rb,value:i});},rR=new WeakMap(),rO=(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(rR.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))rE(e,t,n,r);rw(e,t),rI(e,t,n);}(o,e),rR.set(o,n),o;};rO.callCount=e=>{if(!rR.has(e))throw Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return rR.get(e);};const r$=()=>Array.from({length:rA-rC+1},rT),rT=(e,t)=>({name:`SIGRT${t+1}`,number:rC+t,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),rC=34,rA=64,r_=[{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=[g,t,e].filter(Boolean).join("\n");return v?(n.originalMessage=n.message,n.message=E):n=Error(E),n.shortMessage=g,n.command=s,n.escapedCommand=a,n.exitCode=o,n.signal=i,n.signalDescription=d,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;},rF=["stdin","stdout","stderr"],rG=e=>rF.some(t=>void 0!==e[t]),rB=e=>{if(!e)return;let{stdio:t}=e;if(void 0===t)return rF.map(t=>e[t]);if(rG(e))throw Error(`It's not possible to provide \`stdio\` in combination with one of ${rF.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,rF.length);return Array.from({length:r},(e,r)=>t[r]);},rH=(e,t="SIGTERM",r={})=>{let n=e(t);return rV(e,t,r,n),n;},rV=(e,t,r,n)=>{if(!rq(t,r,n))return;let i=rz(r),o=setTimeout(()=>{e("SIGKILL");},i);o.unref&&o.unref();},rq=(e,{forceKillAfterTimeout:t},r)=>rX(e)&&!1!==t&&r,rX=e=>e===U(P).constants.signals.SIGTERM||"string"==typeof e&&"SIGTERM"===e.toUpperCase(),rz=({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;},rK=(e,t)=>{let r=e.kill();r&&(t.isCanceled=!0);},rW=(e,t,r)=>{e.kill(t),r(Object.assign(Error("Timed out"),{timedOut:!0,signal:t}));},rY=(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(()=>{rW(e,r,o);},t);}),s=n.finally(()=>{clearTimeout(i);});return Promise.race([o,s]);},rQ=({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})`);},rJ=async(e,{cleanup:t,detached:r},n)=>{if(!t||r)return n;let i=U(eJ)(()=>{e.kill();});return n.finally(()=>{i();});};function rZ(e){return null!==e&&"object"==typeof e&&"function"==typeof e.pipe;}function r0(e){return rZ(e)&&!1!==e.writable&&"function"==typeof e._write&&"object"==typeof e._writableState;}const r1=e=>e instanceof A.ChildProcess&&"function"==typeof e.then,r2=(e,t,r)=>{if("string"==typeof r)return e[t].pipe((0,x.createWriteStream)(r)),e;if(r0(r))return e[t].pipe(r),e;if(!r1(r))throw TypeError("The second argument must be a string, a stream or an Execa child process.");if(!r0(r.stdin))throw TypeError("The target child process's stdin must be available.");return e[t].pipe(r.stdin),r;},r4=e=>{null!==e.stdout&&(e.pipeStdout=r2.bind(void 0,e,"stdout")),null!==e.stderr&&(e.pipeStderr=r2.bind(void 0,e,"stderr")),void 0!==e.all&&(e.pipeAll=r2.bind(void 0,e,"all"));},r3=e=>{if(void 0!==e)throw TypeError("The `input` and `inputFile` options cannot be both set.");},r6=({input:e,inputFile:t})=>"string"!=typeof t?e:(r3(e),(0,x.readFileSync)(t)),r5=e=>{let t=r6(e);if(rZ(t))throw TypeError("The `input` option cannot be a stream in sync mode");return t;},r7=({input:e,inputFile:t})=>"string"!=typeof t?e:(r3(e),(0,x.createReadStream)(t)),r8=(e,t)=>{let r=r7(t);void 0!==r&&(rZ(r)?r.pipe(e.stdin):e.stdin.end(r));},r9=(e,{all:t})=>{if(!t||!e.stdout&&!e.stderr)return;let r=U(t$)();return e.stdout&&r.add(e.stdout),e.stderr&&r.add(e.stderr),r;},ne=async(e,t)=>{if(e&&void 0!==t){e.destroy();try{return await t;}catch(e){return e.bufferedData;}}},nt=(e,{encoding:t,buffer:r,maxBuffer:n})=>{if(e&&r)return t?U(ty)(e,{encoding:t,maxBuffer:n}):U(ty).buffer(e,{maxBuffer:n});},nr=async({stdout:e,stderr:t,all:r},{encoding:n,buffer:i,maxBuffer:o},s)=>{let a=nt(e,{encoding:n,buffer:i,maxBuffer:o}),l=nt(t,{encoding:n,buffer:i,maxBuffer:o}),c=nt(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},ne(e,a),ne(t,l),ne(r,c)]);}},nn=(async()=>{})().constructor.prototype,ni=["then","catch","finally"].map(e=>[e,Reflect.getOwnPropertyDescriptor(nn,e)]),no=(e,t)=>{for(let[r,n]of ni){let i="function"==typ
`);},nb=({env:e,extendEnv:t,preferLocal:r,localDir:n,execPath:i})=>{let o=t?{...U(_).env,...e}:e;return r?function({env:e=U(_).env,...t}={}){e={...e};let r=rg({env:e});return t.path=e[r],e[r]=function(e={}){let t;let{cwd:r=U(_).cwd(),path:n=U(_).env[rg()],execPath:i=U(_).execPath}=e,o=r instanceof URL?U(N).fileURLToPath(r):r,s=U(C).resolve(o),a=[];for(;t!==s;)a.push(U(C).join(s,"node_modules/.bin")),t=s,s=U(C).resolve(s,"..");return a.push(U(C).resolve(o,i,"..")),[...a,n].join(U(C).delimiter);}(t),e;}({env:o,cwd:n,execPath:i}):o;},nS=(e,t,r={})=>{let n=U(eo)._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||U(_).cwd(),execPath:U(_).execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0,verbose:nE,...r}).env=nb(r),r.stdio=rB(r),"win32"===U(_).platform&&"cmd"===U(C).basename(e,".exe")&&t.unshift("/q"),{file:e,args:t,options:r,parsed:n};},nI=(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 nR(e,t,r){let n;let i=nS(e,t,r),o=np(e,t),s=nd(e,t);nx(s,i.options),rQ(i.options);try{n=U(A).spawn(i.file,i.args,i.options);}catch(r){let e=new(U(A).ChildProcess)(),t=Promise.reject(rM({error:r,stdout:"",stderr:"",all:"",command:o,escapedCommand:s,parsed:i,timedOut:!1,isCanceled:!1,killed:!1}));return no(e,t),e;}let a=ns(n),l=rY(n,i.options,a),c=rJ(n,i.options,l),u={isCanceled:!1};n.kill=rH.bind(null,n.kill.bind(n)),n.cancel=rK.bind(null,n,u);let p=async()=>{let[{error:e,exitCode:t,signal:r,timedOut:a},l,p,d]=await nr(n,i.options,c),f=nI(i.options,l),h=nI(i.options,p),m=nI(i.options,d);if(e||0!==t||null!==r){let l=rM({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};},d=rO(p);return r8(n,i.options),n.all=r9(n,i.options),r4(n),no(n,d),n;}function nO(e,t,r){let n;let i=nS(e,t,r),o=np(e,t),s=nd(e,t);nx(s,i.options);let a=r5(i.options);try{n=U(A).spawnSync(i.file,i.args,{...i.options,input:a});}catch(e){throw rM({error:e,stdout:"",stderr:"",all:"",command:o,escapedCommand:s,parsed:i,timedOut:!1,isCanceled:!1,killed:!1});}let l=nI(i.options,n.stdout,n.error),c=nI(i.options,n.stderr,n.error);if(n.error||0!==n.status||null!==n.signal){let e=rM({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 n$=({input:e,inputFile:t,stdio:r})=>void 0===e&&void 0===t&&void 0===r?{stdin:"inherit"}:{},nT=(e={})=>({preferLocal:!0,...n$(e),...e});function nC(t,r=["-NoProfile","-NoLogo","-NonInteractive"],n={stdio:"inherit"}){return nR(function(){if(void 0===e){let t=U(Y).sync("pwsh",{nothrow:!0});null!==t&&(e=t);let r=U(Y).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]=ng(n,i);return nR(o,s,nT(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]=ng(e,r);return nO(n,i,nT(t));},r;}();var nA={};const n_="win32"!==p.platform(),nN=p.release(),nP=/(\d+\.\d+)\.(\d+)/,nL=(e="",t="")=>/1\d+\.\d+/.test(e)&&Number(t)>=17134.1184;function nD(e){if(("linux"===process.platform||"darwin"===process.platform)&&t0()&&void 0!==process.env.SUDO_USER){let t=(0,f.statSync)(e).isDirector
2023-07-16 06:41:58 +08:00
if [ -z "\${${e}}" ]; then export ${e}="${n}"; fi
`),(0,rh.info)(`if not defined ${e} then ${e}="${n}" was added to "${nG}`)):((0,f.appendFileSync)(nG,`
2023-07-16 06:41:58 +08:00
export ${e}="${n}"
`),(0,rh.info)(`${e}="${n}" was added to "${nG}`));return;}process.env[e]=n;}async function nH(e){switch(process.platform){case"win32":await nC(`$USER_PATH=([Environment]::GetEnvironmentVariable("PATH", "User")); [Environment]::SetEnvironmentVariable("PATH", "${e};$USER_PATH", "User")`),(0,rh.info)(`"${e}" was added to the PATH.`);return;case"linux":case"darwin":await nq(),(0,f.appendFileSync)(nG,`
2023-07-16 06:41:58 +08:00
export PATH="${e}:$PATH"
`),(0,rh.info)(`"${e}" was added to "${nG}"`);return;default:return;}}let nV=!1;async function nq(){if(nV)return;let e="# Automatically Generated by setup-cpp\nexport SOURCE_CPPRC=0";if(await(0,nU.pathExists)(nG)){let t=(0,f.readFileSync)(nG,"utf8");if(t.includes(e))return;}(0,f.appendFileSync)(nG,`
2023-07-16 06:41:58 +08:00
${e}
`),(0,rh.info)(`Added ${e} to ${nG}`);let t=`
2023-07-16 06:41:58 +08:00
# source .cpprc if SOURCE_CPPRC is not set to 0
if [[ "$SOURCE_CPPRC" != 0 && -f "${nG}" ]]; then source "${nG}"; fi
`;try{let e=t4(".profile");(0,f.appendFileSync)(e,t),(0,rh.info)(`${t} was added to ${e}`);let r=t4(".bashrc");(0,f.appendFileSync)(r,t),(0,rh.info)(`${t} was added to ${r}`);}catch(e){(0,H.warning)(`Failed to add ${t} to .profile or .bashrc. You should add it manually: ${e}`);}nV=!0;}async function nX(){if(await(0,nU.pathExists)(nG)){let e=(0,f.readFileSync)(nG,"utf-8").split("\n"),t=[...new Set(e.reverse())].reverse();(0,f.writeFileSync)(nG,t.join("\n"));try{nD(nG);}catch{}}}var nU=G("dOmbL"),nz=G("9ag04"),H=G("ER74K"),nK={},nW=d.join,nY=d.delimiter,nQ=d.sep,nJ=d.posix;const nZ="win32"===process.platform,n0=new RegExp(`[${nJ.sep}${nQ===nJ.sep?"":nQ}]`.replace(/(\\)/g,"\\$1")),n1=RegExp(`^\\.${n0.source}`),n2=e=>Object.assign(Error(`not found: ${e}`),{code:"ENOENT"}),n4=(e,{path:t=process.env.PATH,pathExt:r=process.env.PATHEXT,delimiter:n=nY})=>{let i=e.match(n0)?[""]:[...(nZ?[process.cwd()]:[]),...(t||"").split(n)];if(nZ){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:[""]};},n3=(e,t)=>{let r=/^".*"$/.test(e)?e.slice(1,-1):e,n=!r&&n1.test(t)?t.slice(0,2):"";return n+nW(r,t);},n6=async(e,t={})=>{let{pathEnv:r,pathExt:n,pathExtExe:i}=n4(e,t),o=[];for(let s of r){let r=n3(s,e);for(let e of n){let n=r+e,s=await Z(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 n2(e);};nK=n6,n6.sync=(e,t={})=>{let{pathEnv:r,pathExt:n,pathExtExe:i}=n4(e,t),o=[];for(let s of r){let r=n3(s,e);for(let e of n){let n=r+e,s=Z.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 n2(e);};const{appendFile:n5}=f.promises;let n7=!1,n8=!1;async function n9(e,t=!1){let r=ir()?"nala":"apt-get";for(let{name:t,version:n}of e)(0,H.info)(`Installing ${t} ${n??""} via ${r}`);process.env.DEBIAN_FRONTEND="noninteractive",(!n7||t)&&(ii(r),n7=!0),n8||(await io(r),n8=!0);let n=[...new Set(e.flatMap(e=>e.repositories??[]))];if(0!==n.length){for(let e of n)t1("add-apt-repository",["-y",e]);ii(r);}let i=await Promise.all(e.map(e=>it(e.name,e.version)));try{t1(r,["install","--fix-broken","-y",...i]);}catch(e){if("stderr"in e){let t=e.stderr;(t.includes("E: Could not get lock")||t.includes("dpkg: error processing archive"))&&((0,H.warning)(`Failed to install packages ${i}. Retrying...`),t1(r,["install","--fix-broken","-y",...i]));}else throw e;}return{binDir:"/usr/bin/"};}async function ie(e,t){if(void 0!==t&&""!==t){let{stdout:r}=await nR("apt-cache",["search","--names-only",`^${(0,nz.default)(e)}-${(0,nz.default)(t)}$`]);if(""!==r.trim())return l.NameDashVersion;try{let{stdout:r}=await nR("apt-cache",["show",`${e}=${t}`]);if(""===r.trim())return l.NameEqualsVersion;}catch{}}try{let{stdout:t}=await nR("apt-cache",["show",e]);if(""!==t.trim())return l.Name;}catch{}return l.None;}async function it(e,t){let r=await ie(e,t);switch(r){case l.NameDashVersion:return`${e}-${t}`;case l.NameEqualsVersion:return`${e}=${t}`;case l.Name:return e;case l.None:default:throw Error(`Could not find package ${e} ${t??""}`);}}function ir(){return null!==U(nK).sync("nala",{nothrow:!0});}function ii(e){t1(e,"nala"!==e?["update","-y"]:["update"]);}async function io(e){t1(e,["install","--fix-broken","-y","software-properties-common","apt-utils","ca-certificates","gnupg"]);let t=[ia(["3B4FE6ACC0B21F32","40976EAF437D05B5"],"setup-cpp-ubuntu-archive.gpg"),ia(["1E9377A2BA9EF27F"],"launchpad-toolchain.gpg")];"nala"===e&&t.push(nM("LANG","C.UTF-8",{shouldAddOnlyIfNotDefined:!0}),nM("LC_ALL","C.UTF-8",{shouldAddOnlyIfNotDefined:!0})),await Promise.all(t);}function is(){t1("gpg",["-k"]);}async function ia(e,t,r="keyserver.ubuntu.com"){try{let n=`/etc/apt/trusted.gpg.d/${t}`;return(await(0,nU.pathExists)(n))||(is(),await Promise.all(e.map(async e=>{await t2("gpg",["--no-default-keyring","--keyring",`gnupg-ring:${n}`,"--keyserver",r,"--recv-keys",e]),await t2("chmod",["
2023-07-16 06:41:58 +08:00
if [ $UID -eq 0 ]; then update-alternatives --install /usr/bin/${e} ${e} ${t} 40; fi
`));}!function(e){e[e.NameDashVersion=0]="NameDashVersion",e[e.NameEqualsVersion=1]="NameEqualsVersion",e[e.Name=2]="Name",e[e.None=3]="None";}(l||(l={}));var rh=G("lcRzN"),rv=(G("ceI0e"),G("ceI0e")),iu=G("fcBgE");async function ip(e,r,n){if(!["darwin","linux"].includes(process.platform))return;if("string"==typeof t)return{binDir:t};let i=U(nK).sync("brew",{nothrow:!0});if(null!==i)return{binDir:t=(0,rv.dirname)(i)};let o=U(d).join((0,p.tmpdir)(),"setup-cpp","brew");await(0,iu.mkdirP)(o),nO("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,f.readFileSync)(s,"utf-8");e.replace("#!/bin/bash","");}return nO("/bin/bash",[s],{stdio:"inherit",env:{NONINTERACTIVE:"1"}}),t=id(),await nF(t),{binDir:t};}function id(){return"linux"===process.platform?"/home/linuxbrew/.linuxbrew/bin/":"/usr/local/bin/";}let ih=!1;async function im(e,t,r=[]){(0,rh.info)(`Installing ${e} ${t??""} via brew`),ih&&null!==U(nK).sync("brew",{nothrow:!0})||(await ip("","",process.arch),ih=!0);let n=id();return nO((0,rv.join)(n,"brew"),["install",void 0!==t&&""!==t?`${e}@${t}`:e,...r],{stdio:"inherit"}),{binDir:n};}var nU=G("dOmbL"),rv=G("ceI0e");async function iv(e,t,n){if("win32"!==process.platform)return;if("string"==typeof r)return{binDir:r};let i=U(nK).sync("choco",{nothrow:!0});if(null!==i)return{binDir:r=(0,rv.dirname)(i)};let o="powershell.exe",s=U(nK).sync(`${process.env.SystemRoot}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`,{nothrow:!0});null!==s&&(o=s),nO(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 nF(a);let l=U(nK).sync("choco",{nothrow:!0});if(r=null!==l?(0,rv.dirname)(l):`${process.env.ChocolateyInstall??"C:/ProgramData/chocolatey"}/bin`,await(0,nU.pathExists)(r))return{binDir:r};}var rh=G("lcRzN"),H=G("ER74K");let ig=!1;async function iE(e,t,r=[]){(0,rh.info)(`Installing ${e} ${t??""} via chocolatey`),ig&&null!==U(nK).sync("choco",{nothrow:!0})||(await iv("","",process.arch),ig=!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)nO("choco",["install","-y",e,`--version=${t}`,...r],{env:i,extendEnv:!1,stdio:"inherit"});else try{nO("choco",["install","-y",e,...r],{env:i,extendEnv:!1,stdio:"inherit"});}catch(t){if(t.message.includes("exit code 3010"))(0,H.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 nF(o),{binDir:o};}function iy(){return"linux"===process.platform&&(void 0===o&&(o=null!==U(nK).sync("pacman",{nothrow:!0})),o);}function iw(){return"linux"===process.platform&&(void 0===s&&(s=null!==U(nK).sync("dnf",{nothrow:!0})),s);}async function ix(e){for(let{name:t,version:r}of e)(0,H.info)(`Installing ${t} ${r??""} via dnf`);let t=await Promise.all(e.map(e=>ib(e.name,e.version)));return t1("dnf",["-y","install",...t]),{binDir:"/usr/bin/"};}async function ib(e,t){if(void 0!==t&&""!==t){let{stdout:r}=await nR("dnf",["search","-q",`${e}-${t}`]);if(""!==r.trim())return`${e}-${t}`;{let{stdout:r}=await nR("dnf",["search","-q",`${e}${t}`]);if(""!==r.trim())return`${e}${t}`;(0,H.warning)(`Failed to install ${e} ${t} via dnf, trying without version`);}}return e;}function iS(){return"linux"===process.platform&&(void 0===a&&(a=null!==U(nK).sync("apt-get",{nothrow:!0})),a);}async function iI(e,t,r){switch(process.platform){case"win32":return iE("bazelisk",e);case"darwin":return im("bazelisk",e);case"linux":if(iy())throw Error("installing bazel on Arch linux is not supported yet");if(iw())return await ix([{name:"dnf-plugins-core"}]),t1("dnf",["copr","enable","vbatts/bazel"]),ix([{name:"bazel4"}]);if(iS()){let t=await il("bazel-archive-keyring.gpg","https://bazel.b
2023-07-16 06:41:58 +08:00
- The installation directory is ${t.installDir}`),""!==t.binDir&&(r+=`
- The binary directory is ${t.binDir}`)),r;}var rh=G("lcRzN"),H=G("ER74K"),oC=G("hs40t");async function aC(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!==U(oC)(e)||(0,H.info)(`Invalid semver version ${e} used for the compiler.`),{compiler:r,version:e};}return{compiler:r,version:void 0};}(e);switch((0,rh.startGroup)(`Installing ${a} ${l??""}`),a){case"llvm":case"clang":case"clang++":{let e=await sM(oQ("llvm",l,t),(0,d.join)(r,"llvm"),n);await nM("GCOV","llvm-cov gcov"),i.push(aT("llvm",e));break;}case"gcc":case"mingw":case"cygwin":case"msys":{let e=oQ("gcc",l,t),s=await sd(e,(0,d.join)(r,"gcc"),n);o&&(await nM("CPPFLAGS","")),await function(e){let t=U(oC)(e),r=null!==t?U(sa)(t):e,n=""!==r?`gcov-${r}`:"gcov";return nM("GCOV",n);}(e),i.push(aT("gcc",s));break;}case"cl":case"msvc":case"msbuild":case"vs":case"visualstudio":case"visualcpp":case"visualc++":{let e=await am(oQ("msvc",l,t),(0,d.join)(r,"msvc"),n);o&&(await nM("CPPFLAGS","")),i.push(aT("msvc",e));break;}case"appleclang":case"applellvm":(0,rh.notice)("Assuming apple-clang is already installed"),await Promise.all([nM("CC","clang"),nM("CXX","clang++")]),i.push(aT("apple-clang",void 0));break;default:s.push(`Unsupported compiler ${a}`);}}catch(t){(0,H.error)(t),s.push(`Failed to install the ${e}`);}(0,rh.endGroup)();}(async function(e){let t,r,n=Promise.resolve();B.GITHUB_ACTIONS||(n=rf(),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,p=(e=e||[]).length;let d=void 0!==t.alias,f=void 0!==t.unknown,h=void 0!==t.default;if(t.alias=t.alias||{},t.string=rm(t.string),t.boolean=rm(t.boolean),d)for(r in t.alias)for(l=0,n=t.alias[r]=rm(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<p;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===p||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(d)for(r in a)for(n=t.alias[r]||[];n.length>0;)a[n.shift()]=a[r];return a;}(e,{string:a$,default:Object.fromEntries(a$.map(e=>[e,function(e){let t=(0,rh.getInput)(e.toLowerCase());if("false"!==t&&""!==t)return t;}(e)])),alias:{h:"help"},boolean:"help"});i.help&&((0,H.info)(`
2023-07-16 06:41:58 +08:00
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??t4(""),a=[],l=[],c=X.create({autoloadLocales:!0});X.addLocale(U(z)),V.addLocale(U(q));let u=await o2();if(!function(e,t){let r=t.filter(t=>void 0!==e[t]),n=r.filter(t=>!oJ(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,H.error)("The same version must be used for llvm, clangformat and clangtidy"),1;iy()&&"string"==typeof i.cppcheck&&"string"==typeof i.gcovr&&((0,H.info)("installing python-pygments to avoid conflicts with cppcheck and gcovr on Arch linux"),await i$("python-pygments"));let p=!1;for(let e of aO){let n=i[e];void 0!==n&&(t=Date.now(),p=await aI(e,n,u,o,s,a,l),r=Date.now(),(0,H.info)(`took ${c.format(t,r)||"0 seconds"}`));}let d=i.compiler;if(void 0!==d){let e=Date.now();await aC(d,u,s,o,a,p,l);let t=Date.now();(0,H.info)(`took ${c.format(e,t)||"0 seconds"}`);}if(await nX(),0===a.length&&0===l.length)return(0,H.warning)("setup-cpp was called without any arguments. Nothing to do."),0;if(a.forEach(e=>(0,H.success)(e)),l.forEach(e=>(0,H.error)(e)),(0,H.info)("setup-cpp finished"),!B.GITHUB_ACTIONS)switch(process.platform){case"win32":(0,H.warning)("Run `RefreshEnv.cmd` or restart your shell to update the environment.");break;case"linux":case"darwin":(0,H.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,H.error)("main() panicked!"),(0,H.error)(e),process.exitCode=1;});
2023-07-16 06:41:58 +08:00
//# sourceMappingURL=setup-cpp.js.map