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

40 lines
236 KiB
JavaScript
Raw Normal View History

2023-07-16 06:41:58 +08:00
#!/usr/bin/env node
2023-07-16 17:48:34 +08:00
let e,t,r,n,i,o,s,a;var l,c,u=require("os"),p=require("path"),d=require("fs"),f=require("crypto"),h=require("http"),m=require("https");require("net");var v=require("tls"),g=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"),$=require("buffer"),T=require("path"),C=require("child_process"),A=require("process"),_=require("url"),N=require("os"),P=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 U="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},j={},M={},F=U.parcelRequire810d;null==F&&((F=function(e){if(e in j)return j[e].exports;if(e in M){var t=M[e];delete M[e];var r={id:e,exports:{}};return j[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;},U.parcelRequire810d=F),F.register("dTX7a",function(e,t){"use strict";var r=F("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));}),F.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},d.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",d.toCommandProperties(t),e instanceof Error?e.toString():e);},e.exports.notice=function(e,t={}){l.issueCommand("notice",d.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},d.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=F("4rwlm");Object.defineProperty(e.exports,"summary",{enumerable:!0,get:function(){return w.summary;}});var w=F("4rwlm");Object.defineProperty(e.exports,"markdownSummary",{enumerable:!0,get:function(){return w.markdownSummary;}});var x=F("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;}});}),F.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=F("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"))}`;}}}),F.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}:{};};}),F.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}
2023-07-16 17:48:34 +08:00
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;}),F.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(h),d=c(m),f=c(F("ht6Lg")),v=c(F("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
${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 eX={};"use strict";const ez=["stdin","stdout","stderr"],eK=e=>ez.some(t=>void 0!==e[t]),eW=e=>{if(!e)return;let{stdio:t}=e;if(void 0===t)return ez.map(t=>e[t]);if(eK(e))throw Error(`It's not possible to provide \`stdio\` in combination with one of ${ez.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,ez.length);return Array.from({length:r},(e,r)=>t[r]);};(eX=eW).node=e=>{let t=eW(e);return"ipc"===t?"ipc":void 0===t||"string"==typeof t?[t,t,t,"ipc"]:t.includes("ipc")?t:[...t,"ipc"];};var eY={},eQ={},eJ=U.process;const eZ=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(eZ(eJ)){var e0,e1,e2=F("1YMV0"),e4=/^win/i.test(eJ.platform),e3=g;"function"!=typeof e3&&(e3=e3.EventEmitter),eJ.__signal_exit_emitter__?e1=eJ.__signal_exit_emitter__:((e1=eJ.__signal_exit_emitter__=new e3()).count=0,e1.emitted={}),e1.infinite||(e1.setMaxListeners(1/0),e1.infinite=!0);var e6=function(){e8&&eZ(U.process)&&(e8=!1,e2.forEach(function(e){try{eJ.removeListener(e,e7[e]);}catch(e){}}),eJ.emit=tr,eJ.reallyExit=te,e1.count-=1);};(eQ=function(e,t){if(!eZ(U.process))return function(){};E.equal(typeof e,"function","a callback must be provided for exit handler"),!1===e8&&e9();var r="exit";return t&&t.alwaysLast&&(r="afterexit"),e1.on(r,e),function(){e1.removeListener(r,e),0===e1.listeners("exit").length&&0===e1.listeners("afterexit").length&&e6();};}).unload=e6;var e5=function(e,t,r){e1.emitted[e]||(e1.emitted[e]=!0,e1.emit(e,t,r));},e7={};e2.forEach(function(e){e7[e]=function(){eZ(U.process)&&eJ.listeners(e).length===e1.count&&(e6(),e5("exit",null,e),e5("afterexit",null,e),e4&&"SIGHUP"===e&&(e="SIGINT"),eJ.kill(eJ.pid,e));};}),eQ.signals=function(){return e2;};var e8=!1,e9=function(){!e8&&eZ(U.process)&&(e8=!0,e1.count+=1,e2=e2.filter(function(e){try{return eJ.on(e,e7[e]),!0;}catch(e){return!1;}}),eJ.emit=tn,eJ.reallyExit=tt);};eQ.load=e9;var te=eJ.reallyExit,tt=function(e){eZ(U.process)&&(eJ.exitCode=e||0,e5("exit",eJ.exitCode,null),e5("afterexit",eJ.exitCode,null),te.call(eJ,eJ.exitCode));},tr=eJ.emit,tn=function(e,t){if(!("exit"===e&&eZ(U.process)))return tr.apply(this,arguments);void 0!==t&&(eJ.exitCode=t);var r=tr.apply(this,arguments);return e5("exit",eJ.exitCode,null),e5("afterexit",eJ.exitCode,null),r;};}else eQ=function(){return function(){};};"use strict";"use strict";const ti=(e,t,r,n)=>{if(!to(t,r,n))return;let i=ta(r),o=setTimeout(()=>{e("SIGKILL");},i);o.unref&&o.unref();},to=(e,{forceKillAfterTimeout:t},r)=>ts(e)&&!1!==t&&r,ts=e=>e===u.constants.signals.SIGTERM||"string"==typeof e&&"SIGTERM"===e.toUpperCase(),ta=({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;},tl=(e,t,r)=>{e.kill(t),r(Object.assign(Error("Timed out"),{timedOut:!0,signal:t}));},tc=async(e,{cleanup:t,detached:r},n)=>{if(!t||r)return n;let i=eQ(()=>{e.kill();});return n.finally(()=>{i();});};var tu=(eY={spawnedKill:(e,t="SIGTERM",r={})=>{let n=e(t);return ti(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(()=>{tl(e,r,o);},t);}),s=n.finally(()=>{clearTimeout(i);});return Promise.race([o,s]);},validateTimeout:({timeout:e})=>{if(void 0!==e&&(!Number.isFin
2023-07-16 17:48:34 +08:00
${t}`,rx=Object.getOwnPropertyDescriptor(Function.prototype,"toString"),rb=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name"),rS=(e,t,r)=>{let n=""===r?"":`with ${r.trim()}() `,i=rw.bind(null,n,t.toString());Object.defineProperty(i,"name",rb),Object.defineProperty(e,"toString",{...rx,value:i});},rI=new WeakMap(),rR=(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(rI.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))rg(e,t,n,r);ry(e,t),rS(e,t,n);}(o,e),rI.set(o,n),o;};rR.callCount=e=>{if(!rI.has(e))throw Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return rI.get(e);};const rO=()=>Array.from({length:rC-rT+1},r$),r$=(e,t)=>({name:`SIGRT${t+1}`,number:rT+t,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}),rT=34,rC=64,rA=[{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;},rM=["stdin","stdout","stderr"],rF=e=>rM.some(t=>void 0!==e[t]),rG=e=>{if(!e)return;let{stdio:t}=e;if(void 0===t)return rM.map(t=>e[t]);if(rF(e))throw Error(`It's not possible to provide \`stdio\` in combination with one of ${rM.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,rM.length);return Array.from({length:r},(e,r)=>t[r]);},rB=(e,t="SIGTERM",r={})=>{let n=e(t);return rH(e,t,r,n),n;},rH=(e,t,r,n)=>{if(!rV(t,r,n))return;let i=rX(r),o=setTimeout(()=>{e("SIGKILL");},i);o.unref&&o.unref();},rV=(e,{forceKillAfterTimeout:t},r)=>rq(e)&&!1!==t&&r,rq=e=>e===k(N).constants.signals.SIGTERM||"string"==typeof e&&"SIGTERM"===e.toUpperCase(),rX=({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;},rz=(e,t)=>{let r=e.kill();r&&(t.isCanceled=!0);},rK=(e,t,r)=>{e.kill(t),r(Object.assign(Error("Timed out"),{timedOut:!0,signal:t}));},rW=(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(()=>{rK(e,r,o);},t);}),s=n.finally(()=>{clearTimeout(i);});return Promise.race([o,s]);},rY=({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})`);},rQ=async(e,{cleanup:t,detached:r},n)=>{if(!t||r)return n;let i=k(eQ)(()=>{e.kill();});return n.finally(()=>{i();});};function rJ(e){return null!==e&&"object"==typeof e&&"function"==typeof e.pipe;}function rZ(e){return rJ(e)&&!1!==e.writable&&"function"==typeof e._write&&"object"==typeof e._writableState;}const r0=e=>e instanceof C.ChildProcess&&"function"==typeof e.then,r1=(e,t,r)=>{if("string"==typeof r)return e[t].pipe((0,w.createWriteStream)(r)),e;if(rZ(r))return e[t].pipe(r),e;if(!r0(r))throw TypeError("The second argument must be a string, a stream or an Execa child process.");if(!rZ(r.stdin))throw TypeError("The target child process's stdin must be available.");return e[t].pipe(r.stdin),r;},r2=e=>{null!==e.stdout&&(e.pipeStdout=r1.bind(void 0,e,"stdout")),null!==e.stderr&&(e.pipeStderr=r1.bind(void 0,e,"stderr")),void 0!==e.all&&(e.pipeAll=r1.bind(void 0,e,"all"));},r4=e=>{if(void 0!==e)throw TypeError("The `input` and `inputFile` options cannot be both set.");},r3=({input:e,inputFile:t})=>"string"!=typeof t?e:(r4(e),(0,w.readFileSync)(t)),r6=e=>{let t=r3(e);if(rJ(t))throw TypeError("The `input` option cannot be a stream in sync mode");return t;},r5=({input:e,inputFile:t})=>"string"!=typeof t?e:(r4(e),(0,w.createReadStream)(t)),r7=(e,t)=>{let r=r5(t);void 0!==r&&(rJ(r)?r.pipe(e.stdin):e.stdin.end(r));},r8=(e,{all:t})=>{if(!t||!e.stdout&&!e.stderr)return;let r=k(tO)();return e.stdout&&r.add(e.stdout),e.stderr&&r.add(e.stderr),r;},r9=async(e,t)=>{if(e&&void 0!==t){e.destroy();try{return await t;}catch(e){return e.bufferedData;}}},ne=(e,{encoding:t,buffer:r,maxBuffer:n})=>{if(e&&r)return t?k(tE)(e,{encoding:t,maxBuffer:n}):k(tE).buffer(e,{maxBuffer:n});},nt=async({stdout:e,stderr:t,all:r},{encoding:n,buffer:i,maxBuffer:o},s)=>{let a=ne(e,{encoding:n,buffer:i,maxBuffer:o}),l=ne(t,{encoding:n,buffer:i,maxBuffer:o}),c=ne(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},r9(e,a),r9(t,l),r9(r,c)]);}},nr=(async()=>{})().constructor.prototype,nn=["then","catch","finally"].map(e=>[e,Reflect.getOwnPropertyDescriptor(nr,e)]),ni=(e,t)=>{for(let[r,n]of nn){let i="function"==typ
`);},nx=({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=rv({env:e});return t.path=e[r],e[r]=function(e={}){let t;let{cwd:r=k(A).cwd(),path:n=k(A).env[rv()],execPath:i=k(A).execPath}=e,o=r instanceof URL?k(_).fileURLToPath(r):r,s=k(T).resolve(o),a=[];for(;t!==s;)a.push(k(T).join(s,"node_modules/.bin")),t=s,s=k(T).resolve(s,"..");return a.push(k(T).resolve(o,i,"..")),[...a,n].join(k(T).delimiter);}(t),e;}({env:o,cwd:n,execPath:i}):o;},nb=(e,t,r={})=>{let n=k(ei)._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:ng,...r}).env=nx(r),r.stdio=rG(r),"win32"===k(A).platform&&"cmd"===k(T).basename(e,".exe")&&t.unshift("/q"),{file:e,args:t,options:r,parsed:n};},nS=(e,t,r)=>"string"==typeof t||(0,$.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 nI(e,t,r){let n;let i=nb(e,t,r),o=nu(e,t),s=np(e,t);nw(s,i.options),rY(i.options);try{n=k(C).spawn(i.file,i.args,i.options);}catch(r){let e=new(k(C).ChildProcess)(),t=Promise.reject(rj({error:r,stdout:"",stderr:"",all:"",command:o,escapedCommand:s,parsed:i,timedOut:!1,isCanceled:!1,killed:!1}));return ni(e,t),e;}let a=no(n),l=rW(n,i.options,a),c=rQ(n,i.options,l),u={isCanceled:!1};n.kill=rB.bind(null,n.kill.bind(n)),n.cancel=rz.bind(null,n,u);let p=async()=>{let[{error:e,exitCode:t,signal:r,timedOut:a},l,p,d]=await nt(n,i.options,c),f=nS(i.options,l),h=nS(i.options,p),m=nS(i.options,d);if(e||0!==t||null!==r){let l=rj({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=rR(p);return r7(n,i.options),n.all=r8(n,i.options),r2(n),ni(n,d),n;}function nR(e,t,r){let n;let i=nb(e,t,r),o=nu(e,t),s=np(e,t);nw(s,i.options);let a=r6(i.options);try{n=k(C).spawnSync(i.file,i.args,{...i.options,input:a});}catch(e){throw rj({error:e,stdout:"",stderr:"",all:"",command:o,escapedCommand:s,parsed:i,timedOut:!1,isCanceled:!1,killed:!1});}let l=nS(i.options,n.stdout,n.error),c=nS(i.options,n.stderr,n.error);if(n.error||0!==n.status||null!==n.signal){let e=rj({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 nO=({input:e,inputFile:t,stdio:r})=>void 0===e&&void 0===t&&void 0===r?{stdin:"inherit"}:{},n$=(e={})=>({preferLocal:!0,...nO(e),...e});function nT(t,r=["-NoProfile","-NoLogo","-NonInteractive"],n={stdio:"inherit"}){return nI(function(){if(void 0===e){let t=k(W).sync("pwsh",{nothrow:!0});null!==t&&(e=t);let r=k(W).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]=nv(n,i);return nI(o,s,n$(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]=nv(e,r);return nR(n,i,n$(t));},r;}();var nC={};const nA="win32"!==u.platform(),n_=u.release(),nN=/(\d+\.\d+)\.(\d+)/,nP=(e="",t="")=>/1\d+\.\d+/.test(e)&&Number(t)>=17134.1184;function nL(e){if(("linux"===process.platform||"darwin"===process.platform)&&tZ()&&void 0!==process.env.SUDO_USER){let t=(0,d.statSync)(e).isDirector
2023-07-16 06:41:58 +08:00
if [ -z "\${${e}}" ]; then export ${e}="${n}"; fi
`),(0,rf.info)(`if not defined ${e} then ${e}="${n}" was added to "${nF}`)):((0,d.appendFileSync)(nF,`
2023-07-16 06:41:58 +08:00
export ${e}="${n}"
2023-07-16 17:48:34 +08:00
`),(0,rf.info)(`${e}="${n}" was added to "${nF}`));return;}process.env[e]=n;}async function nB(e){switch(process.platform){case"win32":await nT(`$USER_PATH=([Environment]::GetEnvironmentVariable("PATH", "User")); [Environment]::SetEnvironmentVariable("PATH", "${e};$USER_PATH", "User")`),(0,rf.info)(`"${e}" was added to the PATH.`);return;case"linux":case"darwin":await nV(),(0,d.appendFileSync)(nF,`
2023-07-16 06:41:58 +08:00
export PATH="${e}:$PATH"
`),(0,rf.info)(`"${e}" was added to "${nF}"`);return;default:return;}}let nH=!1;async function nV(){if(nH)return;let e="# Automatically Generated by setup-cpp\nexport SOURCE_CPPRC=0";if(await(0,nk.pathExists)(nF)){let t=(0,d.readFileSync)(nF,"utf8");if(t.includes(e))return;}(0,d.appendFileSync)(nF,`
2023-07-16 06:41:58 +08:00
${e}
`),(0,rf.info)(`Added ${e} to ${nF}`);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 "${nF}" ]]; then source "${nF}"; fi
`;try{let e=t2(".profile");(0,d.appendFileSync)(e,t),(0,rf.info)(`${t} was added to ${e}`);let r=t2(".bashrc");(0,d.appendFileSync)(r,t),(0,rf.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}`);}nH=!0;}async function nq(){if(await(0,nk.pathExists)(nF)){let e=(0,d.readFileSync)(nF,"utf-8").split("\n"),t=[...new Set(e.reverse())].reverse();(0,d.writeFileSync)(nF,t.join("\n"));try{nL(nF);}catch{}}}var nk=F("dOmbL"),nX=F("9ag04"),B=F("ER74K"),nz={},nK=p.join,nW=p.delimiter,nY=p.sep,nQ=p.posix;const nJ="win32"===process.platform,nZ=new RegExp(`[${nQ.sep}${nY===nQ.sep?"":nY}]`.replace(/(\\)/g,"\\$1")),n0=RegExp(`^\\.${nZ.source}`),n1=e=>Object.assign(Error(`not found: ${e}`),{code:"ENOENT"}),n2=(e,{path:t=process.env.PATH,pathExt:r=process.env.PATHEXT,delimiter:n=nW})=>{let i=e.match(nZ)?[""]:[...(nJ?[process.cwd()]:[]),...(t||"").split(n)];if(nJ){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:[""]};},n4=(e,t)=>{let r=/^".*"$/.test(e)?e.slice(1,-1):e,n=!r&&n0.test(t)?t.slice(0,2):"";return n+nK(r,t);},n3=async(e,t={})=>{let{pathEnv:r,pathExt:n,pathExtExe:i}=n2(e,t),o=[];for(let s of r){let r=n4(s,e);for(let e of n){let n=r+e,s=await J(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 n1(e);};nz=n3,n3.sync=(e,t={})=>{let{pathEnv:r,pathExt:n,pathExtExe:i}=n2(e,t),o=[];for(let s of r){let r=n4(s,e);for(let e of n){let n=r+e,s=J.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 n1(e);};const{appendFile:n6}=d.promises;let n5=!1,n7=!1;async function n8(e,t=!1){let r=ie()?"nala":"apt-get";for(let{name:t,version:n}of e)(0,B.info)(`Installing ${t} ${n??""} via ${r}`);process.env.DEBIAN_FRONTEND="noninteractive",(!n5||t)&&(it(r),n5=!0),n7||(await ir(r),n7=!0);let n=[...new Set(e.flatMap(e=>e.repositories??[]))];if(0!==n.length){for(let e of n)t0("add-apt-repository",["-y",e]);it(r);}let i=await Promise.all(e.map(e=>n9(e.name,e.version)));return t0(r,["install","--fix-broken","-y",...i]),{binDir:"/usr/bin/"};}async function n9(e,t){if(void 0!==t&&""!==t){let{stdout:r}=await nI("apt-cache",["search","--names-only",`^${(0,nX.default)(e)}-${(0,nX.default)(t)}$`]);if(""!==r.trim())return`${e}-${t}`;try{let{stdout:r}=await nI("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 ie(){return null!==k(nz).sync("nala",{nothrow:!0});}function it(e){t0(e,"nala"!==e?["update","-y"]:["update"]);}async function ir(e){t0(e,["install","--fix-broken","-y","software-properties-common","apt-utils","ca-certificates","gnupg"]);let t=[io(["3B4FE6ACC0B21F32","40976EAF437D05B5"],"setup-cpp-ubuntu-archive.gpg"),io(["1E9377A2BA9EF27F"],"launchpad-toolchain.gpg")];"nala"===e&&t.push(nj("LANG","C.UTF-8",{shouldAddOnlyIfNotDefined:!0}),nj("LC_ALL","C.UTF-8",{shouldAddOnlyIfNotDefined:!0})),await Promise.all(t);}function ii(){t0("gpg",["-k"]);}async function io(e,t,r="keyserver.ubuntu.com"){try{let n=`/etc/apt/trusted.gpg.d/${t}`;return(await(0,nk.pathExists)(n))||(ii(),await Promise.all(e.map(async e=>{await t1("gpg",["--no-default-keyring","--keyring",`gnupg-ring:${n}`,"--keyserver",r,"--recv-keys",e]),await t1("chmod",["644",n]);}))),n;}catch(e){(0,B.warning)(`Failed to add apt key via server ${r}: ${e}`);return;}}async function is(e,t){let r=`/etc/apt/trusted.gpg.d/${e}`;return(await(0,nk.pathExists)(r))||(ii(),await n8([{name:"curl"},{name:"ca-certificates"}],void 0),await nI("curl",["-s",t,"-o",`/tmp/${e}`]),t0("gpg",["--no-default-keyring","--keyring",`gnupg-ring:${r}`,"--import",`/tmp/${e}`]),t0("chmod",["644",r])),r;}async function ia(e,t){return G.GITHUB_ACTIONS?t1("update-alternatives",["--install",`/usr/bin/${e}`,e,t,"4
2023-07-16 06:41:58 +08:00
if [ $UID -eq 0 ]; then update-alternatives --install /usr/bin/${e} ${e} ${t} 40; fi
`));}var rf=F("lcRzN"),rm=(F("ceI0e"),F("ceI0e")),il=F("fcBgE");async function ic(e,r,n){if(!["darwin","linux"].includes(process.platform))return;if("string"==typeof t)return{binDir:t};let i=k(nz).sync("brew",{nothrow:!0});if(null!==i)return{binDir:t=(0,rm.dirname)(i)};let o=k(p).join((0,u.tmpdir)(),"setup-cpp","brew");await(0,il.mkdirP)(o),nR("curl",["-LJO","https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh"],{cwd:o});let s=(0,p.join)(o,"install.sh");if("linux"===process.platform){let e=(0,d.readFileSync)(s,"utf-8");e.replace("#!/bin/bash","");}return nR("/bin/bash",[s],{stdio:"inherit",env:{NONINTERACTIVE:"1"}}),t=iu(),await nM(t),{binDir:t};}function iu(){return"linux"===process.platform?"/home/linuxbrew/.linuxbrew/bin/":"/usr/local/bin/";}let ip=!1;async function id(e,t,r=[]){(0,rf.info)(`Installing ${e} ${t??""} via brew`),ip&&null!==k(nz).sync("brew",{nothrow:!0})||(await ic("","",process.arch),ip=!0);let n=iu();return nR((0,rm.join)(n,"brew"),["install",void 0!==t&&""!==t?`${e}@${t}`:e,...r],{stdio:"inherit"}),{binDir:n};}var nk=F("dOmbL"),rm=F("ceI0e");async function ih(e,t,n){if("win32"!==process.platform)return;if("string"==typeof r)return{binDir:r};let i=k(nz).sync("choco",{nothrow:!0});if(null!==i)return{binDir:r=(0,rm.dirname)(i)};let o="powershell.exe",s=k(nz).sync(`${process.env.SystemRoot}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`,{nothrow:!0});null!==s&&(o=s),nR(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 nM(a);let l=k(nz).sync("choco",{nothrow:!0});if(r=null!==l?(0,rm.dirname)(l):`${process.env.ChocolateyInstall??"C:/ProgramData/chocolatey"}/bin`,await(0,nk.pathExists)(r))return{binDir:r};}var rf=F("lcRzN"),B=F("ER74K");let im=!1;async function iv(e,t,r=[]){(0,rf.info)(`Installing ${e} ${t??""} via chocolatey`),im&&null!==k(nz).sync("choco",{nothrow:!0})||(await ih("","",process.arch),im=!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)nR("choco",["install","-y",e,`--version=${t}`,...r],{env:i,extendEnv:!1,stdio:"inherit"});else try{nR("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 nM(o),{binDir:o};}function ig(){return"linux"===process.platform&&(void 0===o&&(o=null!==k(nz).sync("pacman",{nothrow:!0})),o);}function iE(){return"linux"===process.platform&&(void 0===s&&(s=null!==k(nz).sync("dnf",{nothrow:!0})),s);}async function iy(e){for(let{name:t,version:r}of e)(0,B.info)(`Installing ${t} ${r??""} via dnf`);let t=await Promise.all(e.map(e=>iw(e.name,e.version)));return t0("dnf",["-y","install",...t]),{binDir:"/usr/bin/"};}async function iw(e,t){if(void 0!==t&&""!==t){let{stdout:r}=await nI("dnf",["search","-q",`${e}-${t}`]);if(""!==r.trim())return`${e}-${t}`;{let{stdout:r}=await nI("dnf",["search","-q",`${e}${t}`]);if(""!==r.trim())return`${e}${t}`;(0,B.warning)(`Failed to install ${e} ${t} via dnf, trying without version`);}}return e;}function ix(){return"linux"===process.platform&&(void 0===a&&(a=null!==k(nz).sync("apt-get",{nothrow:!0})),a);}async function ib(e,t,r){switch(process.platform){case"win32":return iv("bazelisk",e);case"darwin":return id("bazelisk",e);case"linux":if(ig())throw Error("installing bazel on Arch linux is not supported yet");if(iE())return await iy([{name:"dnf-plugins-core"}]),t0("dnf",["copr","enable","vbatts/bazel"]),iy([{name:"bazel4"}]);if(ix()){let t=await is("bazel-archive-keyring.gpg","https://bazel.build/bazel-release.pub.gpg");return t0("bash",["-c",`echo "deb [arch=amd64 signed-by=${t}] https://storage.googleapis.com/bazel-apt stable jdk1.8" | t
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 rf=F("lcRzN"),B=F("ER74K"),o$=F("hs40t");async function a$(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(o$)(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,rf.startGroup)(`Installing ${a} ${l??""}`),a){case"llvm":case"clang":case"clang++":{let e=await sU(oW("llvm",l,t),(0,p.join)(r,"llvm"),n);await nj("GCOV","llvm-cov gcov"),i.push(aO("llvm",e));break;}case"gcc":case"mingw":case"cygwin":case"msys":{let e=oW("gcc",l,t),s=await su(e,(0,p.join)(r,"gcc"),n);o&&(await nj("CPPFLAGS","")),await function(e){let t=k(o$)(e),r=null!==t?k(so)(t):e,n=""!==r?`gcov-${r}`:"gcov";return nj("GCOV",n);}(e),i.push(aO("gcc",s));break;}case"cl":case"msvc":case"msbuild":case"vs":case"visualstudio":case"visualcpp":case"visualc++":{let e=await af(oW("msvc",l,t),(0,p.join)(r,"msvc"),n);o&&(await nj("CPPFLAGS","")),i.push(aO("msvc",e));break;}case"appleclang":case"applellvm":(0,rf.notice)("Assuming apple-clang is already installed"),await Promise.all([nj("CC","clang"),nj("CXX","clang++")]),i.push(aO("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,rf.endGroup)();}(async function(e){let t,r,n=Promise.resolve();G.GITHUB_ACTIONS||(n=rd(),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=rh(t.string),t.boolean=rh(t.boolean),d)for(r in t.alias)for(l=0,n=t.alias[r]=rh(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:aR,default:Object.fromEntries(aR.map(e=>[e,function(e){let t=(0,rf.getInput)(e.toLowerCase());if("false"!==t&&""!==t)return t;}(e)])),alias:{h:"help"},boolean:"help"});i.help&&((0,B.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??t2(""),a=[],l=[],c=q.create({autoloadLocales:!0});q.addLocale(k(X)),H.addLocale(k(V));let u=await o0();if(!function(e,t){let r=t.filter(t=>void 0!==e[t]),n=r.filter(t=>!oY(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;ig()&&"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 iR("python-pygments"));let p=!1;for(let e of aI){let n=i[e];void 0!==n&&(t=Date.now(),p=await ab(e,n,u,o,s,a,l),r=Date.now(),(0,B.info)(`took ${c.format(t,r)||"0 seconds"}`));}let d=i.compiler;if(void 0!==d){let e=Date.now();await a$(d,u,s,o,a,p,l);let t=Date.now();(0,B.info)(`took ${c.format(e,t)||"0 seconds"}`);}if(await nq(),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"),!G.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;});
2023-07-16 06:41:58 +08:00
//# sourceMappingURL=setup-cpp.js.map