setup-cpp/dist/legacy/setup-cpp.js

4 lines
16 KiB
JavaScript

#!/usr/bin/env node
"use strict";function e(){if(x)return _;x=1;const e=i.requireSemver();return _=(r,n,t)=>{const o=new e(r,t),i=new e(n,t);return o.compare(i)||o.compareBuild(i)}}function r(){if(D)return B;D=1;const e=i.requireSemver(),r=i.requireComparator(),{ANY:n}=r,t=i.requireRange(),o=i.requireSatisfies(),a=i.requireGt(),s=i.requireLt(),u=i.requireLte(),c=i.requireGte();return B=(i,l,f,p)=>{let m,h,v,g,d;switch(i=new e(i,p),l=new t(l,p),f){case">":m=a,h=u,v=s,g=">",d=">=";break;case"<":m=s,h=c,v=a,g="<",d="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(o(i,l,p))return!1;for(let e=0;l.set.length>e;++e){let t=null,o=null;if(l.set[e].forEach((e=>{e.semver===n&&(e=new r(">=0.0.0")),t=t||e,o=o||e,m(e.semver,t.semver,p)?t=e:v(e.semver,o.semver,p)&&(o=e)})),t.operator===g||t.operator===d)return!1;if((!o.operator||o.operator===g)&&h(i,o.semver))return!1;if(o.operator===d&&v(i,o.semver))return!1}return!0}}function n(){if(ne)return re;ne=1;const n=i.requireRe(),t=i.requireConstants(),o=i.requireSemver(),a=i.requireIdentifiers(),s=i.requireParse(),u=i.requireValid(),c=function(){if(p)return f;p=1;const e=i.requireParse();return f=(r,n)=>{const t=e(r.trim().replace(/^[=v]+/,""),n);return t?t.version:null}}(),l=function(){if(h)return m;h=1;const e=i.requireSemver();return m=(r,n,t,o,i)=>{"string"==typeof t&&(i=o,o=t,t=void 0);try{return new e(r instanceof e?r.version:r,t).inc(n,o,i).version}catch(a){return null}}}(),_=function(){if(g)return v;g=1;const e=i.requireParse();return v=(r,n)=>{const t=e(r,null,!0),o=e(n,null,!0),i=t.compare(o);if(0===i)return null;const a=i>0,s=a?t:o,u=a?o:t,c=!!s.prerelease.length;if(u.prerelease.length&&!c){if(!u.patch&&!u.minor)return"major";if(0===u.compareMain(s))return u.minor&&!u.patch?"minor":"patch"}const l=c?"pre":"";return t.major!==o.major?l+"major":t.minor!==o.minor?l+"minor":t.patch!==o.patch?l+"patch":"prerelease"}}(),x=i.requireMajor(),B=function(){if(q)return d;q=1;const e=i.requireSemver();return d=(r,n)=>new e(r,n).minor}(),D=function(){if(y)return w;y=1;const e=i.requireSemver();return w=(r,n)=>new e(r,n).patch}(),te=function(){if(k)return b;k=1;const e=i.requireParse();return b=(r,n)=>{const t=e(r,n);return t&&t.prerelease.length?t.prerelease:null}}(),oe=i.requireCompare(),ie=function(){if(E)return S;E=1;const e=i.requireCompare();return S=(r,n,t)=>e(n,r,t)}(),ae=function(){if(j)return C;j=1;const e=i.requireCompare();return C=(r,n)=>e(r,n,!0)}(),se=e(),ue=function(){if(P)return R;P=1;const r=e();return R=(e,n)=>e.sort(((e,t)=>r(e,t,n)))}(),ce=function(){if(O)return N;O=1;const r=e();return N=(e,n)=>e.sort(((e,t)=>r(t,e,n)))}(),le=i.requireGt(),fe=i.requireLt(),pe=i.requireEq(),me=i.requireNeq(),he=i.requireGte(),ve=i.requireLte(),ge=i.requireCmp(),de=i.requireCoerce(),qe=i.requireComparator(),we=i.requireRange(),ye=i.requireSatisfies(),be=function(){if(T)return I;T=1;const e=i.requireRange();return I=(r,n)=>new e(r,n).set.map((e=>e.map((e=>e.value)).join(" ").trim().split(" ")))}(),ke=function(){if(G)return A;G=1;const e=i.requireSemver(),r=i.requireRange();return A=(n,t,o)=>{let i=null,a=null,s=null;try{s=new r(t,o)}catch(u){return null}return n.forEach((r=>{s.test(r)&&(i&&-1!==a.compare(r)||(i=r,a=new e(i,o)))})),i}}(),Se=function(){if(L)return M;L=1;const e=i.requireSemver(),r=i.requireRange();return M=(n,t,o)=>{let i=null,a=null,s=null;try{s=new r(t,o)}catch(u){return null}return n.forEach((r=>{s.test(r)&&(i&&1!==a.compare(r)||(i=r,a=new e(i,o)))})),i}}(),Ee=function(){if(V)return U;V=1;const e=i.requireSemver(),r=i.requireRange(),n=i.requireGt();return U=(t,o)=>{t=new r(t,o);let i=new e("0.0.0");if(t.test(i))return i;if(i=new e("0.0.0-0"),t.test(i))return i;i=null;for(let r=0;t.set.length>r;++r){let o=null;t.set[r].forEach((r=>{const t=new e(r.semver.version);switch(r.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":o&&!n(t,o)||(o=t);break;case"<":case"<=":break;default:throw Error("Unexpected operation: "+r.operator)}})),!o||i&&!n(i,o)||(i=o)}return i&&t.test(i)?i:null}}(),Ce=function(){if(Y)return z;Y=1;const e=i.requireRange();return z=(r,n)=>{try{return new e(r,n).range||"*"}catch(t){return null}}}(),je=r(),_e=function(){if(J)return F;J=1;const e=r();return F=(r,n,t)=>e(r,n,">",t)}(),xe=function(){if(H)return W;H=1;const e=r();return W=(r,n,t)=>e(r,n,"<",t)}(),Re=function(){if(X)return $;X=1;const e=i.requireRange();return $=(r,n,t)=>(r=new e(r,t),n=new e(n,t),r.intersects(n,t))}(),Pe=function(){if(Q)return K;Q=1;const e=i.requireSatisfies(),r=i.requireCompare();return K=(n,t,o)=>{const i=[];let a=null,s=null;const u=n.sort(((e,n)=>r(e,n,o)));for(const r of u)e(r,t,o)?(s=r,a||(a=r)):(s&&i.push([a,s]),s=null,a=null);a&&i.push([a,null]);const c=[];for(const[e,r]of i)c.push(e===r?e:r||e!==u[0]?r?e===u[0]?"<="+r:`${e} - ${r}`:">="+e:"*");const l=c.join(" || ");return("string"==typeof t.raw?t.raw:t+"").length>l.length?l:t}}(),Ne=function(){if(ee)return Z;ee=1;const e=i.requireRange(),r=i.requireComparator(),{ANY:n}=r,t=i.requireSatisfies(),o=i.requireCompare(),a=[new r(">=0.0.0-0")],s=[new r(">=0.0.0")],u=(e,r,i)=>{if(e===r)return!0;if(1===e.length&&e[0].semver===n){if(1===r.length&&r[0].semver===n)return!0;e=i.includePrerelease?a:s}if(1===r.length&&r[0].semver===n){if(i.includePrerelease)return!0;r=s}const u=new Set;let f,p,m,h,v,g,d;for(const n of e)">"===n.operator||">="===n.operator?f=c(f,n,i):"<"===n.operator||"<="===n.operator?p=l(p,n,i):u.add(n.semver);if(u.size>1)return null;if(f&&p){if(m=o(f.semver,p.semver,i),m>0)return null;if(0===m&&(">="!==f.operator||"<="!==p.operator))return null}for(const n of u){if(f&&!t(n,f+"",i))return null;if(p&&!t(n,p+"",i))return null;for(const e of r)if(!t(n,e+"",i))return!1;return!0}let q=!(!p||i.includePrerelease||!p.semver.prerelease.length)&&p.semver,w=!(!f||i.includePrerelease||!f.semver.prerelease.length)&&f.semver;q&&1===q.prerelease.length&&"<"===p.operator&&0===q.prerelease[0]&&(q=!1);for(const n of r){if(d=d||">"===n.operator||">="===n.operator,g=g||"<"===n.operator||"<="===n.operator,f)if(w&&n.semver.prerelease&&n.semver.prerelease.length&&n.semver.major===w.major&&n.semver.minor===w.minor&&n.semver.patch===w.patch&&(w=!1),">"===n.operator||">="===n.operator){if(h=c(f,n,i),h===n&&h!==f)return!1}else if(">="===f.operator&&!t(f.semver,n+"",i))return!1;if(p)if(q&&n.semver.prerelease&&n.semver.prerelease.length&&n.semver.major===q.major&&n.semver.minor===q.minor&&n.semver.patch===q.patch&&(q=!1),"<"===n.operator||"<="===n.operator){if(v=l(p,n,i),v===n&&v!==p)return!1}else if("<="===p.operator&&!t(p.semver,n+"",i))return!1;if(!n.operator&&(p||f)&&0!==m)return!1}return!(f&&g&&!p&&0!==m||p&&d&&!f&&0!==m||w||q)},c=(e,r,n)=>{if(!e)return r;const t=o(e.semver,r.semver,n);return t>0?e:0>t||">"===r.operator&&">="===e.operator?r:e},l=(e,r,n)=>{if(!e)return r;const t=o(e.semver,r.semver,n);return 0>t?e:t>0||"<"===r.operator&&"<="===e.operator?r:e};return Z=(r,n,t={})=>{if(r===n)return!0;r=new e(r,t),n=new e(n,t);let o=!1;e:for(const e of r.set){for(const r of n.set){const n=u(e,r,t);if(o=o||null!==n,n)continue e}if(o)return!1}return!0}}();return re={parse:s,valid:u,clean:c,inc:l,diff:_,major:x,minor:B,patch:D,prerelease:te,compare:oe,rcompare:ie,compareLoose:ae,compareBuild:se,sort:ue,rsort:ce,gt:le,lt:fe,eq:pe,neq:me,gte:he,lte:ve,cmp:ge,coerce:de,Comparator:qe,Range:we,satisfies:ye,toComparators:be,maxSatisfying:ke,minSatisfying:Se,minVersion:Ee,validRange:Ce,outside:je,gtr:_e,ltr:xe,intersects:Re,simplifyRange:Pe,subset:Ne,SemVer:o,re:n.re,src:n.src,tokens:n.t,SEMVER_SPEC_VERSION:t.SEMVER_SPEC_VERSION,RELEASE_TYPES:t.RELEASE_TYPES,compareIdentifiers:a.compareIdentifiers,rcompareIdentifiers:a.rcompareIdentifiers}}function t(e){return null==e?[]:Array.isArray(e)?e:[e]}function o(e,r,n,t){var o,i=e[r],a=~t.string.indexOf(r)?null==n||!0===n?"":n+"":"boolean"==typeof n?n:~t.boolean.indexOf(r)?"false"!==n&&("true"===n||(e._.push(0*(o=+n)==0?o:n),!!n)):0*(o=+n)==0?o:n;e[r]=null==i?a:Array.isArray(i)?i.concat(a):[i,a]}Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("./lib.js"),a=require("process"),s=require("os"),u=require("path"),c=require("fs"),l=require("https");var f,p,m,h,v,g,d,q,w,y,b,k,S,E,C,j,_,x,R,P,N,O,I,T,A,G,M,L,U,V,z,Y,B,D,F,J,W,H,$,X,K,Q,Z,ee,re,ne,te,oe;require("net"),require("tls"),require("http"),require("events"),require("string_decoder"),require("timers"),require("buffer"),require("stream"),require("constants"),require("perf_hooks"),require("util"),require("child_process"),require("assert"),require("url"),require("console");var ie=function(){function e(e,r,n,t){return new(n||(n=Promise))((function(r,o){function i(e){try{s(t.next(e))}catch(r){o(r)}}function a(e){try{s(t.throw(e))}catch(r){o(r)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(i,a)}s((t=t.call(e)).next())}))}function r(e,r){function n(n){return function(u){return function(n){if(t)throw new TypeError("Generator is already executing.");for(;a&&(a=0,n[0]&&(s=0)),s;)try{if(t=1,o&&(i=2&n[0]?o.return:n[0]?o.throw||((i=o.return)&&i.call(o),0):o.next)&&!(i=i.call(o,n[1])).done)return i;switch(o=0,i&&(n=[2&n[0],i.value]),n[0]){case 0:case 1:i=n;break;case 4:return s.label++,{value:n[1],done:!1};case 5:s.label++,o=n[1],n=[0];continue;case 7:n=s.ops.pop(),s.trys.pop();continue;default:if(!((i=(i=s.trys).length>0&&i[i.length-1])||6!==n[0]&&2!==n[0])){s=0;continue}if(3===n[0]&&(!i||n[1]>i[0]&&i[3]>n[1])){s.label=n[1];break}if(6===n[0]&&i[1]>s.label){s.label=i[1],i=n;break}if(i&&i[2]>s.label){s.label=i[2],s.ops.push(n);break}i[2]&&s.ops.pop(),s.trys.pop();continue}n=r.call(e,s)}catch(u){n=[6,u],o=0}finally{t=i=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,u])}}var t,o,i,a,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:n(0),throw:n(1),return:n(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a}if(oe)return te;oe=1;var t=a,o=n(),i=s,f=u,p=c,m=l,h=t.env.npm_package_json,v=t.env.npm_config_user_agent,g=!(!v||!v.startsWith("npm")),d=!(!h||!h.endsWith("package.json")),q=g||d,w=!(!v||!v.startsWith("yarn")),y=q||w,b=i.homedir(),k=process.env.XDG_CONFIG_HOME||f.join(b,".config","simple-update-notifier"),S=function(e){return f.join(k,"".concat(e.replace("@","").replace("/","__"),".json"))},E=function(n,t){return e(void 0,0,void 0,(function(){var e;return r(this,(function(r){return e="https://registry.npmjs.org/-/package/".concat(n,"/dist-tags"),[2,new Promise((function(r,n){m.get(e,(function(e){var o="";e.on("data",(function(e){return o+=e})),e.on("end",(function(){try{var e=JSON.parse(o)[t];e||n(Error("Error getting version")),r(e)}catch(i){n(Error("Could not parse version response"))}}))})).on("error",(function(e){return n(e)}))}))]}))}))},C=function(n){var t=n.pkg,i=n.updateCheckInterval,a=void 0===i?864e5:i,s=n.distTag,u=void 0===s?"latest":s,c=n.alwaysRun,l=n.debug;return e(void 0,0,void 0,(function(){var e,i;return r(this,(function(r){switch(r.label){case 0:return p.existsSync(k)||p.mkdirSync(k,{recursive:!0}),e=function(e){var r=S(e);try{if(!p.existsSync(r))return;return JSON.parse(p.readFileSync(r,"utf8")).lastUpdateCheck}catch(n){return}}(t.name),c||!e||e<(new Date).getTime()-a?[4,E(t.name,u)]:[3,2];case 1:return i=r.sent(),s=S(t.name),p.writeFileSync(s,JSON.stringify({lastUpdateCheck:(new Date).getTime()})),o.gt(i,t.version)?[2,i]:(l&&console.error("Latest version (".concat(i,") not newer than current version (").concat(t.version,")")),[3,3]);case 2:l&&console.error("Too recent to check for a new update. simpleUpdateNotifier() interval set to ".concat(a,"ms but only ").concat((new Date).getTime()-e,"ms since last check.")),r.label=3;case 3:return[2,!1]}var s}))}))};return te=function(n){return e(void 0,0,void 0,(function(){var e,t;return r(this,(function(r){switch(r.label){case 0:if(!n.alwaysRun&&(!process.stdout.isTTY||y&&!n.shouldNotifyInNpmScript))return n.debug&&console.error("Opting out of running simpleUpdateNotifier()"),[2];r.label=1;case 1:return r.trys.push([1,3,,4]),[4,C(n)];case 2:return(e=r.sent())&&console.error(function(e){for(var r=e.split("\n"),n=Math.max.apply(Math,r.map((function(e){return e.length}))),t=["┌".concat("─".repeat(n+2),"┐")],o=0,i=r;i.length>o;o++)t.push("│ ".concat(i[o].padEnd(n)," │"));return t.push("└".concat("─".repeat(n+2),"┘")),t.join("\n")}("New version of ".concat(n.pkg.name," available!\nCurrent Version: ").concat(n.pkg.version,"\nLatest Version: ").concat(e))),[3,4];case 3:return t=r.sent(),n.debug&&t instanceof Error&&console.error("Unexpected error in simpleUpdateNotifier():",t),[3,4];case 4:return[2]}}))}))}}();const ae=i.getDefaultExportFromCjs(ie);(async function(e){const r=i.ciInfoExports.GITHUB_ACTIONS?Promise.resolve():async function(){try{await ae({pkg:i.packageJson})}catch(e){i.warning("Failed to check for updates: "+(e instanceof Error?e.message+e.stack:e))}}(),n=function(e){const r=Object.fromEntries(i.inputs.map((e=>[e,i.maybeGetInput(e)])));return function(e,r){var n,i,a,s,u,c={_:[]},l=0,f=0,p=0,m=(e=e||[]).length;const h=void 0!==(r=r||{}).alias,v=void 0!==r.unknown,g=void 0!==r.default;if(r.alias=r.alias||{},r.string=t(r.string),r.boolean=t(r.boolean),h)for(n in r.alias)for(i=r.alias[n]=t(r.alias[n]),l=0;i.length>l;l++)(r.alias[i[l]]=i.concat(n)).splice(l,1);for(l=r.boolean.length;l-- >0;)for(f=(i=r.alias[r.boolean[l]]||[]).length;f-- >0;)r.boolean.push(i[f]);for(l=r.string.length;l-- >0;)for(f=(i=r.alias[r.string[l]]||[]).length;f-- >0;)r.string.push(i[f]);if(g)for(n in r.default)if(s=typeof r.default[n],i=r.alias[n]=r.alias[n]||[],void 0!==r[s])for(r[s].push(n),l=0;i.length>l;l++)r[s].push(i[l]);const d=v?Object.keys(r.alias):[];for(l=0;m>l;l++){if("--"===(a=e[l])){c._=c._.concat(e.slice(++l));break}for(f=0;a.length>f&&45===a.charCodeAt(f);f++);if(0===f)c._.push(a);else if("no-"===a.substring(f,f+3)){if(s=a.substring(f+3),v&&!~d.indexOf(s))return r.unknown(a);c[s]=!1}else{for(p=f+1;a.length>p&&61!==a.charCodeAt(p);p++);for(s=a.substring(f,p),u=a.substring(++p)||l+1===m||45===(""+e[l+1]).charCodeAt(0)||e[++l],i=2===f?[s]:s,p=0;i.length>p;p++){if(s=i[p],v&&!~d.indexOf(s))return r.unknown("-".repeat(f)+s);o(c,s,i.length>p+1||u,r)}}}if(g)for(n in r.default)void 0===c[n]&&(c[n]=r.default[n]);if(h)for(n in c)for(i=r.alias[n]||[];i.length>0;)c[i.shift()]=c[n];return c}(e,{string:[...i.inputs,"timeout","node-package-manager"],default:r,alias:{h:"help",v:"version"},boolean:["help","version","setup-cpp"]})}(e);return n.help?(i.info('\nsetup-cpp [options]\nsetup-cpp --compiler llvm --cmake true --ninja true --ccache true --vcpkg true\n\nInstall all the tools required for building and testing C++/C projects.\n\n--architecture\t the cpu architecture to install the tools for. By default it uses the current CPU architecture.\n--timeout\t the timeout for the installation of each tool in minutes. By default it is 10 minutes.\n--compiler\t the <compiler> to install.\n \t You can specify the version instead of specifying just the name e.g: --compiler \'llvm-13.0.0\'\n--tool_name\t pass "true" or pass the <version> you would like to install for this tool. e.g. --conan true or --conan "1.42.1"\n--nodePackageManager\t the node package manager to use (npm/yarn/pnpm) when installing setup-cpp globally\n--help\t show this help message\n--version\t show the version of setup-cpp\n\nAll the available tools:\n'),console.table({"compiler and analyzer":{tools:"--llvm, --gcc, --msvc, --apple-clang, --vcvarsall"},"build system":{tools:"--cmake, --ninja, --meson, --make, --task, --bazel"},"package manager":{tools:"--vcpkg, --conan, --choco, --brew, --nala, --git, --setup-cpp"},"analyzer/linter":{tools:"--clang-tidy, --clang-format, --cppcheck, --cpplint, --flawfinder, --lizard, --infer, , --cmakelang, --cmake-lint, --cmake-format"},cache:{tools:"--ccache, --sccache"},documentation:{tools:"--doxygen, --graphviz"},coverage:{tools:"--gcovr, --opencppcoverage, --kcov"},other:{tools:"--python, --powershell, --sevenzip"}},["tools"]),0):n.version?(i.info(""+i.packageJson.version),0):(await Promise.all([r,i.setupCpp(n)]),0)})(process.argv).then((e=>{process.exitCode=e})).catch((e=>{i.error("main() panicked!"),i.error(e),process.exitCode=1})),exports.requireSemver=n;
//# sourceMappingURL=setup-cpp.js.map