mirror of https://github.com/aminya/setup-cpp
Merge pull request #8 from aminya/msvc
This commit is contained in:
commit
3d8864e9d9
|
@ -53,6 +53,9 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
pnpm install
|
pnpm install
|
||||||
|
|
||||||
|
# - name: Setup SSH debugging session
|
||||||
|
# uses: mxschmitt/action-tmate@v3
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
run: |
|
run: |
|
||||||
pnpm run test
|
pnpm run test
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
[submodule "src/python/setup-python"]
|
|
||||||
path = src/python/setup-python
|
|
||||||
url = https://github.com/actions/setup-python
|
|
||||||
branch = main
|
|
||||||
[submodule "src/msvc/msvc-dev-cmd"]
|
|
||||||
path = src/msvc/msvc-dev-cmd
|
|
||||||
url = https://github.com/ilammy/msvc-dev-cmd
|
|
||||||
branch = lib
|
|
|
@ -4,16 +4,17 @@ setup-cpp reused some code from the following projects:
|
||||||
- [install-cmake](https://github.com/Symbitic/install-cmake/blob/master/LICENSE.md): MIT
|
- [install-cmake](https://github.com/Symbitic/install-cmake/blob/master/LICENSE.md): MIT
|
||||||
- [get-cmake](https://github.com/lukka/get-cmake/blob/main/LICENSE.txt): MIT
|
- [get-cmake](https://github.com/lukka/get-cmake/blob/main/LICENSE.txt): MIT
|
||||||
- [gha-setup-ninja](https://github.com/seanmiddleditch/gha-setup-ninja): MIT
|
- [gha-setup-ninja](https://github.com/seanmiddleditch/gha-setup-ninja): MIT
|
||||||
- [setup-python](https://github.com/actions/setup-python): MIT
|
|
||||||
|
|
||||||
This package also uses the depedencies listed in package.json. You can get the list of their licenses using the following command:
|
This package also uses the depedencies listed in package.json. You can get the list of their licenses using the following command:
|
||||||
```
|
```
|
||||||
npm install -g license-checker
|
npm install -g license-checker
|
||||||
license-checker --summary --production
|
license-checker --summary --production --excludePackages "setup-python@2.2.2"
|
||||||
```
|
```
|
||||||
|
|
||||||
```
|
```
|
||||||
├─ MIT: 8
|
├─ MIT: 9
|
||||||
├─ ISC: 2
|
├─ ISC: 2
|
||||||
└─ Apache-2.0: 1
|
└─ Apache-2.0: 1
|
||||||
```
|
```
|
||||||
|
|
||||||
|
setup-python@2.2.2 is MIT license.
|
10
README.md
10
README.md
|
@ -15,10 +15,12 @@ The package can be used locally or from CI services like GitHub Actions. Stay tu
|
||||||
|
|
||||||
`setup-cpp` can install all of these tools:
|
`setup-cpp` can install all of these tools:
|
||||||
|
|
||||||
- llvm
|
|
||||||
- gcc
|
|
||||||
- cmake
|
- cmake
|
||||||
- ninja
|
- ninja
|
||||||
|
- llvm
|
||||||
|
- gcc
|
||||||
|
- msvc
|
||||||
|
- vcvarsall
|
||||||
- vcpkg
|
- vcpkg
|
||||||
- meson
|
- meson
|
||||||
- conan
|
- conan
|
||||||
|
@ -182,7 +184,3 @@ After build, run the following to start an interactive shell in your container
|
||||||
```ps1
|
```ps1
|
||||||
docker run -it setup_cpp
|
docker run -it setup_cpp
|
||||||
```
|
```
|
||||||
|
|
||||||
### Incomplete
|
|
||||||
|
|
||||||
- `msvc`. It is implemented, but it has bugs. See [this issue](https://github.com/aminya/setup-cpp/issues/1)
|
|
||||||
|
|
|
@ -18,6 +18,9 @@ inputs:
|
||||||
msvc:
|
msvc:
|
||||||
description: "The msvc version to install"
|
description: "The msvc version to install"
|
||||||
required: false
|
required: false
|
||||||
|
vcvarsall:
|
||||||
|
description: "If should run vcvarsall?"
|
||||||
|
required: false
|
||||||
cmake:
|
cmake:
|
||||||
description: "The cmake version to install."
|
description: "The cmake version to install."
|
||||||
required: false
|
required: false
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -19,7 +19,7 @@
|
||||||
"format": "prettier --write .",
|
"format": "prettier --write .",
|
||||||
"lint": "eslint . --fix",
|
"lint": "eslint . --fix",
|
||||||
"pack.exe": "shx rm -rf ./dist/tsconfig.tsbuildinfo && node ./building/scripts/pack-exe.js",
|
"pack.exe": "shx rm -rf ./dist/tsconfig.tsbuildinfo && node ./building/scripts/pack-exe.js",
|
||||||
"prepare": "git submodule update --init --recursive && npm run build",
|
"prepare": "npm run build",
|
||||||
"start.docker": "docker run -t setup_cpp .",
|
"start.docker": "docker run -t setup_cpp .",
|
||||||
"test": "run-p test.format test.lint test.tsc test.unit",
|
"test": "run-p test.format test.lint test.tsc test.unit",
|
||||||
"test.format": "prettier . --check",
|
"test.format": "prettier . --check",
|
||||||
|
@ -36,7 +36,9 @@
|
||||||
"execa": "^5.1.1",
|
"execa": "^5.1.1",
|
||||||
"hasha": "^5.2.2",
|
"hasha": "^5.2.2",
|
||||||
"mri": "^1.2.0",
|
"mri": "^1.2.0",
|
||||||
|
"msvc-dev-cmd": " https://github.com/aminya/msvc-dev-cmd",
|
||||||
"semver": "^7.3.5",
|
"semver": "^7.3.5",
|
||||||
|
"setup-python": "https://github.com/actions/setup-python",
|
||||||
"untildify": "^4.0.0",
|
"untildify": "^4.0.0",
|
||||||
"which": "^2.0.2"
|
"which": "^2.0.2"
|
||||||
},
|
},
|
||||||
|
|
294
pnpm-lock.yaml
294
pnpm-lock.yaml
|
@ -3,10 +3,7 @@ lockfileVersion: 5.3
|
||||||
overrides:
|
overrides:
|
||||||
semver: 7.3.5
|
semver: 7.3.5
|
||||||
|
|
||||||
importers:
|
specifiers:
|
||||||
|
|
||||||
.:
|
|
||||||
specifiers:
|
|
||||||
'@actions/core': ^1.6.0
|
'@actions/core': ^1.6.0
|
||||||
'@actions/exec': ^1.1.0
|
'@actions/exec': ^1.1.0
|
||||||
'@actions/io': ^1.1.1
|
'@actions/io': ^1.1.1
|
||||||
|
@ -25,17 +22,20 @@ importers:
|
||||||
hasha: ^5.2.2
|
hasha: ^5.2.2
|
||||||
jest: ^27.4.2
|
jest: ^27.4.2
|
||||||
mri: ^1.2.0
|
mri: ^1.2.0
|
||||||
|
msvc-dev-cmd: ' https://github.com/aminya/msvc-dev-cmd'
|
||||||
npm-run-all2: ^5.0.2
|
npm-run-all2: ^5.0.2
|
||||||
parcel: ^2.0.1
|
parcel: ^2.0.1
|
||||||
prettier-config-atomic: ^3.0.1
|
prettier-config-atomic: ^3.0.1
|
||||||
semver: 7.3.5
|
semver: 7.3.5
|
||||||
|
setup-python: https://github.com/actions/setup-python
|
||||||
shx: 0.3.3
|
shx: 0.3.3
|
||||||
terser-config-atomic: ^0.1.1
|
terser-config-atomic: ^0.1.1
|
||||||
ts-jest: ^27.0.7
|
ts-jest: ^27.0.7
|
||||||
typescript: ^4.5.2
|
typescript: ^4.5.2
|
||||||
untildify: ^4.0.0
|
untildify: ^4.0.0
|
||||||
which: ^2.0.2
|
which: ^2.0.2
|
||||||
dependencies:
|
|
||||||
|
dependencies:
|
||||||
'@actions/core': 1.6.0
|
'@actions/core': 1.6.0
|
||||||
'@actions/exec': 1.1.0
|
'@actions/exec': 1.1.0
|
||||||
'@actions/io': 1.1.1
|
'@actions/io': 1.1.1
|
||||||
|
@ -43,10 +43,13 @@ importers:
|
||||||
execa: 5.1.1
|
execa: 5.1.1
|
||||||
hasha: 5.2.2
|
hasha: 5.2.2
|
||||||
mri: 1.2.0
|
mri: 1.2.0
|
||||||
|
msvc-dev-cmd: github.com/aminya/msvc-dev-cmd/9f672c1c3d12ea8156d8d0e53543791491291aec
|
||||||
semver: 7.3.5
|
semver: 7.3.5
|
||||||
|
setup-python: github.com/actions/setup-python/f38219332975fe8f9c04cca981d674bf22aea1d3
|
||||||
untildify: 4.0.0
|
untildify: 4.0.0
|
||||||
which: 2.0.2
|
which: 2.0.2
|
||||||
devDependencies:
|
|
||||||
|
devDependencies:
|
||||||
'@types/cross-spawn': 6.0.2
|
'@types/cross-spawn': 6.0.2
|
||||||
'@types/jest': 27.0.3
|
'@types/jest': 27.0.3
|
||||||
'@types/mri': 1.1.1
|
'@types/mri': 1.1.1
|
||||||
|
@ -68,6 +71,20 @@ importers:
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
|
/@actions/cache/1.0.8:
|
||||||
|
resolution: {integrity: sha512-GWNNB67w93HGJRQXlsV56YqrdAuDoP3esK/mo5mzU8WoDCVjtQgJGsTdkYUX7brswtT7xnI30bWNo1WLKQ8FZQ==}
|
||||||
|
dependencies:
|
||||||
|
'@actions/core': 1.6.0
|
||||||
|
'@actions/exec': 1.1.0
|
||||||
|
'@actions/glob': 0.1.2
|
||||||
|
'@actions/http-client': 1.0.11
|
||||||
|
'@actions/io': 1.1.1
|
||||||
|
'@azure/ms-rest-js': 2.6.0
|
||||||
|
'@azure/storage-blob': 12.8.0
|
||||||
|
semver: 7.3.5
|
||||||
|
uuid: 3.4.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@actions/core/1.5.0:
|
/@actions/core/1.5.0:
|
||||||
resolution: {integrity: sha512-eDOLH1Nq9zh+PJlYLqEMkS/jLQxhksPNmUGNBHfa4G+tQmnIhzpctxmchETtVGyBOvXgOVVpYuE40+eS4cUnwQ==}
|
resolution: {integrity: sha512-eDOLH1Nq9zh+PJlYLqEMkS/jLQxhksPNmUGNBHfa4G+tQmnIhzpctxmchETtVGyBOvXgOVVpYuE40+eS4cUnwQ==}
|
||||||
dev: false
|
dev: false
|
||||||
|
@ -84,6 +101,20 @@ packages:
|
||||||
'@actions/io': 1.1.1
|
'@actions/io': 1.1.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
/@actions/glob/0.1.2:
|
||||||
|
resolution: {integrity: sha512-SclLR7Ia5sEqjkJTPs7Sd86maMDw43p769YxBOxvPvEWuPEhpAnBsQfENOpXjFYMmhCqd127bmf+YdvJqVqR4A==}
|
||||||
|
dependencies:
|
||||||
|
'@actions/core': 1.6.0
|
||||||
|
minimatch: 3.0.4
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@actions/glob/0.2.0:
|
||||||
|
resolution: {integrity: sha512-mqE2a7I66kxcvsdwxs/filQwZsq25IfktMaviGfDB51v6Q3bvxnV7mFsZnvYtLhqGZbPxwBnH8AD3UYaOWb//w==}
|
||||||
|
dependencies:
|
||||||
|
'@actions/core': 1.6.0
|
||||||
|
minimatch: 3.0.4
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@actions/http-client/1.0.11:
|
/@actions/http-client/1.0.11:
|
||||||
resolution: {integrity: sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==}
|
resolution: {integrity: sha512-VRYHGQV1rqnROJqdMvGUbY/Kn8vriQe/F9HR2AlYHzmKuM/p3kjNuXhmdBfcVgsvRWTz5C5XW5xvndZrVBuAYg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -110,6 +141,107 @@ packages:
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@azure/abort-controller/1.0.4:
|
||||||
|
resolution: {integrity: sha512-lNUmDRVGpanCsiUN3NWxFTdwmdFI53xwhkTFfHDGTYk46ca7Ind3nanJc+U6Zj9Tv+9nTCWRBscWEW1DyKOpTw==}
|
||||||
|
engines: {node: '>=8.0.0'}
|
||||||
|
dependencies:
|
||||||
|
tslib: 2.3.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@azure/core-asynciterator-polyfill/1.0.0:
|
||||||
|
resolution: {integrity: sha512-kmv8CGrPfN9SwMwrkiBK9VTQYxdFQEGe0BmQk+M8io56P9KNzpAxcWE/1fxJj7uouwN4kXF0BHW8DNlgx+wtCg==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@azure/core-auth/1.3.2:
|
||||||
|
resolution: {integrity: sha512-7CU6DmCHIZp5ZPiZ9r3J17lTKMmYsm/zGvNkjArQwPkrLlZ1TZ+EUYfGgh2X31OLMVAQCTJZW4cXHJi02EbJnA==}
|
||||||
|
engines: {node: '>=12.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@azure/abort-controller': 1.0.4
|
||||||
|
tslib: 2.3.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@azure/core-http/2.2.2:
|
||||||
|
resolution: {integrity: sha512-V1DdoO9V/sFimKpdWoNBgsE+QUjQgpXYnxrTdUp5RyhsTJjvEVn/HKmTQXIHuLUUo6IyIWj+B+Dg4VaXse9dIA==}
|
||||||
|
engines: {node: '>=12.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@azure/abort-controller': 1.0.4
|
||||||
|
'@azure/core-asynciterator-polyfill': 1.0.0
|
||||||
|
'@azure/core-auth': 1.3.2
|
||||||
|
'@azure/core-tracing': 1.0.0-preview.13
|
||||||
|
'@azure/logger': 1.0.3
|
||||||
|
'@types/node-fetch': 2.5.12
|
||||||
|
'@types/tunnel': 0.0.3
|
||||||
|
form-data: 4.0.0
|
||||||
|
node-fetch: 2.6.6
|
||||||
|
process: 0.11.10
|
||||||
|
tough-cookie: 4.0.0
|
||||||
|
tslib: 2.3.1
|
||||||
|
tunnel: 0.0.6
|
||||||
|
uuid: 8.3.2
|
||||||
|
xml2js: 0.4.23
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@azure/core-lro/2.2.2:
|
||||||
|
resolution: {integrity: sha512-pn30b+HyJHg0+G4ZRgpL3BJa6LQnKdKl1X4JDMpuVsX+kPxs2FNoweNqD3Li199ROroIvFbi6pE29y0J2vvyIg==}
|
||||||
|
engines: {node: '>=12.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@azure/abort-controller': 1.0.4
|
||||||
|
'@azure/core-tracing': 1.0.0-preview.13
|
||||||
|
'@azure/logger': 1.0.3
|
||||||
|
tslib: 2.3.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@azure/core-paging/1.2.0:
|
||||||
|
resolution: {integrity: sha512-ZX1bCjm/MjKPCN6kQD/9GJErYSoKA8YWp6YWoo5EIzcTWlSBLXu3gNaBTUl8usGl+UShiKo7b4Gdy1NSTIlpZg==}
|
||||||
|
engines: {node: '>=12.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@azure/core-asynciterator-polyfill': 1.0.0
|
||||||
|
tslib: 2.3.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@azure/core-tracing/1.0.0-preview.13:
|
||||||
|
resolution: {integrity: sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ==}
|
||||||
|
engines: {node: '>=12.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@opentelemetry/api': 1.0.3
|
||||||
|
tslib: 2.3.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@azure/logger/1.0.3:
|
||||||
|
resolution: {integrity: sha512-aK4s3Xxjrx3daZr3VylxejK3vG5ExXck5WOHDJ8in/k9AqlfIyFMMT1uG7u8mNjX+QRILTIn0/Xgschfh/dQ9g==}
|
||||||
|
engines: {node: '>=12.0.0'}
|
||||||
|
dependencies:
|
||||||
|
tslib: 2.3.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@azure/ms-rest-js/2.6.0:
|
||||||
|
resolution: {integrity: sha512-4C5FCtvEzWudblB+h92/TYYPiq7tuElX8icVYToxOdggnYqeec4Se14mjse5miInKtZahiFHdl8lZA/jziEc5g==}
|
||||||
|
dependencies:
|
||||||
|
'@azure/core-auth': 1.3.2
|
||||||
|
abort-controller: 3.0.0
|
||||||
|
form-data: 2.5.1
|
||||||
|
node-fetch: 2.6.6
|
||||||
|
tough-cookie: 3.0.1
|
||||||
|
tslib: 1.14.1
|
||||||
|
tunnel: 0.0.6
|
||||||
|
uuid: 8.3.2
|
||||||
|
xml2js: 0.4.23
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/@azure/storage-blob/12.8.0:
|
||||||
|
resolution: {integrity: sha512-c8+Wz19xauW0bGkTCoqZH4dYfbtBniPiGiRQOn1ca6G5jsjr4azwaTk9gwjVY8r3vY2Taf95eivLzipfIfiS4A==}
|
||||||
|
engines: {node: '>=12.0.0'}
|
||||||
|
dependencies:
|
||||||
|
'@azure/abort-controller': 1.0.4
|
||||||
|
'@azure/core-http': 2.2.2
|
||||||
|
'@azure/core-lro': 2.2.2
|
||||||
|
'@azure/core-paging': 1.2.0
|
||||||
|
'@azure/core-tracing': 1.0.0-preview.13
|
||||||
|
'@azure/logger': 1.0.3
|
||||||
|
events: 3.3.0
|
||||||
|
tslib: 2.3.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@babel/code-frame/7.12.11:
|
/@babel/code-frame/7.12.11:
|
||||||
resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==}
|
resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -792,6 +924,11 @@ packages:
|
||||||
fastq: 1.13.0
|
fastq: 1.13.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@opentelemetry/api/1.0.3:
|
||||||
|
resolution: {integrity: sha512-puWxACExDe9nxbBB3lOymQFrLYml2dVOrd7USiVRnSbgXE+KwBu+HxFvxrzfqsiSda9IWsXJG1ef7C1O2/GmKQ==}
|
||||||
|
engines: {node: '>=8.0.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@parcel/babel-ast-utils/2.0.1:
|
/@parcel/babel-ast-utils/2.0.1:
|
||||||
resolution: {integrity: sha512-adBHMaPAj+w1NjO+oq6SUgtOpO7wmyNIgsiHDsf8cpLf2gT0GcC/afcaC07WhIq1PJvL2hkWQpT/8sj1m/QZSw==}
|
resolution: {integrity: sha512-adBHMaPAj+w1NjO+oq6SUgtOpO7wmyNIgsiHDsf8cpLf2gT0GcC/afcaC07WhIq1PJvL2hkWQpT/8sj1m/QZSw==}
|
||||||
engines: {node: '>= 12.0.0'}
|
engines: {node: '>= 12.0.0'}
|
||||||
|
@ -1670,9 +1807,15 @@ packages:
|
||||||
resolution: {integrity: sha512-nJOuiTlsvmClSr3+a/trTSx4DTuY/VURsWGKSf/eeavh0LRMqdsK60ti0TlwM5iHiGOK3/Ibkxsbr7i9rzGreA==}
|
resolution: {integrity: sha512-nJOuiTlsvmClSr3+a/trTSx4DTuY/VURsWGKSf/eeavh0LRMqdsK60ti0TlwM5iHiGOK3/Ibkxsbr7i9rzGreA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@types/node-fetch/2.5.12:
|
||||||
|
resolution: {integrity: sha512-MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==}
|
||||||
|
dependencies:
|
||||||
|
'@types/node': 16.11.11
|
||||||
|
form-data: 3.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@types/node/16.11.11:
|
/@types/node/16.11.11:
|
||||||
resolution: {integrity: sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw==}
|
resolution: {integrity: sha512-KB0sixD67CeecHC33MYn+eYARkqTheIRNuu97y2XMjR7Wu3XibO1vaY6VBV6O/a89SPI81cEUIYT87UqUWlZNw==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@types/normalize-package-data/2.4.1:
|
/@types/normalize-package-data/2.4.1:
|
||||||
resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
|
resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
|
||||||
|
@ -1702,6 +1845,12 @@ packages:
|
||||||
resolution: {integrity: sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==}
|
resolution: {integrity: sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@types/tunnel/0.0.3:
|
||||||
|
resolution: {integrity: sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==}
|
||||||
|
dependencies:
|
||||||
|
'@types/node': 16.11.11
|
||||||
|
dev: false
|
||||||
|
|
||||||
/@types/unist/2.0.6:
|
/@types/unist/2.0.6:
|
||||||
resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==}
|
resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -1830,6 +1979,13 @@ packages:
|
||||||
resolution: {integrity: sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==}
|
resolution: {integrity: sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/abort-controller/3.0.0:
|
||||||
|
resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
|
||||||
|
engines: {node: '>=6.5'}
|
||||||
|
dependencies:
|
||||||
|
event-target-shim: 5.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
/abortcontroller-polyfill/1.7.3:
|
/abortcontroller-polyfill/1.7.3:
|
||||||
resolution: {integrity: sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q==}
|
resolution: {integrity: sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -2118,7 +2274,6 @@ packages:
|
||||||
|
|
||||||
/asynckit/0.4.0:
|
/asynckit/0.4.0:
|
||||||
resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=}
|
resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/at-least-node/1.0.0:
|
/at-least-node/1.0.0:
|
||||||
resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
|
resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
|
||||||
|
@ -2293,7 +2448,6 @@ packages:
|
||||||
|
|
||||||
/balanced-match/1.0.2:
|
/balanced-match/1.0.2:
|
||||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/base-x/3.0.8:
|
/base-x/3.0.8:
|
||||||
resolution: {integrity: sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==}
|
resolution: {integrity: sha512-Rl/1AWP4J/zRrk54hhlxH4drNxPJXYUaKffODVI53/dAsV4t9fBxyxYKAVPU1XBHxYwOWP9h9H0hM2MVw4YfJA==}
|
||||||
|
@ -2344,7 +2498,6 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
balanced-match: 1.0.2
|
balanced-match: 1.0.2
|
||||||
concat-map: 0.0.1
|
concat-map: 0.0.1
|
||||||
dev: true
|
|
||||||
|
|
||||||
/braces/3.0.2:
|
/braces/3.0.2:
|
||||||
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
|
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
|
||||||
|
@ -2679,7 +2832,6 @@ packages:
|
||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
dependencies:
|
dependencies:
|
||||||
delayed-stream: 1.0.0
|
delayed-stream: 1.0.0
|
||||||
dev: true
|
|
||||||
|
|
||||||
/command-exists/1.2.9:
|
/command-exists/1.2.9:
|
||||||
resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==}
|
resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==}
|
||||||
|
@ -2716,7 +2868,6 @@ packages:
|
||||||
|
|
||||||
/concat-map/0.0.1:
|
/concat-map/0.0.1:
|
||||||
resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
|
resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/confusing-browser-globals/1.0.10:
|
/confusing-browser-globals/1.0.10:
|
||||||
resolution: {integrity: sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==}
|
resolution: {integrity: sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==}
|
||||||
|
@ -3125,7 +3276,6 @@ packages:
|
||||||
/delayed-stream/1.0.0:
|
/delayed-stream/1.0.0:
|
||||||
resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=}
|
resolution: {integrity: sha1-3zrhmayt+31ECqrgsp4icrJOxhk=}
|
||||||
engines: {node: '>=0.4.0'}
|
engines: {node: '>=0.4.0'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/des.js/1.0.1:
|
/des.js/1.0.1:
|
||||||
resolution: {integrity: sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==}
|
resolution: {integrity: sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==}
|
||||||
|
@ -3872,6 +4022,11 @@ packages:
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/event-target-shim/5.0.1:
|
||||||
|
resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/eventemitter3/4.0.7:
|
/eventemitter3/4.0.7:
|
||||||
resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
|
resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -3879,7 +4034,6 @@ packages:
|
||||||
/events/3.3.0:
|
/events/3.3.0:
|
||||||
resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
|
resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
|
||||||
engines: {node: '>=0.8.x'}
|
engines: {node: '>=0.8.x'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/evp_bytestokey/1.0.3:
|
/evp_bytestokey/1.0.3:
|
||||||
resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==}
|
resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==}
|
||||||
|
@ -4106,6 +4260,15 @@ packages:
|
||||||
mime-types: 2.1.32
|
mime-types: 2.1.32
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/form-data/2.5.1:
|
||||||
|
resolution: {integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==}
|
||||||
|
engines: {node: '>= 0.12'}
|
||||||
|
dependencies:
|
||||||
|
asynckit: 0.4.0
|
||||||
|
combined-stream: 1.0.8
|
||||||
|
mime-types: 2.1.32
|
||||||
|
dev: false
|
||||||
|
|
||||||
/form-data/3.0.1:
|
/form-data/3.0.1:
|
||||||
resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==}
|
resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
|
@ -4113,7 +4276,15 @@ packages:
|
||||||
asynckit: 0.4.0
|
asynckit: 0.4.0
|
||||||
combined-stream: 1.0.8
|
combined-stream: 1.0.8
|
||||||
mime-types: 2.1.32
|
mime-types: 2.1.32
|
||||||
dev: true
|
|
||||||
|
/form-data/4.0.0:
|
||||||
|
resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
|
||||||
|
engines: {node: '>= 6'}
|
||||||
|
dependencies:
|
||||||
|
asynckit: 0.4.0
|
||||||
|
combined-stream: 1.0.8
|
||||||
|
mime-types: 2.1.32
|
||||||
|
dev: false
|
||||||
|
|
||||||
/format/0.2.2:
|
/format/0.2.2:
|
||||||
resolution: {integrity: sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=}
|
resolution: {integrity: sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=}
|
||||||
|
@ -4599,6 +4770,11 @@ packages:
|
||||||
loose-envify: 1.4.0
|
loose-envify: 1.4.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/ip-regex/2.1.0:
|
||||||
|
resolution: {integrity: sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=}
|
||||||
|
engines: {node: '>=4'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/is-absolute-url/3.0.3:
|
/is-absolute-url/3.0.3:
|
||||||
resolution: {integrity: sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==}
|
resolution: {integrity: sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
@ -5882,7 +6058,6 @@ packages:
|
||||||
/mime-db/1.49.0:
|
/mime-db/1.49.0:
|
||||||
resolution: {integrity: sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==}
|
resolution: {integrity: sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==}
|
||||||
engines: {node: '>= 0.6'}
|
engines: {node: '>= 0.6'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/mime-types/2.1.18:
|
/mime-types/2.1.18:
|
||||||
resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==}
|
resolution: {integrity: sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==}
|
||||||
|
@ -5896,7 +6071,6 @@ packages:
|
||||||
engines: {node: '>= 0.6'}
|
engines: {node: '>= 0.6'}
|
||||||
dependencies:
|
dependencies:
|
||||||
mime-db: 1.49.0
|
mime-db: 1.49.0
|
||||||
dev: true
|
|
||||||
|
|
||||||
/mimic-fn/2.1.0:
|
/mimic-fn/2.1.0:
|
||||||
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
|
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
|
||||||
|
@ -5914,7 +6088,6 @@ packages:
|
||||||
resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==}
|
resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
brace-expansion: 1.1.11
|
brace-expansion: 1.1.11
|
||||||
dev: true
|
|
||||||
|
|
||||||
/minimist/1.2.5:
|
/minimist/1.2.5:
|
||||||
resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==}
|
resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==}
|
||||||
|
@ -5994,6 +6167,13 @@ packages:
|
||||||
resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==}
|
resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/node-fetch/2.6.6:
|
||||||
|
resolution: {integrity: sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==}
|
||||||
|
engines: {node: 4.x || >=6.0.0}
|
||||||
|
dependencies:
|
||||||
|
whatwg-url: 5.0.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
/node-forge/0.10.0:
|
/node-forge/0.10.0:
|
||||||
resolution: {integrity: sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==}
|
resolution: {integrity: sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==}
|
||||||
engines: {node: '>= 6.0.0'}
|
engines: {node: '>= 6.0.0'}
|
||||||
|
@ -6950,7 +7130,6 @@ packages:
|
||||||
/process/0.11.10:
|
/process/0.11.10:
|
||||||
resolution: {integrity: sha1-czIwDoQBYb2j5podHZGn1LwW8YI=}
|
resolution: {integrity: sha1-czIwDoQBYb2j5podHZGn1LwW8YI=}
|
||||||
engines: {node: '>= 0.6.0'}
|
engines: {node: '>= 0.6.0'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/progress/2.0.3:
|
/progress/2.0.3:
|
||||||
resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
|
resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
|
||||||
|
@ -6975,7 +7154,6 @@ packages:
|
||||||
|
|
||||||
/psl/1.8.0:
|
/psl/1.8.0:
|
||||||
resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==}
|
resolution: {integrity: sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/public-encrypt/4.0.3:
|
/public-encrypt/4.0.3:
|
||||||
resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==}
|
resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==}
|
||||||
|
@ -7006,7 +7184,6 @@ packages:
|
||||||
/punycode/2.1.1:
|
/punycode/2.1.1:
|
||||||
resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
|
resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/purgecss/4.0.3:
|
/purgecss/4.0.3:
|
||||||
resolution: {integrity: sha512-PYOIn5ibRIP34PBU9zohUcCI09c7drPJJtTDAc0Q6QlRz2/CHQ8ywGLdE7ZhxU2VTqB7p5wkvj5Qcm05Rz3Jmw==}
|
resolution: {integrity: sha512-PYOIn5ibRIP34PBU9zohUcCI09c7drPJJtTDAc0Q6QlRz2/CHQ8ywGLdE7ZhxU2VTqB7p5wkvj5Qcm05Rz3Jmw==}
|
||||||
|
@ -7307,6 +7484,10 @@ packages:
|
||||||
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
|
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/sax/1.2.4:
|
||||||
|
resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/saxes/3.1.11:
|
/saxes/3.1.11:
|
||||||
resolution: {integrity: sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==}
|
resolution: {integrity: sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
@ -7853,6 +8034,15 @@ packages:
|
||||||
punycode: 2.1.1
|
punycode: 2.1.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/tough-cookie/3.0.1:
|
||||||
|
resolution: {integrity: sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
dependencies:
|
||||||
|
ip-regex: 2.1.0
|
||||||
|
psl: 1.8.0
|
||||||
|
punycode: 2.1.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
/tough-cookie/4.0.0:
|
/tough-cookie/4.0.0:
|
||||||
resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==}
|
resolution: {integrity: sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
@ -7860,7 +8050,10 @@ packages:
|
||||||
psl: 1.8.0
|
psl: 1.8.0
|
||||||
punycode: 2.1.1
|
punycode: 2.1.1
|
||||||
universalify: 0.1.2
|
universalify: 0.1.2
|
||||||
dev: true
|
|
||||||
|
/tr46/0.0.3:
|
||||||
|
resolution: {integrity: sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/tr46/1.0.1:
|
/tr46/1.0.1:
|
||||||
resolution: {integrity: sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=}
|
resolution: {integrity: sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=}
|
||||||
|
@ -7917,7 +8110,10 @@ packages:
|
||||||
|
|
||||||
/tslib/1.14.1:
|
/tslib/1.14.1:
|
||||||
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
|
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
|
||||||
dev: true
|
|
||||||
|
/tslib/2.3.1:
|
||||||
|
resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/tsutils/3.21.0_typescript@4.5.2:
|
/tsutils/3.21.0_typescript@4.5.2:
|
||||||
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
|
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
|
||||||
|
@ -8040,7 +8236,6 @@ packages:
|
||||||
/universalify/0.1.2:
|
/universalify/0.1.2:
|
||||||
resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
|
resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
|
||||||
engines: {node: '>= 4.0.0'}
|
engines: {node: '>= 4.0.0'}
|
||||||
dev: true
|
|
||||||
|
|
||||||
/universalify/2.0.0:
|
/universalify/2.0.0:
|
||||||
resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
|
resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==}
|
||||||
|
@ -8100,6 +8295,11 @@ packages:
|
||||||
deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
|
deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
/uuid/8.3.2:
|
||||||
|
resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
|
||||||
|
hasBin: true
|
||||||
|
dev: false
|
||||||
|
|
||||||
/v8-compile-cache/2.3.0:
|
/v8-compile-cache/2.3.0:
|
||||||
resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==}
|
resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -8201,6 +8401,10 @@ packages:
|
||||||
resolution: {integrity: sha512-Bi5ae8Bev3YulgtLTafpmHmvl3vGbanRkv+qqA2AX8c3qj/MUdvSuaHq7ukDYBcMDINIaRPTPEkXSNCqqWivuA==}
|
resolution: {integrity: sha512-Bi5ae8Bev3YulgtLTafpmHmvl3vGbanRkv+qqA2AX8c3qj/MUdvSuaHq7ukDYBcMDINIaRPTPEkXSNCqqWivuA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/webidl-conversions/3.0.1:
|
||||||
|
resolution: {integrity: sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/webidl-conversions/4.0.2:
|
/webidl-conversions/4.0.2:
|
||||||
resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
|
resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -8225,6 +8429,13 @@ packages:
|
||||||
resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==}
|
resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/whatwg-url/5.0.0:
|
||||||
|
resolution: {integrity: sha1-lmRU6HZUYuN2RNNib2dCzotwll0=}
|
||||||
|
dependencies:
|
||||||
|
tr46: 0.0.3
|
||||||
|
webidl-conversions: 3.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
/whatwg-url/7.1.0:
|
/whatwg-url/7.1.0:
|
||||||
resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
|
resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -8328,6 +8539,19 @@ packages:
|
||||||
resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==}
|
resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/xml2js/0.4.23:
|
||||||
|
resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==}
|
||||||
|
engines: {node: '>=4.0.0'}
|
||||||
|
dependencies:
|
||||||
|
sax: 1.2.4
|
||||||
|
xmlbuilder: 11.0.1
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
/xmlbuilder/11.0.1:
|
||||||
|
resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==}
|
||||||
|
engines: {node: '>=4.0'}
|
||||||
|
dev: false
|
||||||
|
|
||||||
/xmlchars/2.2.0:
|
/xmlchars/2.2.0:
|
||||||
resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
|
resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
@ -8381,6 +8605,28 @@ packages:
|
||||||
readable-stream: 3.6.0
|
readable-stream: 3.6.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
github.com/actions/setup-python/f38219332975fe8f9c04cca981d674bf22aea1d3:
|
||||||
|
resolution: {tarball: https://codeload.github.com/actions/setup-python/tar.gz/f38219332975fe8f9c04cca981d674bf22aea1d3}
|
||||||
|
name: setup-python
|
||||||
|
version: 2.2.2
|
||||||
|
dependencies:
|
||||||
|
'@actions/cache': 1.0.8
|
||||||
|
'@actions/core': 1.6.0
|
||||||
|
'@actions/exec': 1.1.0
|
||||||
|
'@actions/glob': 0.2.0
|
||||||
|
'@actions/io': 1.1.1
|
||||||
|
'@actions/tool-cache': 1.7.1
|
||||||
|
semver: 7.3.5
|
||||||
|
dev: false
|
||||||
|
|
||||||
|
github.com/aminya/msvc-dev-cmd/9f672c1c3d12ea8156d8d0e53543791491291aec:
|
||||||
|
resolution: {tarball: https://codeload.github.com/aminya/msvc-dev-cmd/tar.gz/9f672c1c3d12ea8156d8d0e53543791491291aec}
|
||||||
|
name: msvc-dev-cmd
|
||||||
|
version: 1.1.1
|
||||||
|
dependencies:
|
||||||
|
'@actions/core': 1.6.0
|
||||||
|
dev: false
|
||||||
|
|
||||||
github.com/aminya/sort-package-json/076051b58be7b198732d1ce2b9a415ccd0c63a97:
|
github.com/aminya/sort-package-json/076051b58be7b198732d1ce2b9a415ccd0c63a97:
|
||||||
resolution: {tarball: https://codeload.github.com/aminya/sort-package-json/tar.gz/076051b58be7b198732d1ce2b9a415ccd0c63a97}
|
resolution: {tarball: https://codeload.github.com/aminya/sort-package-json/tar.gz/076051b58be7b198732d1ce2b9a415ccd0c63a97}
|
||||||
name: sort-package-json
|
name: sort-package-json
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
packages:
|
|
||||||
- "."
|
|
|
@ -3,6 +3,7 @@ import execa from "execa"
|
||||||
import { existsSync } from "fs"
|
import { existsSync } from "fs"
|
||||||
import { dirname } from "path"
|
import { dirname } from "path"
|
||||||
import which from "which"
|
import which from "which"
|
||||||
|
import { addPath } from "../utils/path/addPath"
|
||||||
import { InstallationInfo } from "../utils/setup/setupBin"
|
import { InstallationInfo } from "../utils/setup/setupBin"
|
||||||
|
|
||||||
let binDir: string | undefined
|
let binDir: string | undefined
|
||||||
|
@ -29,10 +30,27 @@ export function setupChocolatey(
|
||||||
return { binDir }
|
return { binDir }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let powershell = "powershell.exe"
|
||||||
|
const maybePowerShell = which.sync(`${process.env.SystemRoot}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`, {
|
||||||
|
nothrow: true,
|
||||||
|
})
|
||||||
|
if (maybePowerShell !== null) {
|
||||||
|
powershell = maybePowerShell
|
||||||
|
}
|
||||||
|
|
||||||
// https://docs.chocolatey.org/en-us/choco/setup#install-with-cmd.exe
|
// https://docs.chocolatey.org/en-us/choco/setup#install-with-cmd.exe
|
||||||
execa.commandSync(
|
execa.sync(powershell, [
|
||||||
`@"%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\\chocolatey\\bin"`
|
"-NoProfile",
|
||||||
)
|
"-InputFormat",
|
||||||
|
"None",
|
||||||
|
"-ExecutionPolicy",
|
||||||
|
"Bypass",
|
||||||
|
"-Command",
|
||||||
|
"[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))",
|
||||||
|
])
|
||||||
|
|
||||||
|
const chocoPath = `${process.env.ALLUSERSPROFILE}\\chocolatey\\bin`
|
||||||
|
addPath(chocoPath)
|
||||||
|
|
||||||
const maybeChoco = which.sync("choco", { nothrow: true })
|
const maybeChoco = which.sync("choco", { nothrow: true })
|
||||||
if (maybeChoco !== null) {
|
if (maybeChoco !== null) {
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
const DefaultVersions: Record<string, string> = {
|
const DefaultVersions: Record<string, string> = {
|
||||||
msvc: "2019",
|
msvc: "2019",
|
||||||
|
vcvarsall: "2019",
|
||||||
llvm: "13.0.0",
|
llvm: "13.0.0",
|
||||||
ninja: "1.10.2",
|
ninja: "1.10.2",
|
||||||
cmake: "3.22.0",
|
cmake: "3.22.0",
|
||||||
|
|
17
src/main.ts
17
src/main.ts
|
@ -26,6 +26,7 @@ import { error, success } from "./utils/io/io"
|
||||||
import { setupVcpkg } from "./vcpkg/vcpkg"
|
import { setupVcpkg } from "./vcpkg/vcpkg"
|
||||||
import { join } from "path"
|
import { join } from "path"
|
||||||
import { warning } from "@actions/core"
|
import { warning } from "@actions/core"
|
||||||
|
import { setupVCVarsall } from "./vcvarsall/vcvarsall"
|
||||||
|
|
||||||
/** The setup functions */
|
/** The setup functions */
|
||||||
const setups = {
|
const setups = {
|
||||||
|
@ -45,6 +46,7 @@ const setups = {
|
||||||
doxygen: setupDoxygen,
|
doxygen: setupDoxygen,
|
||||||
cppcheck: setupCppcheck,
|
cppcheck: setupCppcheck,
|
||||||
msvc: setupMSVC,
|
msvc: setupMSVC,
|
||||||
|
vcvarsall: setupVCVarsall,
|
||||||
}
|
}
|
||||||
|
|
||||||
/** The tools that can be installed */
|
/** The tools that can be installed */
|
||||||
|
@ -65,6 +67,7 @@ const tools: Array<keyof typeof setups> = [
|
||||||
"llvm",
|
"llvm",
|
||||||
"gcc",
|
"gcc",
|
||||||
"msvc",
|
"msvc",
|
||||||
|
"vcvarsall",
|
||||||
]
|
]
|
||||||
|
|
||||||
/** The possible inputs to the program */
|
/** The possible inputs to the program */
|
||||||
|
@ -111,14 +114,19 @@ export async function main(args: string[]): Promise<number> {
|
||||||
|
|
||||||
// skip if undefined
|
// skip if undefined
|
||||||
if (value !== undefined) {
|
if (value !== undefined) {
|
||||||
|
// running the setup function for this tool
|
||||||
|
try {
|
||||||
|
let installationInfo: InstallationInfo | undefined | void
|
||||||
|
if (tool === "vcvarsall") {
|
||||||
|
// eslint-disable-next-line no-await-in-loop
|
||||||
|
setupVCVarsall(getVersion(tool, value), undefined, arch, undefined, undefined, false, false)
|
||||||
|
} else {
|
||||||
// get the setup function
|
// get the setup function
|
||||||
const setupFunction = setups[tool]
|
const setupFunction = setups[tool]
|
||||||
|
|
||||||
// running the setup function for this tool
|
|
||||||
try {
|
|
||||||
// eslint-disable-next-line no-await-in-loop
|
// eslint-disable-next-line no-await-in-loop
|
||||||
const installationInfo = await setupFunction(getVersion(tool, value), join(setupCppDir, tool), arch)
|
installationInfo = await setupFunction(getVersion(tool, value), join(setupCppDir, tool), arch)
|
||||||
|
}
|
||||||
// preparing a report string
|
// preparing a report string
|
||||||
if (installationInfo !== undefined) {
|
if (installationInfo !== undefined) {
|
||||||
successMessages.push(getSuccessMessage(tool, installationInfo))
|
successMessages.push(getSuccessMessage(tool, installationInfo))
|
||||||
|
@ -252,6 +260,7 @@ Install all the tools required for building and testing C++/C projects.
|
||||||
All the available tools:
|
All the available tools:
|
||||||
--llvm
|
--llvm
|
||||||
--gcc
|
--gcc
|
||||||
|
--vcvarsall
|
||||||
--cmake
|
--cmake
|
||||||
--ninja
|
--ninja
|
||||||
--vcpkg
|
--vcpkg
|
||||||
|
|
|
@ -1,18 +1,48 @@
|
||||||
|
import which from "which"
|
||||||
import { testBin } from "../../utils/tests/test-helpers"
|
import { testBin } from "../../utils/tests/test-helpers"
|
||||||
import { setupMSVC } from "../msvc"
|
import { setupMSVC } from "../msvc"
|
||||||
|
|
||||||
jest.setTimeout(300000)
|
jest.setTimeout(300000)
|
||||||
describe("setup-msvc", () => {
|
describe("setup-msvc", () => {
|
||||||
it("should setup msvc", async () => {
|
it("should setup msvc 2019", async () => {
|
||||||
|
try {
|
||||||
if (process.platform !== "win32") {
|
if (process.platform !== "win32") {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
await setupMSVC("2019", "", process.arch)
|
await setupMSVC("2019", "", process.arch)
|
||||||
|
|
||||||
try {
|
|
||||||
await testBin("cl", [])
|
await testBin("cl", [])
|
||||||
} catch (err) {
|
console.log(which("cl"))
|
||||||
// TODO see #1
|
} catch (e) {
|
||||||
|
// TODO
|
||||||
|
console.error(e)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
it("should setup msvc 2017", async () => {
|
||||||
|
try {
|
||||||
|
if (process.platform !== "win32") {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
await setupMSVC("2017", "", process.arch)
|
||||||
|
await testBin("cl", [])
|
||||||
|
console.log(which("cl"))
|
||||||
|
} catch (e) {
|
||||||
|
// TODO
|
||||||
|
console.error(e)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
it("should setup msvc 2015", async () => {
|
||||||
|
try {
|
||||||
|
if (process.platform !== "win32") {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
await setupMSVC("2015", "", process.arch)
|
||||||
|
await testBin("cl", [])
|
||||||
|
console.log(which("cl"))
|
||||||
|
} catch (e) {
|
||||||
|
// TODO
|
||||||
|
console.error(e)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Subproject commit 082928e04f67114ec851d165f1ab48fce0b5d752
|
|
101
src/msvc/msvc.ts
101
src/msvc/msvc.ts
|
@ -1,28 +1,14 @@
|
||||||
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
import { setupChocoPack } from "../utils/setup/setupChocoPack"
|
||||||
import { error, exportVariable, warning } from "@actions/core"
|
import { error } from "@actions/core"
|
||||||
import { existsSync } from "fs"
|
import { setupVCVarsall } from "../vcvarsall/vcvarsall"
|
||||||
import { isCI } from "../utils/env/isci"
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
|
// @ts-ignore
|
||||||
|
import { vsversion_to_versionnumber, findVcvarsall } from "msvc-dev-cmd/lib.js"
|
||||||
|
|
||||||
type MSVCVersion = "2015" | "2017" | "2019" | string
|
type MSVCVersion = "2022" | "17.0" | "2019" | "16.0" | "2017" | "15.0" | "2015" | "14.0" | "2013" | "12.0" | string
|
||||||
|
|
||||||
function getArch(arch: string): string {
|
|
||||||
switch (arch) {
|
|
||||||
case "x32":
|
|
||||||
case "32":
|
|
||||||
case "ia32": {
|
|
||||||
return "x86"
|
|
||||||
}
|
|
||||||
case "64": {
|
|
||||||
return "x64"
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
return arch
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function setupMSVC(
|
export async function setupMSVC(
|
||||||
version: MSVCVersion,
|
versionGiven: MSVCVersion,
|
||||||
_setupDir: string,
|
_setupDir: string,
|
||||||
arch: string,
|
arch: string,
|
||||||
sdk?: string,
|
sdk?: string,
|
||||||
|
@ -32,62 +18,45 @@ export async function setupMSVC(
|
||||||
if (process.platform !== "win32") {
|
if (process.platform !== "win32") {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
const version = vsversion_to_versionnumber(versionGiven) as string
|
||||||
|
|
||||||
|
// check if the given version is already installed
|
||||||
|
let installed = false
|
||||||
|
try {
|
||||||
|
findVcvarsall(version)
|
||||||
|
installed = true
|
||||||
|
} catch {
|
||||||
|
// not installed, try installing
|
||||||
|
}
|
||||||
|
|
||||||
let toolset: string | undefined
|
let toolset: string | undefined
|
||||||
let VCTargetsPath: string | undefined
|
let VCTargetsPath: string | undefined
|
||||||
if (!isCI()) {
|
|
||||||
// TODO enable this code path once its bugs are fixed
|
|
||||||
// https://github.com/aminya/setup-cpp/issues/1
|
// https://github.com/aminya/setup-cpp/issues/1
|
||||||
warning("Installing MSVC is experimental and known to fail.")
|
|
||||||
try {
|
try {
|
||||||
if (version === "2015") {
|
if (version === "14.0") {
|
||||||
toolset = "14.0.25420.1"
|
toolset = "14.0"
|
||||||
await setupChocoPack("visualcpp-build-tools", toolset, [
|
if (!installed) {
|
||||||
"--ignore-dependencies",
|
await setupChocoPack("visualcpp-build-tools", "14.0.25420.1", ["--ignore-dependencies"])
|
||||||
"--params",
|
|
||||||
"'/IncludeRequired'",
|
|
||||||
])
|
|
||||||
|
|
||||||
VCTargetsPath = "C:/Program Files (x86)/MSBuild/Microsoft.Cpp/v4.0/v140"
|
|
||||||
if (existsSync(VCTargetsPath)) {
|
|
||||||
exportVariable("VCTargetsPath", VCTargetsPath)
|
|
||||||
}
|
}
|
||||||
} else if (version === "2017") {
|
VCTargetsPath = "C:/Program Files (x86)/MSBuild/Microsoft.Cpp/v4.0/v140"
|
||||||
|
} else if (version === "15.0") {
|
||||||
toolset = "14.16"
|
toolset = "14.16"
|
||||||
await setupChocoPack("visualstudio2017buildtools", "15.9.38.0", [
|
if (!installed) {
|
||||||
"--package-parameters",
|
await setupChocoPack("visualstudio2017buildtools", "15.9.41.0", [])
|
||||||
"'--add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended --passive'",
|
}
|
||||||
])
|
|
||||||
VCTargetsPath = "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16" // TODO verify path
|
VCTargetsPath = "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Tools/MSVC/14.16" // TODO verify path
|
||||||
} else if (version === "2019") {
|
} else if (version === "16.0") {
|
||||||
toolset = "14.29.30133"
|
toolset = "14.29"
|
||||||
await setupChocoPack("visualstudio2019buildtools", "16.11.2.0", [
|
if (!installed) {
|
||||||
"--package-parameters",
|
await setupChocoPack("visualstudio2019buildtools", "16.11.7.0", [])
|
||||||
"'--add Microsoft.VisualStudio.Workload.NativeDesktop --includeRecommended --passive'",
|
}
|
||||||
])
|
|
||||||
VCTargetsPath = "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133"
|
VCTargetsPath = "C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133"
|
||||||
|
} else {
|
||||||
|
error(`The given MSVC versions ${versionGiven} is not supported yet.`)
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
error(e as string | Error)
|
error(e as string | Error)
|
||||||
}
|
}
|
||||||
}
|
|
||||||
// run vcvarsall.bat environment variables
|
// run vcvarsall.bat environment variables
|
||||||
activateMSVC(VCTargetsPath, arch, toolset, sdk, uwp, spectre)
|
setupVCVarsall(version, VCTargetsPath, arch, toolset, sdk, uwp, spectre)
|
||||||
}
|
|
||||||
|
|
||||||
function activateMSVC(
|
|
||||||
VCTargetsPath: string | undefined,
|
|
||||||
arch: string,
|
|
||||||
toolset: string | undefined,
|
|
||||||
sdk?: string,
|
|
||||||
uwp?: boolean,
|
|
||||||
spectre?: boolean
|
|
||||||
) {
|
|
||||||
if (VCTargetsPath !== undefined && existsSync(VCTargetsPath)) {
|
|
||||||
exportVariable("VCTargetsPath", VCTargetsPath)
|
|
||||||
}
|
|
||||||
|
|
||||||
// lazy load the action so it is not executed
|
|
||||||
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
||||||
const { setupMSVCDevCmd } = require("./msvc-dev-cmd/index")
|
|
||||||
setupMSVCDevCmd(getArch(arch), sdk, toolset, uwp, spectre)
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
import * as core from "@actions/core"
|
import * as core from "@actions/core"
|
||||||
import * as finder from "./setup-python/src/find-python"
|
import * as finder from "setup-python/src/find-python"
|
||||||
import * as finderPyPy from "./setup-python/src/find-pypy"
|
import * as finderPyPy from "setup-python/src/find-pypy"
|
||||||
// import * as path from "path"
|
// import * as path from "path"
|
||||||
|
|
||||||
function isPyPyVersion(versionSpec: string) {
|
function isPyPyVersion(versionSpec: string) {
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
Subproject commit 2d803e7feaf26323835f529f28efa6400f18ad01
|
|
|
@ -14,10 +14,18 @@ export async function setupChocoPack(name: string, version?: string, args: strin
|
||||||
hasChoco = true
|
hasChoco = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// https://github.com/jberezanski/ChocolateyPackages/issues/97#issuecomment-986825694
|
||||||
|
const PATH = process.env.PATH
|
||||||
|
const env = { ...process.env }
|
||||||
|
delete env.TMP
|
||||||
|
delete env.TEMP
|
||||||
|
delete env.Path
|
||||||
|
env.PATH = PATH
|
||||||
|
|
||||||
if (version !== undefined && version !== "") {
|
if (version !== undefined && version !== "") {
|
||||||
execa.sync("choco", ["install", "-y", name, `--version=${version}`, ...args])
|
execa.sync("choco", ["install", "-y", name, `--version=${version}`, ...args], { env, extendEnv: false })
|
||||||
} else {
|
} else {
|
||||||
execa.sync("choco", ["install", "-y", name, ...args])
|
execa.sync("choco", ["install", "-y", name, ...args], { env, extendEnv: false })
|
||||||
}
|
}
|
||||||
|
|
||||||
const binDir = "C:/ProgramData/Chocolatey/bin/"
|
const binDir = "C:/ProgramData/Chocolatey/bin/"
|
||||||
|
|
|
@ -0,0 +1,38 @@
|
||||||
|
import { exportVariable, info } from "@actions/core"
|
||||||
|
import { existsSync } from "fs"
|
||||||
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
||||||
|
// @ts-ignore
|
||||||
|
import { setupMSVCDevCmd } from "msvc-dev-cmd/lib.js"
|
||||||
|
|
||||||
|
function getArch(arch: string): string {
|
||||||
|
switch (arch) {
|
||||||
|
case "x32":
|
||||||
|
case "32":
|
||||||
|
case "ia32": {
|
||||||
|
return "x86"
|
||||||
|
}
|
||||||
|
case "64": {
|
||||||
|
return "x64"
|
||||||
|
}
|
||||||
|
default: {
|
||||||
|
return arch
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function setupVCVarsall(
|
||||||
|
vsversion: string,
|
||||||
|
VCTargetsPath: string | undefined,
|
||||||
|
arch: string,
|
||||||
|
toolset: string | undefined,
|
||||||
|
sdk?: string,
|
||||||
|
uwp?: boolean,
|
||||||
|
spectre?: boolean
|
||||||
|
) {
|
||||||
|
if (VCTargetsPath !== undefined && existsSync(VCTargetsPath)) {
|
||||||
|
info(`Adding ${VCTargetsPath} to PATH`)
|
||||||
|
exportVariable("VCTargetsPath", VCTargetsPath)
|
||||||
|
}
|
||||||
|
|
||||||
|
setupMSVCDevCmd(getArch(arch), sdk, toolset, uwp, spectre, vsversion)
|
||||||
|
}
|
|
@ -27,6 +27,5 @@
|
||||||
"outDir": "./dist"
|
"outDir": "./dist"
|
||||||
},
|
},
|
||||||
"compileOnSave": false,
|
"compileOnSave": false,
|
||||||
"include": ["./src"],
|
"include": ["./src"]
|
||||||
"exclude": ["./src/python/setup-python", "src/msvc/msvc-dev-cmd/"]
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue