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

40 lines
238 KiB
JavaScript
Raw Normal View History

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