mirror of
https://github.com/VSCodium/vscodium.git
synced 2026-04-12 00:37:19 +10:00
Compare commits
215 Commits
1.103.1541
...
insider
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1f18978fd4 | ||
|
|
5b99338d80 | ||
|
|
7e281e2511 | ||
|
|
31837ad2a9 | ||
|
|
40a5cd74e9 | ||
|
|
4338c0d091 | ||
|
|
e9ef32366d | ||
|
|
8eabf502e0 | ||
|
|
693c0a5de9 | ||
|
|
9e80af72b7 | ||
|
|
07ebfc0b13 | ||
|
|
397bef3984 | ||
|
|
48c8ddf405 | ||
|
|
0307465fec | ||
|
|
ca017a7861 | ||
|
|
d8b2d1464f | ||
|
|
4898eb90eb | ||
|
|
8077599387 | ||
|
|
2c31dca7e2 | ||
|
|
cb68d26217 | ||
|
|
43be3f1816 | ||
|
|
a1bf8e32bc | ||
|
|
5786ae0d99 | ||
|
|
5f4aa29275 | ||
|
|
d3d93691db | ||
|
|
803457343a | ||
|
|
2321c2c695 | ||
|
|
8384dd0980 | ||
|
|
e8a8565bdb | ||
|
|
414aa4862b | ||
|
|
81a5f96569 | ||
|
|
a06532dfaf | ||
|
|
b369b69597 | ||
|
|
db1eeed5b2 | ||
|
|
e49b649a19 | ||
|
|
44cb5e2073 | ||
|
|
3d7e85c307 | ||
|
|
0ff5473194 | ||
|
|
5b5008e570 | ||
|
|
c95b880148 | ||
|
|
12ee0524bf | ||
|
|
88a290aa68 | ||
|
|
e8c2ca40dd | ||
|
|
419245db4b | ||
|
|
ccd71421da | ||
|
|
1dec128c07 | ||
|
|
ccf4d751c8 | ||
|
|
34d6a7b4d5 | ||
|
|
ff5eff419c | ||
|
|
b4409deee2 | ||
|
|
5ea412eee4 | ||
|
|
55615878f9 | ||
|
|
be4746a775 | ||
|
|
15cc1eadd2 | ||
|
|
7d6f546461 | ||
|
|
cf38c857b2 | ||
|
|
eaeb6e6bb3 | ||
|
|
22a615e8ff | ||
|
|
399b022266 | ||
|
|
be3bb0ad5b | ||
|
|
6b229ed069 | ||
|
|
325e7a79e9 | ||
|
|
273901d3c2 | ||
|
|
8a26e54d3e | ||
|
|
091907f2c0 | ||
|
|
47e2863d9e | ||
|
|
91d172cd42 | ||
|
|
94f90090cb | ||
|
|
412aa78881 | ||
|
|
a199c0a529 | ||
|
|
cf437da521 | ||
|
|
e8ec5e2452 | ||
|
|
2b2bef0927 | ||
|
|
17b5b6ed50 | ||
|
|
72b795d984 | ||
|
|
71afd18e59 | ||
|
|
7d910f4077 | ||
|
|
fc8f76ad58 | ||
|
|
a5210af800 | ||
|
|
3bf7629f7a | ||
|
|
bfaa0ebd4e | ||
|
|
fe63a5a5d9 | ||
|
|
7224e53e62 | ||
|
|
962f1ac04c | ||
|
|
7656ee4017 | ||
|
|
a053a4a5c2 | ||
|
|
0079f51fe2 | ||
|
|
47c5d7d549 | ||
|
|
26fd8577a7 | ||
|
|
9931513623 | ||
|
|
de5bd6bf1f | ||
|
|
de91c92a23 | ||
|
|
c0d5246c70 | ||
|
|
63fad3ddfa | ||
|
|
d54958e349 | ||
|
|
dc3ffab8bf | ||
|
|
a80048c451 | ||
|
|
26ee7024a2 | ||
|
|
895ada1ac1 | ||
|
|
859e1f1a1c | ||
|
|
cc1a3ef5bd | ||
|
|
163fff4742 | ||
|
|
79adc487cb | ||
|
|
b69846f794 | ||
|
|
42ab5a8aa3 | ||
|
|
846096bd53 | ||
|
|
3981f5dcb8 | ||
|
|
4ecf45044e | ||
|
|
cec35aab94 | ||
|
|
6901a0ca2b | ||
|
|
ca9b356c3b | ||
|
|
8d8db1de1b | ||
|
|
53ff95933c | ||
|
|
39be6d3a95 | ||
|
|
f7de31a582 | ||
|
|
ccb2819b25 | ||
|
|
d2cdc6e515 | ||
|
|
b88fdc76f5 | ||
|
|
f2f1594771 | ||
|
|
88f558aafc | ||
|
|
11b807517c | ||
|
|
9664f9e77d | ||
|
|
5993ddb3a5 | ||
|
|
59e21c9cc6 | ||
|
|
2fccc0e2fe | ||
|
|
51ad421762 | ||
|
|
646b42473b | ||
|
|
068f270488 | ||
|
|
4ba37835b2 | ||
|
|
2487cd7ce2 | ||
|
|
75df078e52 | ||
|
|
9061e7e264 | ||
|
|
adef3f0534 | ||
|
|
dab94316d5 | ||
|
|
60b7a4640e | ||
|
|
f81d3d53ad | ||
|
|
a95e1ff14f | ||
|
|
36270ef9c3 | ||
|
|
c0ac4bd72e | ||
|
|
f60f14d085 | ||
|
|
a9167d21e2 | ||
|
|
e1f7642bcb | ||
|
|
94a6ad5495 | ||
|
|
73046b84aa | ||
|
|
22d1929f41 | ||
|
|
6264d064e4 | ||
|
|
578df58363 | ||
|
|
20382726b4 | ||
|
|
b943cab988 | ||
|
|
a69d10fa91 | ||
|
|
ac024726a3 | ||
|
|
e3c3b6fdf7 | ||
|
|
fbdc680c69 | ||
|
|
dd8511cc6b | ||
|
|
f6b143dbd6 | ||
|
|
cde9fd233a | ||
|
|
284d83b24e | ||
|
|
8cc366bb76 | ||
|
|
4c2b2b8a79 | ||
|
|
8e49f5f8b1 | ||
|
|
0ac07d6fcc | ||
|
|
bf53c50a5b | ||
|
|
d0973e3104 | ||
|
|
8e10409b4a | ||
|
|
bcd3d6bffa | ||
|
|
b3c1e8901a | ||
|
|
c2cff308aa | ||
|
|
0d1fecf0d4 | ||
|
|
5bf3fdcc05 | ||
|
|
acf298a9c2 | ||
|
|
2d9bbfb2f3 | ||
|
|
9d798626aa | ||
|
|
f574039dc4 | ||
|
|
e648323548 | ||
|
|
bc2c678d47 | ||
|
|
69fe88f58c | ||
|
|
43d4061cec | ||
|
|
471a81e89f | ||
|
|
e84017f36b | ||
|
|
e494154c9b | ||
|
|
dc302f89af | ||
|
|
0545b56f6f | ||
|
|
914f0da189 | ||
|
|
a3bf4232ba | ||
|
|
23683879d3 | ||
|
|
177bb9032d | ||
|
|
7245ccb8bd | ||
|
|
166e10c23b | ||
|
|
69fee0be29 | ||
|
|
68d5becf4d | ||
|
|
a425c2ca5d | ||
|
|
242a448627 | ||
|
|
e298421027 | ||
|
|
51f1643852 | ||
|
|
279bb37012 | ||
|
|
2af82b8c5b | ||
|
|
930f570146 | ||
|
|
b1ee5b1428 | ||
|
|
23688ef492 | ||
|
|
3f44e3f4a3 | ||
|
|
9ffd0a3632 | ||
|
|
418209fe92 | ||
|
|
96af93b5de | ||
|
|
7bdf2348e1 | ||
|
|
e114e120f3 | ||
|
|
e4091b268c | ||
|
|
ed516ab087 | ||
|
|
4959ac2e25 | ||
|
|
2717404c48 | ||
|
|
ef86a20ce4 | ||
|
|
3c07d343da | ||
|
|
ae7ac2e35c | ||
|
|
067a4d4e7d | ||
|
|
c31bc7e230 | ||
|
|
1d870bf372 |
1
.github/dependabot.yml
vendored
1
.github/dependabot.yml
vendored
@@ -7,5 +7,6 @@ version: 2
|
||||
updates:
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
target-branch: insider
|
||||
schedule:
|
||||
interval: "weekly"
|
||||
|
||||
65
.github/workflows/insider-linux.yml
vendored
65
.github/workflows/insider-linux.yml
vendored
@@ -48,7 +48,7 @@ jobs:
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
@@ -85,7 +85,7 @@ jobs:
|
||||
BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
@@ -96,19 +96,19 @@ jobs:
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Setup GCC
|
||||
uses: egor-tensin/setup-gcc@v1
|
||||
uses: egor-tensin/setup-gcc@v2
|
||||
with:
|
||||
version: 10
|
||||
platform: x64
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '22.15.1'
|
||||
node-version-file: '.nvmrc'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
@@ -137,7 +137,7 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Upload vscode artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: vscode
|
||||
path: ./vscode.tar.gz
|
||||
@@ -172,7 +172,7 @@ jobs:
|
||||
- slug: LOONG64
|
||||
vscode_arch: loong64
|
||||
npm_arch: loong64
|
||||
image: vscodium/vscodium-linux-build-agent:beige-loong64
|
||||
image: vscodium/vscodium-linux-build-agent:crimson-loong64
|
||||
- slug: PPC64
|
||||
vscode_arch: ppc64le
|
||||
npm_arch: ppc64
|
||||
@@ -194,7 +194,7 @@ jobs:
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
@@ -206,7 +206,7 @@ jobs:
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Install GH
|
||||
run: ./install_gh.sh
|
||||
run: ./build/linux/install_gh.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
@@ -225,12 +225,13 @@ jobs:
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v5
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: vscode
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Build
|
||||
id: build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
npm_config_arch: ${{ matrix.npm_arch }}
|
||||
@@ -241,6 +242,9 @@ jobs:
|
||||
env:
|
||||
SHOULD_BUILD_REH: 'no'
|
||||
SHOULD_BUILD_REH_WEB: 'no'
|
||||
VSCODE_SYSROOT_REPOSITORY: ${{ steps.build.outputs.VSCODE_SYSROOT_REPOSITORY }}
|
||||
VSCODE_SYSROOT_VERSION: ${{ steps.build.outputs.VSCODE_SYSROOT_VERSION }}
|
||||
VSCODE_SYSROOT_PREFIX: ${{ steps.build.outputs.VSCODE_SYSROOT_PREFIX }}
|
||||
run: ./prepare_assets.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
@@ -260,7 +264,7 @@ jobs:
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: bin-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
@@ -309,7 +313,7 @@ jobs:
|
||||
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.DISABLED != 'yes'
|
||||
@@ -321,20 +325,20 @@ jobs:
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Setup GCC
|
||||
uses: egor-tensin/setup-gcc@v1
|
||||
uses: egor-tensin/setup-gcc@v2
|
||||
with:
|
||||
version: 10
|
||||
platform: x64
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '22.15.1'
|
||||
node-version-file: '.nvmrc'
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.DISABLED != 'yes'
|
||||
@@ -344,7 +348,7 @@ jobs:
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Install GH
|
||||
run: ./install_gh.sh
|
||||
run: ./build/linux/install_gh.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
@@ -355,7 +359,7 @@ jobs:
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v5
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: vscode
|
||||
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
|
||||
@@ -375,7 +379,7 @@ jobs:
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no')
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: reh-linux-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
@@ -410,7 +414,7 @@ jobs:
|
||||
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
@@ -420,13 +424,18 @@ jobs:
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Setup GCC
|
||||
uses: egor-tensin/setup-gcc@v1
|
||||
uses: egor-tensin/setup-gcc@v2
|
||||
with:
|
||||
version: 10
|
||||
platform: x64
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Install GH
|
||||
run: ./install_gh.sh
|
||||
run: ./build/linux/install_gh.sh
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
@@ -440,7 +449,7 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v5
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: vscode
|
||||
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
|
||||
@@ -460,7 +469,7 @@ jobs:
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no')
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: reh-alpine-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
@@ -512,7 +521,7 @@ jobs:
|
||||
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && needs.check.outputs.SHOULD_BUILD_SNAP != 'no' && vars.DISABLE_INSIDER_SNAP != 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
@@ -521,7 +530,7 @@ jobs:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- uses: docker/setup-qemu-action@v3
|
||||
- uses: docker/setup-qemu-action@v4
|
||||
|
||||
- uses: diddlesnaps/snapcraft-multiarch-action@v1
|
||||
with:
|
||||
@@ -550,7 +559,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Trigger repository rebuild
|
||||
uses: peter-evans/repository-dispatch@v3
|
||||
uses: peter-evans/repository-dispatch@v4
|
||||
with:
|
||||
token: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
repository: VSCodium/repositories-linux
|
||||
|
||||
12
.github/workflows/insider-macos.yml
vendored
12
.github/workflows/insider-macos.yml
vendored
@@ -44,13 +44,13 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- runner: macos-13
|
||||
- runner: macos-15-intel
|
||||
vscode_arch: x64
|
||||
- runner: [self-hosted, macOS, ARM64]
|
||||
vscode_arch: arm64
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
@@ -60,12 +60,12 @@ jobs:
|
||||
run: . get_pr.sh
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '22.15.1'
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.VSCODE_ARCH == 'x64'
|
||||
@@ -116,7 +116,7 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: bin-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
|
||||
20
.github/workflows/insider-spearhead.yml
vendored
20
.github/workflows/insider-spearhead.yml
vendored
@@ -20,7 +20,7 @@ on:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-14
|
||||
runs-on: macos-15
|
||||
env:
|
||||
APP_NAME: VSCodium
|
||||
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
|
||||
@@ -28,20 +28,21 @@ jobs:
|
||||
GH_REPO_PATH: ${{ github.repository }}
|
||||
ORG_NAME: ${{ github.repository_owner }}
|
||||
OS_NAME: osx
|
||||
SOURCEMAPS_REPOSITORY: ${{ github.repository_owner }}/sourcemaps
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
VSCODE_ARCH: arm64
|
||||
VSCODE_LATEST: ${{ github.event.inputs.dont_update == 'true' && 'no' || 'yes' }}
|
||||
VSCODE_QUALITY: insider
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: insider
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '22.15.1'
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: . get_repo.sh
|
||||
@@ -60,7 +61,7 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Import GPG key
|
||||
uses: crazy-max/ghaction-import-gpg@v6
|
||||
uses: crazy-max/ghaction-import-gpg@v7
|
||||
with:
|
||||
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||
passphrase: ${{ secrets.GPG_PASSPHRASE }}
|
||||
@@ -76,6 +77,13 @@ jobs:
|
||||
run: ./prepare_src.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Upload sourcemaps
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./upload_sourcemaps.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Release source
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
@@ -84,7 +92,7 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Dispatch builds
|
||||
uses: peter-evans/repository-dispatch@v3
|
||||
uses: peter-evans/repository-dispatch@v4
|
||||
with:
|
||||
event-type: insider
|
||||
if: github.event.inputs.dont_dispatch != 'true' && (env.SHOULD_BUILD == 'yes' || github.event.inputs.force_dispatch == 'true')
|
||||
|
||||
53
.github/workflows/insider-windows.yml
vendored
53
.github/workflows/insider-windows.yml
vendored
@@ -46,7 +46,7 @@ jobs:
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
@@ -72,7 +72,10 @@ jobs:
|
||||
compile:
|
||||
needs:
|
||||
- check
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: windows-2022
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
env:
|
||||
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
||||
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
||||
@@ -83,7 +86,7 @@ jobs:
|
||||
BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
@@ -93,27 +96,27 @@ jobs:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Setup GCC
|
||||
uses: egor-tensin/setup-gcc@v1
|
||||
with:
|
||||
version: 10
|
||||
platform: x64
|
||||
# - name: Setup GCC
|
||||
# uses: egor-tensin/setup-gcc@v1
|
||||
# with:
|
||||
# version: 10
|
||||
# platform: x64
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '22.15.1'
|
||||
node-version-file: '.nvmrc'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Install libkrb5-dev
|
||||
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
# - name: Install libkrb5-dev
|
||||
# run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
|
||||
# if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
@@ -135,7 +138,7 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Upload vscode artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: vscode
|
||||
path: ./vscode.tar.gz
|
||||
@@ -169,7 +172,7 @@ jobs:
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
@@ -181,13 +184,13 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '22.15.1'
|
||||
node-version-file: '.nvmrc'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
@@ -200,7 +203,7 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v5
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: vscode
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
@@ -219,7 +222,7 @@ jobs:
|
||||
|
||||
- name: Upload unsigned artifacts
|
||||
id: upload-unsigned-artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: unsigned-${{ matrix.vscode_arch }}
|
||||
path: |
|
||||
@@ -229,7 +232,7 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes' && vars.DISABLE_INSIDER_WINDOWS_SIGNING != 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Signing
|
||||
uses: signpath/github-action-submit-signing-request@v1
|
||||
uses: signpath/github-action-submit-signing-request@v2
|
||||
with:
|
||||
api-token: ${{ secrets.SIGNPATH_API_TOKEN }}
|
||||
organization-id: ${{ secrets.SIGNPATH_ORGANIZATION_ID }}
|
||||
@@ -263,7 +266,7 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: bin-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
@@ -272,7 +275,7 @@ jobs:
|
||||
|
||||
winget:
|
||||
needs: build
|
||||
runs-on: windows-latest
|
||||
runs-on: windows-2022
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
@@ -282,7 +285,7 @@ jobs:
|
||||
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
|
||||
5
.github/workflows/lock.yml
vendored
5
.github/workflows/lock.yml
vendored
@@ -1,4 +1,4 @@
|
||||
name: Lock Issues
|
||||
name: Lock Closed Threads
|
||||
|
||||
on:
|
||||
schedule:
|
||||
@@ -8,9 +8,10 @@ jobs:
|
||||
lock:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: dessant/lock-threads@v5
|
||||
- uses: dessant/lock-threads@v6
|
||||
with:
|
||||
github-token: ${{ github.token }}
|
||||
issue-inactive-days: '90'
|
||||
pr-inactive-days: '90'
|
||||
discussion-inactive-days: '90'
|
||||
log-output: true
|
||||
|
||||
70
.github/workflows/stable-linux.yml
vendored
70
.github/workflows/stable-linux.yml
vendored
@@ -9,6 +9,9 @@ on:
|
||||
generate_assets:
|
||||
type: boolean
|
||||
description: Generate assets
|
||||
force_snap:
|
||||
type: boolean
|
||||
description: Force Snap
|
||||
checkout_pr:
|
||||
type: string
|
||||
description: Checkout PR
|
||||
@@ -47,7 +50,7 @@ jobs:
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
@@ -68,6 +71,7 @@ jobs:
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
CHECK_ALL: 'yes'
|
||||
FORCE_LINUX_SNAP: ${{ github.event.inputs.force_snap }}
|
||||
run: ./check_tags.sh
|
||||
|
||||
compile:
|
||||
@@ -84,7 +88,7 @@ jobs:
|
||||
BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
@@ -96,20 +100,20 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup GCC
|
||||
uses: egor-tensin/setup-gcc@v1
|
||||
uses: egor-tensin/setup-gcc@v2
|
||||
with:
|
||||
version: 10
|
||||
platform: x64
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '22.15.1'
|
||||
node-version-file: '.nvmrc'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
@@ -138,7 +142,7 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Upload vscode artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: vscode
|
||||
path: ./vscode.tar.gz
|
||||
@@ -173,7 +177,7 @@ jobs:
|
||||
- slug: LOONG64
|
||||
vscode_arch: loong64
|
||||
npm_arch: loong64
|
||||
image: vscodium/vscodium-linux-build-agent:beige-loong64
|
||||
image: vscodium/vscodium-linux-build-agent:crimson-loong64
|
||||
- slug: PPC64
|
||||
vscode_arch: ppc64le
|
||||
npm_arch: ppc64
|
||||
@@ -195,7 +199,7 @@ jobs:
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
@@ -207,7 +211,7 @@ jobs:
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Install GH
|
||||
run: ./install_gh.sh
|
||||
run: ./build/linux/install_gh.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
@@ -226,12 +230,13 @@ jobs:
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v5
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: vscode
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Build
|
||||
id: build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
npm_config_arch: ${{ matrix.npm_arch }}
|
||||
@@ -242,6 +247,9 @@ jobs:
|
||||
env:
|
||||
SHOULD_BUILD_REH: 'no'
|
||||
SHOULD_BUILD_REH_WEB: 'no'
|
||||
VSCODE_SYSROOT_REPOSITORY: ${{ steps.build.outputs.VSCODE_SYSROOT_REPOSITORY }}
|
||||
VSCODE_SYSROOT_VERSION: ${{ steps.build.outputs.VSCODE_SYSROOT_VERSION }}
|
||||
VSCODE_SYSROOT_PREFIX: ${{ steps.build.outputs.VSCODE_SYSROOT_PREFIX }}
|
||||
run: ./prepare_assets.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
@@ -261,7 +269,7 @@ jobs:
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: bin-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
@@ -310,7 +318,7 @@ jobs:
|
||||
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.DISABLED != 'yes'
|
||||
@@ -322,20 +330,20 @@ jobs:
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Setup GCC
|
||||
uses: egor-tensin/setup-gcc@v1
|
||||
uses: egor-tensin/setup-gcc@v2
|
||||
with:
|
||||
version: 10
|
||||
platform: x64
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '22.15.1'
|
||||
node-version-file: '.nvmrc'
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.DISABLED != 'yes'
|
||||
@@ -345,7 +353,7 @@ jobs:
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Install GH
|
||||
run: ./install_gh.sh
|
||||
run: ./build/linux/install_gh.sh
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
@@ -356,7 +364,7 @@ jobs:
|
||||
if: env.DISABLED != 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v5
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: vscode
|
||||
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
|
||||
@@ -376,7 +384,7 @@ jobs:
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no')
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: reh-linux-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
@@ -411,7 +419,7 @@ jobs:
|
||||
if: needs.check.outputs.SHOULD_BUILD == 'yes' || github.event.inputs.generate_assets == 'true'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
@@ -421,13 +429,18 @@ jobs:
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Setup GCC
|
||||
uses: egor-tensin/setup-gcc@v1
|
||||
uses: egor-tensin/setup-gcc@v2
|
||||
with:
|
||||
version: 10
|
||||
platform: x64
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Install GH
|
||||
run: ./install_gh.sh
|
||||
run: ./build/linux/install_gh.sh
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
@@ -441,7 +454,7 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v5
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: vscode
|
||||
if: env.DISABLED != 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no' || github.event.inputs.generate_assets == 'true')
|
||||
@@ -461,7 +474,7 @@ jobs:
|
||||
if: env.DISABLED != 'yes' && env.SHOULD_DEPLOY == 'yes' && (env.SHOULD_BUILD_REH != 'no' || env.SHOULD_BUILD_REH_WEB != 'no')
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: reh-alpine-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
@@ -501,6 +514,7 @@ jobs:
|
||||
env:
|
||||
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
|
||||
SNAP_NAME: codium
|
||||
SNAP_PUBLISHER: vscodium
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@@ -510,7 +524,7 @@ jobs:
|
||||
if: needs.check.outputs.SHOULD_DEPLOY == 'yes' && needs.check.outputs.SHOULD_BUILD_SNAP != 'no' && vars.DISABLE_STABLE_SNAP != 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
@@ -527,7 +541,7 @@ jobs:
|
||||
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
|
||||
run: ./stores/snapcraft/check_version.sh
|
||||
|
||||
- uses: docker/setup-qemu-action@v3
|
||||
- uses: docker/setup-qemu-action@v4
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- uses: diddlesnaps/snapcraft-multiarch-action@v1
|
||||
@@ -581,7 +595,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Trigger repository rebuild
|
||||
uses: peter-evans/repository-dispatch@v3
|
||||
uses: peter-evans/repository-dispatch@v4
|
||||
with:
|
||||
token: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
repository: VSCodium/repositories-linux
|
||||
|
||||
12
.github/workflows/stable-macos.yml
vendored
12
.github/workflows/stable-macos.yml
vendored
@@ -43,13 +43,13 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- runner: macos-13
|
||||
- runner: macos-15-intel
|
||||
vscode_arch: x64
|
||||
- runner: [self-hosted, macOS, ARM64]
|
||||
vscode_arch: arm64
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
@@ -59,12 +59,12 @@ jobs:
|
||||
run: . get_pr.sh
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '22.15.1'
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.VSCODE_ARCH == 'x64'
|
||||
@@ -114,7 +114,7 @@ jobs:
|
||||
if: env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: bin-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
|
||||
20
.github/workflows/stable-spearhead.yml
vendored
20
.github/workflows/stable-spearhead.yml
vendored
@@ -17,7 +17,7 @@ on:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-14
|
||||
runs-on: macos-15
|
||||
env:
|
||||
APP_NAME: VSCodium
|
||||
ASSETS_REPOSITORY: ${{ github.repository }}
|
||||
@@ -25,18 +25,19 @@ jobs:
|
||||
GH_REPO_PATH: ${{ github.repository }}
|
||||
ORG_NAME: ${{ github.repository_owner }}
|
||||
OS_NAME: osx
|
||||
SOURCEMAPS_REPOSITORY: ${{ github.repository_owner }}/sourcemaps
|
||||
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
|
||||
VSCODE_ARCH: arm64
|
||||
VSCODE_LATEST: ${{ github.event.inputs.dont_update == 'true' && 'no' || 'yes' }}
|
||||
VSCODE_QUALITY: stable
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '22.15.1'
|
||||
node-version-file: '.nvmrc'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: . get_repo.sh
|
||||
@@ -55,7 +56,7 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Import GPG key
|
||||
uses: crazy-max/ghaction-import-gpg@v6
|
||||
uses: crazy-max/ghaction-import-gpg@v7
|
||||
with:
|
||||
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||
passphrase: ${{ secrets.GPG_PASSPHRASE }}
|
||||
@@ -71,6 +72,13 @@ jobs:
|
||||
run: ./prepare_src.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Upload sourcemaps
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
run: ./upload_sourcemaps.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Release source
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
@@ -79,7 +87,7 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Dispatch builds
|
||||
uses: peter-evans/repository-dispatch@v3
|
||||
uses: peter-evans/repository-dispatch@v4
|
||||
with:
|
||||
event-type: stable
|
||||
if: env.SHOULD_BUILD == 'yes' || github.event.inputs.force_dispatch == 'true'
|
||||
|
||||
53
.github/workflows/stable-windows.yml
vendored
53
.github/workflows/stable-windows.yml
vendored
@@ -45,7 +45,7 @@ jobs:
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
@@ -71,7 +71,10 @@ jobs:
|
||||
compile:
|
||||
needs:
|
||||
- check
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: windows-2022
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
env:
|
||||
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
|
||||
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
|
||||
@@ -82,7 +85,7 @@ jobs:
|
||||
BUILD_SOURCEVERSION: ${{ env.BUILD_SOURCEVERSION }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
@@ -92,27 +95,27 @@ jobs:
|
||||
PULL_REQUEST_ID: ${{ github.event.inputs.checkout_pr }}
|
||||
run: ./get_pr.sh
|
||||
|
||||
- name: Setup GCC
|
||||
uses: egor-tensin/setup-gcc@v1
|
||||
with:
|
||||
version: 10
|
||||
platform: x64
|
||||
# - name: Setup GCC
|
||||
# uses: egor-tensin/setup-gcc@v1
|
||||
# with:
|
||||
# version: 10
|
||||
# platform: x64
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '22.15.1'
|
||||
node-version-file: '.nvmrc'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Install libkrb5-dev
|
||||
run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
# - name: Install libkrb5-dev
|
||||
# run: sudo apt-get update -y && sudo apt-get install -y libkrb5-dev
|
||||
# if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
@@ -134,7 +137,7 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Upload vscode artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: vscode
|
||||
path: ./vscode.tar.gz
|
||||
@@ -168,7 +171,7 @@ jobs:
|
||||
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
@@ -180,13 +183,13 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v4
|
||||
uses: actions/setup-node@v6
|
||||
with:
|
||||
node-version: '22.15.1'
|
||||
node-version-file: '.nvmrc'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Setup Python 3
|
||||
uses: actions/setup-python@v5
|
||||
uses: actions/setup-python@v6
|
||||
with:
|
||||
python-version: '3.11'
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
@@ -199,7 +202,7 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Download vscode artifact
|
||||
uses: actions/download-artifact@v5
|
||||
uses: actions/download-artifact@v8
|
||||
with:
|
||||
name: vscode
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
@@ -218,7 +221,7 @@ jobs:
|
||||
|
||||
- name: Upload unsigned artifacts
|
||||
id: upload-unsigned-artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: unsigned-${{ matrix.vscode_arch }}
|
||||
path: |
|
||||
@@ -228,7 +231,7 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes' && (env.SHOULD_DEPLOY == 'yes' || github.event.inputs.generate_assets == 'true')
|
||||
|
||||
- name: Signing
|
||||
uses: signpath/github-action-submit-signing-request@v1
|
||||
uses: signpath/github-action-submit-signing-request@v2
|
||||
with:
|
||||
api-token: ${{ secrets.SIGNPATH_API_TOKEN }}
|
||||
organization-id: ${{ secrets.SIGNPATH_ORGANIZATION_ID }}
|
||||
@@ -261,7 +264,7 @@ jobs:
|
||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
- name: Upload assets
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: bin-${{ matrix.vscode_arch }}
|
||||
path: assets/
|
||||
@@ -270,7 +273,7 @@ jobs:
|
||||
|
||||
winget:
|
||||
needs: build
|
||||
runs-on: windows-latest
|
||||
runs-on: windows-2022
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
@@ -279,7 +282,7 @@ jobs:
|
||||
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v6
|
||||
with:
|
||||
ref: ${{ env.GITHUB_BRANCH }}
|
||||
|
||||
|
||||
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v9
|
||||
- uses: actions/stale@v10
|
||||
with:
|
||||
days-before-stale: 180
|
||||
days-before-close: 30
|
||||
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -14,5 +14,8 @@ build/linux/appimage/VSCodium
|
||||
build/windows/msi/releasedir
|
||||
build/windows/msi/Files*.wxs
|
||||
build/windows/msi/Files*.wixobj
|
||||
sourcemaps/
|
||||
stores/snapcraft/insider/*.snap
|
||||
stores/snapcraft/stable/*.snap
|
||||
font-size/node_modules/
|
||||
font-size/generate-css.js
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
[
|
||||
{
|
||||
"id": "#2358",
|
||||
"title": "Wanted! Feedback for new website :)",
|
||||
"url": "https://github.com/VSCodium/vscodium/discussions/2358"
|
||||
"id": "#2668",
|
||||
"title": "[Windows] broken update on 1.107, need manual update",
|
||||
"url": "https://github.com/VSCodium/vscodium/issues/2668"
|
||||
}
|
||||
]
|
||||
|
||||
20
build.sh
20
build.sh
@@ -23,8 +23,12 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then
|
||||
npm run gulp minify-vscode
|
||||
|
||||
if [[ "${OS_NAME}" == "osx" ]]; then
|
||||
# remove win32 node modules
|
||||
rm -f .build/extensions/ms-vscode.js-debug/src/win32-app-container-tokens.*.node
|
||||
|
||||
# generate Group Policy definitions
|
||||
node build/lib/policies darwin
|
||||
npm run copy-policy-dto --prefix build
|
||||
node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc darwin
|
||||
|
||||
npm run gulp "vscode-darwin-${VSCODE_ARCH}-min-ci"
|
||||
|
||||
@@ -34,13 +38,14 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then
|
||||
|
||||
VSCODE_PLATFORM="darwin"
|
||||
elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||
# generate Group Policy definitions
|
||||
node build/lib/policies win32
|
||||
|
||||
# in CI, packaging will be done by a different job
|
||||
if [[ "${CI_BUILD}" == "no" ]]; then
|
||||
. ../build/windows/rtf/make.sh
|
||||
|
||||
# generate Group Policy definitions
|
||||
npm run copy-policy-dto --prefix build
|
||||
node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc win32
|
||||
|
||||
npm run gulp "vscode-win32-${VSCODE_ARCH}-min-ci"
|
||||
|
||||
if [[ "${VSCODE_ARCH}" != "x64" ]]; then
|
||||
@@ -53,8 +58,15 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then
|
||||
|
||||
VSCODE_PLATFORM="win32"
|
||||
else # linux
|
||||
# remove win32 node modules
|
||||
rm -f .build/extensions/ms-vscode.js-debug/src/win32-app-container-tokens.*.node
|
||||
|
||||
# in CI, packaging will be done by a different job
|
||||
if [[ "${CI_BUILD}" == "no" ]]; then
|
||||
# generate Group Policy definitions
|
||||
npm run copy-policy-dto --prefix build
|
||||
node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc linux
|
||||
|
||||
npm run gulp "vscode-linux-${VSCODE_ARCH}-min-ci"
|
||||
|
||||
find "../VSCode-linux-${VSCODE_ARCH}" -print0 | xargs -0 touch -c
|
||||
|
||||
54
build/alpine/check_tags.sh
Normal file
54
build/alpine/check_tags.sh
Normal file
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [[ "${CHECK_ONLY_REH}" == "yes" ]]; then
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-alpine-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine ${VSCODE_ARCH} because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
echo "Already have the Alpine REH ${VSCODE_ARCH} archive"
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-alpine-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine ${VSCODE_ARCH} because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
echo "Already have the Alpine REH-web ${VSCODE_ARCH} archive"
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
else
|
||||
|
||||
# alpine-arm64
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-alpine-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine arm64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-alpine-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine arm64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
fi
|
||||
|
||||
# alpine-x64
|
||||
if [[ "${VSCODE_ARCH}" == "x64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-alpine-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine x64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-alpine-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine x64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -34,14 +34,14 @@ fi
|
||||
|
||||
for i in {1..5}; do # try 5 times
|
||||
npm ci && break
|
||||
if [[ $i == 3 ]]; then
|
||||
if [[ $i == 5 ]]; then
|
||||
echo "Npm install failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "Npm install failed $i, trying again..."
|
||||
done
|
||||
|
||||
node build/azure-pipelines/distro/mixin-npm
|
||||
node build/azure-pipelines/distro/mixin-npm.ts
|
||||
|
||||
if [[ "${VSCODE_ARCH}" == "x64" ]]; then
|
||||
PA_NAME="linux-alpine"
|
||||
|
||||
@@ -22,8 +22,11 @@ if [[ "${VSCODE_ARCH}" == "x64" ]]; then
|
||||
./pkg2appimage.AppImage --appimage-extract && mv ./squashfs-root ./pkg2appimage.AppDir
|
||||
|
||||
# add update's url
|
||||
sed -i 's/generate_type2_appimage/generate_type2_appimage -u "gh-releases-zsync|VSCodium|vscodium|latest|*.AppImage.zsync"/' pkg2appimage.AppDir/AppRun
|
||||
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
sed -i 's/generate_type2_appimage/generate_type2_appimage -u "gh-releases-zsync|VSCodium|vscodium-insiders|latest|*.AppImage.zsync"/' pkg2appimage.AppDir/AppRun
|
||||
else
|
||||
sed -i 's/generate_type2_appimage/generate_type2_appimage -u "gh-releases-zsync|VSCodium|vscodium|latest|*.AppImage.zsync"/' pkg2appimage.AppDir/AppRun
|
||||
fi
|
||||
# remove check so build in docker can succeed
|
||||
sed -i 's/grep docker/# grep docker/' pkg2appimage.AppDir/usr/share/pkg2appimage/functions.sh
|
||||
|
||||
|
||||
345
build/linux/check_tags.sh
Normal file
345
build/linux/check_tags.sh
Normal file
@@ -0,0 +1,345 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [[ "${CHECK_ONLY_REH}" == "yes" ]]; then
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux ${VSCODE_ARCH} because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
echo "Already have the Linux REH ${VSCODE_ARCH} archive"
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux ${VSCODE_ARCH} because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
echo "Already have the Linux REH-web ${VSCODE_ARCH} archive"
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
# linux-arm64
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ -z $( contains "arm64.deb" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no DEB"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "aarch64.rpm" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no RPM"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "arm64.snap" ) || "${FORCE_LINUX_SNAP}" == "true" ]]; then
|
||||
echo "Building on Linux arm64 because we have no SNAP"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_SNAP="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux arm64 builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-armhf
|
||||
if [[ "${VSCODE_ARCH}" == "armhf" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ -z $( contains "armhf.deb" ) ]]; then
|
||||
echo "Building on Linux arm because we have no DEB"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "armv7hl.rpm" ) ]]; then
|
||||
echo "Building on Linux arm because we have no RPM"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux arm builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-ppc64le
|
||||
if [[ "${VSCODE_ARCH}" == "ppc64le" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ -z $( contains "ppc64el.deb" ) ]]; then
|
||||
echo "Building on Linux PowerPC64LE because we have no DEB"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "ppc64le.rpm" ) ]]; then
|
||||
echo "Building on Linux PowerPC64LE because we have no RPM"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux PowerPC64LE because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux PowerPC64LE because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux PowerPC64LE because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux PowerPC64LE because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux PowerPC64LE builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-riscv64
|
||||
if [[ "${VSCODE_ARCH}" == "riscv64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux RISC-V 64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux RISC-V 64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux RISC-V 64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux riscv64 builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-loong64
|
||||
if [[ "${VSCODE_ARCH}" == "loong64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux Loong64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux Loong64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux Loong64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux Loong64 builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-s390x
|
||||
if [[ "${VSCODE_ARCH}" == "s390x" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
SHOULD_BUILD_APPIMAGE="no"
|
||||
SHOULD_BUILD_DEB="no"
|
||||
SHOULD_BUILD_RPM="no"
|
||||
SHOULD_BUILD_TAR="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-s390x-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux s390x because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-s390x-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux s390x because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux s390x builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-x64
|
||||
if [[ "${VSCODE_ARCH}" == "x64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ -z $( contains "amd64.deb" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no DEB"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "x86_64.rpm" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no RPM"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ "${DISABLE_APPIMAGE}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
elif [[ -z $( contains "x86_64.AppImage" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no AppImage"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "amd64.snap" ) || "${FORCE_LINUX_SNAP}" == "true" ]]; then
|
||||
echo "Building on Linux x64 because we have no SNAP"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_SNAP="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux x64 builds"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -11,12 +11,14 @@ for i in {1..5}; do
|
||||
break
|
||||
fi
|
||||
|
||||
if [[ $i == 3 ]]; then
|
||||
if [[ $i == 5 ]]; then
|
||||
echo "GH install failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "GH install failed $i, trying again..."
|
||||
|
||||
sleep $(( 15 * (i + 1)))
|
||||
done
|
||||
|
||||
VERSION="${TAG#v}"
|
||||
13
build/linux/install_nodejs.sh
Executable file
13
build/linux/install_nodejs.sh
Executable file
@@ -0,0 +1,13 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
NODEJS_VERSION=$( cat .nvmrc )
|
||||
|
||||
curl -fsSL "${NODEJS_SITE}${NODEJS_URLROOT}/v${NODEJS_VERSION}/node-v${NODEJS_VERSION}-linux-${NODEJS_ARCH}${NODEJS_URLSUFFIX}.tar.xz" -o node.tar.xz
|
||||
|
||||
tar -xf node.tar.xz
|
||||
|
||||
sudo mv "node-v${NODEJS_VERSION}-linux-${NODEJS_ARCH}${NODEJS_URLSUFFIX}" /usr/local/node
|
||||
|
||||
echo "/usr/local/node/bin" >> $GITHUB_PATH
|
||||
@@ -2,5 +2,5 @@
|
||||
|
||||
set -ex
|
||||
|
||||
export ELECTRON_VERSION="37.2.5"
|
||||
export ELECTRON_VERSION="39.2.3"
|
||||
export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}"
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
0bc435a6989f120b1f748cd2f8d3fa7ed731c54a0ad797271e479539dca5c4fe *chromedriver-v37.2.5-linux-loong64.zip
|
||||
6a355cac6c8b02deb413d024ff3224f03717cc0790e3f5a872891ecf79ade20e *electron-v37.2.5-linux-loong64-debug.zip
|
||||
c091db1993b2bda5426a678c428c5ffc71af9228abc4891a493a1d318e250b0a *electron-v37.2.5-linux-loong64-symbols.zip
|
||||
d3f615c3ec265a2adbc0ed9088a65e96aa90b392ecd1ea17e8e4dc82728f4a5d *electron-v37.2.5-linux-loong64.zip
|
||||
17e05db81f5b0cff1327ac153bd20838b3332b78de1b2ffa235e27a30a15024d *ffmpeg-v37.2.5-linux-loong64.zip
|
||||
eaf1efb230cd9bfee7acd8b553c602ff396c2f667837e968b4c1d5542448b0b3 *hunspell-dictionaries.zip
|
||||
3eb8b3199f764c63f82960cb1e1945f70af348873133bf9fd70daeefa3ca1bfb *libcxx-headers.zip
|
||||
2a5ad06e845d59d89b74a97cd2befcfad02f951f8083f02645a9edbb4e7fdcb7 *libcxx-objects-v37.2.5-linux-loong64.zip
|
||||
24eec3c74d5a05eba53524866a009e257e52e65257caa8e6fda07b82321885eb *libcxxabi-headers.zip
|
||||
a4015814d6651cf5511b04307aeef51b739d05eed7ff8ab819739dabd0047309 *mksnapshot-v37.2.5-linux-loong64.zip
|
||||
d1ed2413e007d7adbcd7291158647cfd4908739b034d021c123ca3d11513c31a *node-v37.2.5-headers.tar.gz
|
||||
d26b2189e7466a08c73861d0225c9b28730fdfc30918f3ea70853b43a2581dc4 *chromedriver-v39.2.3-linux-loong64.zip
|
||||
8cc36f7468f5b2d98cde3f73c10c535555754c54be43e45c320a382c35b8e466 *electron-v39.2.3-linux-loong64.zip
|
||||
f6e7462d6fd795ae2b08344ee0fdca817eba148b62a62717b3f512c845d96a64 *ffmpeg-v39.2.3-linux-loong64.zip
|
||||
b122599dc84b81526ba4eecbca4794f3a2d25300242ad3829d1445cb6948f470 *hunspell-dictionaries.zip
|
||||
76ef17d2810df5e77c5071863e2a375df914cfb7a362ad0582ee0eedca2441b9 *libcxx-headers.zip
|
||||
9b61ba9f0780a57ee2749f7963759395784eadcaccc54af313de1a540240298e *libcxx-objects-v39.2.3-linux-loong64.zip
|
||||
9ae64aff9e391eae401142e55654b5b8cf54d0611b1ecb540f2f4e89a2b4f772 *libcxxabi-headers.zip
|
||||
7d7e6e08c84aa38b74037f5910534918bc792ffbe2ca6d667067f587f27f5118 *mksnapshot-v39.2.3-linux-loong64.zip
|
||||
db48f8a9d2271e8b3a1c3f26ea1ae9bd489deb1b464b6ae424a15d5df7529fdc *node-v39.2.3-headers.tar.gz
|
||||
|
||||
@@ -22,14 +22,16 @@ export VSCODE_SYSROOT_PREFIX='-glibc-2.28-gcc-10.5.0'
|
||||
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" || "${VSCODE_ARCH}" == "armhf" ]]; then
|
||||
export VSCODE_SKIP_SYSROOT=1
|
||||
export USE_GNUPP2A=1
|
||||
# export USE_GNUPP2A=1
|
||||
elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
|
||||
export VSCODE_SYSROOT_REPOSITORY='VSCodium/vscode-linux-build-agent'
|
||||
export VSCODE_SYSROOT_VERSION='20240129-253798'
|
||||
export VSCODE_SYSROOT_PREFIX="-glibc-2.28"
|
||||
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
|
||||
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
|
||||
export VSCODE_SKIP_SETUPENV=1
|
||||
export VSCODE_ELECTRON_REPOSITORY='lex-ibm/electron-ppc64le-build-scripts'
|
||||
export IGNORE_ELECTRON_VERSION="yes"
|
||||
elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
|
||||
export VSCODE_ELECTRON_REPOSITORY='riscv-forks/electron-riscv-releases'
|
||||
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
|
||||
@@ -56,7 +58,7 @@ if [[ -f "../build/linux/${VSCODE_ARCH}/electron.sh" ]]; then
|
||||
TARGET=$( npm config get target )
|
||||
|
||||
# Only fails at different major versions
|
||||
if [[ "${ELECTRON_VERSION%%.*}" != "${TARGET%%.*}" ]]; then
|
||||
if [[ "${ELECTRON_VERSION%%.*}" != "${TARGET%%.*}" ]] && [[ "${IGNORE_ELECTRON_VERSION}" != "yes" ]]; then
|
||||
# Fail the pipeline if electron target doesn't match what is used.
|
||||
echo "Electron ${VSCODE_ARCH} binary version doesn't match target electron version!"
|
||||
echo "Releases available at: https://github.com/${VSCODE_ELECTRON_REPOSITORY}/releases"
|
||||
@@ -101,7 +103,7 @@ fi
|
||||
|
||||
for i in {1..5}; do # try 5 times
|
||||
npm ci --prefix build && break
|
||||
if [[ $i == 3 ]]; then
|
||||
if [[ $i == 5 ]]; then
|
||||
echo "Npm install failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
@@ -118,14 +120,21 @@ fi
|
||||
|
||||
for i in {1..5}; do # try 5 times
|
||||
npm ci && break
|
||||
if [[ $i == 3 ]]; then
|
||||
if [[ $i == 5 ]]; then
|
||||
echo "Npm install failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "Npm install failed $i, trying again..."
|
||||
done
|
||||
|
||||
node build/azure-pipelines/distro/mixin-npm
|
||||
node build/azure-pipelines/distro/mixin-npm.ts
|
||||
|
||||
# delete native files built in the `compile` step
|
||||
find .build/extensions -type f -name '*.node' -print -delete
|
||||
|
||||
# generate Group Policy definitions
|
||||
npm run copy-policy-dto --prefix build
|
||||
node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc linux
|
||||
|
||||
npm run gulp "vscode-linux-${VSCODE_ARCH}-min-ci"
|
||||
|
||||
@@ -137,4 +146,10 @@ find "../VSCode-linux-${VSCODE_ARCH}" -print0 | xargs -0 touch -c
|
||||
|
||||
. ../build_cli.sh
|
||||
|
||||
if [[ -n "${GITHUB_OUTPUT}" ]]; then
|
||||
echo "VSCODE_SYSROOT_REPOSITORY=${VSCODE_SYSROOT_REPOSITORY:-}" >> "${GITHUB_OUTPUT}"
|
||||
echo "VSCODE_SYSROOT_VERSION=${VSCODE_SYSROOT_VERSION:-}" >> "${GITHUB_OUTPUT}"
|
||||
echo "VSCODE_SYSROOT_PREFIX=${VSCODE_SYSROOT_PREFIX:-}" >> "${GITHUB_OUTPUT}"
|
||||
fi
|
||||
|
||||
cd ..
|
||||
|
||||
@@ -18,20 +18,14 @@ cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
GLIBC_VERSION="2.28"
|
||||
GLIBCXX_VERSION="3.4.26"
|
||||
NODE_VERSION="22.15.1"
|
||||
NODE_VERSION="22.21.1"
|
||||
|
||||
export VSCODE_NODEJS_URLROOT='/download/release'
|
||||
export VSCODE_NODEJS_URLSUFFIX=''
|
||||
|
||||
if [[ "${VSCODE_ARCH}" == "x64" ]]; then
|
||||
GLIBC_VERSION="2.17"
|
||||
GLIBCXX_VERSION="3.4.22"
|
||||
|
||||
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-x64"
|
||||
|
||||
export VSCODE_NODEJS_SITE='https://unofficial-builds.nodejs.org'
|
||||
export VSCODE_NODEJS_URLSUFFIX='-glibc-217'
|
||||
|
||||
export VSCODE_SKIP_SETUPENV=1
|
||||
elif [[ "${VSCODE_ARCH}" == "arm64" ]]; then
|
||||
EXPECTED_GLIBC_VERSION="2.30"
|
||||
@@ -48,24 +42,28 @@ elif [[ "${VSCODE_ARCH}" == "armhf" ]]; then
|
||||
export VSCODE_SKIP_SYSROOT=1
|
||||
export USE_GNUPP2A=1
|
||||
elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
|
||||
GLIBC_VERSION="2.28"
|
||||
|
||||
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-ppc64le"
|
||||
VSCODE_SYSROOT_PREFIX="-glibc-${GLIBC_VERSION}"
|
||||
|
||||
export VSCODE_SYSROOT_REPOSITORY='VSCodium/vscode-linux-build-agent'
|
||||
export VSCODE_SYSROOT_VERSION='20240129-253798'
|
||||
elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
|
||||
NODE_VERSION="20.16.0"
|
||||
NODE_VERSION="22.21.1"
|
||||
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-riscv64"
|
||||
|
||||
export VSCODE_SKIP_SETUPENV=1
|
||||
export VSCODE_NODEJS_SITE='https://unofficial-builds.nodejs.org'
|
||||
elif [[ "${VSCODE_ARCH}" == "loong64" ]]; then
|
||||
NODE_VERSION="20.16.0"
|
||||
NODE_VERSION="22.21.1"
|
||||
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:beige-devtoolset-loong64"
|
||||
|
||||
export VSCODE_SKIP_SETUPENV=1
|
||||
export VSCODE_NODEJS_SITE='https://unofficial-builds.nodejs.org'
|
||||
elif [[ "${VSCODE_ARCH}" == "s390x" ]]; then
|
||||
GLIBC_VERSION="2.28"
|
||||
|
||||
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME="vscodium/vscodium-linux-build-agent:focal-devtoolset-s390x"
|
||||
VSCODE_SYSROOT_PREFIX="-glibc-${GLIBC_VERSION}"
|
||||
|
||||
@@ -130,12 +128,9 @@ EOF
|
||||
echo "${INCLUDES}" > "${HOME}/.gyp/include.gypi"
|
||||
fi
|
||||
|
||||
mv .npmrc .npmrc.bak
|
||||
cp ../npmrc .npmrc
|
||||
|
||||
for i in {1..5}; do # try 5 times
|
||||
npm ci --prefix build && break
|
||||
if [[ $i == 3 ]]; then
|
||||
if [[ $i == 5 ]]; then
|
||||
echo "Npm install failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
@@ -146,13 +141,28 @@ if [[ -z "${VSCODE_SKIP_SETUPENV}" ]]; then
|
||||
if [[ -n "${VSCODE_SKIP_SYSROOT}" ]]; then
|
||||
source ./build/azure-pipelines/linux/setup-env.sh --skip-sysroot
|
||||
else
|
||||
cat ./build/checksums/vscode-sysroot.txt
|
||||
|
||||
source ./build/azure-pipelines/linux/setup-env.sh
|
||||
fi
|
||||
|
||||
export VSCODE_SYSROOT_DIR="${VSCODE_REMOTE_SYSROOT_DIR}"
|
||||
else
|
||||
mkdir -p .build/x86_64-linux-gnu/x86_64-linux-gnu/bin
|
||||
|
||||
ln -s $( which objdump ) .build/x86_64-linux-gnu/x86_64-linux-gnu/bin/objdump
|
||||
|
||||
export VSCODE_SYSROOT_DIR=".build"
|
||||
fi
|
||||
|
||||
node build/npm/preinstall.ts
|
||||
|
||||
mv .npmrc .npmrc.bak
|
||||
cp ../npmrc .npmrc
|
||||
|
||||
for i in {1..5}; do # try 5 times
|
||||
npm ci && break
|
||||
if [[ $i == 3 ]]; then
|
||||
if [[ $i == 5 ]]; then
|
||||
echo "Npm install failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
@@ -162,9 +172,26 @@ for i in {1..5}; do # try 5 times
|
||||
rm -rf node_modules/@vscode node_modules/node-pty
|
||||
done
|
||||
|
||||
# if [[ "${VSCODE_ARCH}" == "x64" ]]; then
|
||||
# pushd "remote"
|
||||
|
||||
# for LIB in @parcel/watcher @vscode/spdlog kerberos node-pty
|
||||
# do
|
||||
# pushd "node_modules/${LIB}"
|
||||
|
||||
# CXXFLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" npx node-gyp rebuild
|
||||
|
||||
# popd
|
||||
# done
|
||||
|
||||
# popd
|
||||
|
||||
# VERIFY_CXX11=1
|
||||
# fi
|
||||
|
||||
mv .npmrc.bak .npmrc
|
||||
|
||||
node build/azure-pipelines/distro/mixin-npm
|
||||
node build/azure-pipelines/distro/mixin-npm.ts
|
||||
|
||||
export VSCODE_NODE_GLIBC="-glibc-${GLIBC_VERSION}"
|
||||
|
||||
@@ -175,6 +202,10 @@ if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
|
||||
|
||||
EXPECTED_GLIBC_VERSION="${EXPECTED_GLIBC_VERSION}" EXPECTED_GLIBCXX_VERSION="${GLIBCXX_VERSION}" SEARCH_PATH="../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ./build/azure-pipelines/linux/verify-glibc-requirements.sh
|
||||
|
||||
# if [[ -n "${VERIFY_CXX11}" ]]; then
|
||||
# SEARCH_PATH="../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ../build/linux/verify_cxx11_requirements.sh
|
||||
# fi
|
||||
|
||||
pushd "../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}"
|
||||
|
||||
if [[ -f "../build/linux/${VSCODE_ARCH}/ripgrep.sh" ]]; then
|
||||
@@ -194,6 +225,10 @@ if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then
|
||||
|
||||
EXPECTED_GLIBC_VERSION="${EXPECTED_GLIBC_VERSION}" EXPECTED_GLIBCXX_VERSION="${GLIBCXX_VERSION}" SEARCH_PATH="../vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ./build/azure-pipelines/linux/verify-glibc-requirements.sh
|
||||
|
||||
# if [[ -n "${VERIFY_CXX11}" ]]; then
|
||||
# SEARCH_PATH="../vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}" ../build/linux/verify_cxx11_requirements.sh
|
||||
# fi
|
||||
|
||||
pushd "../vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}"
|
||||
|
||||
if [[ -f "../build/linux/${VSCODE_ARCH}/ripgrep.sh" ]]; then
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
|
||||
set -ex
|
||||
|
||||
export ELECTRON_VERSION="37.2.3"
|
||||
export ELECTRON_VERSION="41.0.3"
|
||||
export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}"
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
877785ae2383a8a222fa37bda98c148b145931ff8714614aaf330d15d6f92710 *chromedriver-v37.2.3-linux-ppc64le.zip
|
||||
5ce746efac98a0d83699ef0e03497867ed34d936a268551f26eb2e2972c4d5f5 *electron-v37.2.3-linux-ppc64le-debug.zip
|
||||
f0ac8a9a9b6c1e330edd53fedaee29699c540691993ace4bb938cdd369895b89 *electron-v37.2.3-linux-ppc64le-symbols.zip
|
||||
6dc2ac4a8fd4565948ac330be371436d2534aaea633d17ac7743fce8aac42ef0 *electron-v37.2.3-linux-ppc64le.zip
|
||||
6358a83a03a801d6a85559179e4f12307dee693043ffb26fd40585f369f7db76 *electron.d.ts
|
||||
25a5ec559f683df305faa9eb082514a9e6dff9f983b7724ddbd82a34bef4890b *hunspell_dictionaries.zip
|
||||
9da591f8eabbdeba1a51f1b2ec7f2627eaa07d77d0263b6b16abc87a00e2f287 *libcxx-objects-v37.2.3-linux-ppc64le.zip
|
||||
519a41987f56c133b91affbb13f8fa5331eda9da8750325fae84444532177e02 *libcxx_headers.zip
|
||||
8607d01b3c828602b3f359458587d5ffa883695756edebf4547aadb0847fdaa9 *libcxxabi_headers.zip
|
||||
1d40ebef530616b35031333e569247dd265704b496f35ec256220ae081c340c1 *mksnapshot-v37.2.3-linux-ppc64le.zip
|
||||
120e0e5915c8f1a49904737e82bf50bc72563f8556fc3c5997c118908b377874 *chromedriver-v41.0.3-linux-ppc64le.zip
|
||||
4601e7692cac011610c245d8c58f14a73b415fccf520194f14674f81e4ce2c41 *electron-v41.0.3-linux-ppc64le-debug.zip
|
||||
498a74b78699ff9d4819310262d96e861dd7d899f38f8f625a311968b076b29b *electron-v41.0.3-linux-ppc64le-symbols.zip
|
||||
77e86aa200d9e19b5eb3a51f273ee410788c21977f2ea76b1239d79aa2e1adbf *electron-v41.0.3-linux-ppc64le.zip
|
||||
e246066ccc328729e6a9f2a0d829bc893391cf54ed199b809bb7e47993fed88f *electron.d.ts
|
||||
687a36388a7cf06427d7fa7e3db7fca4ab0118c5eab2baeac128c1989a600cff *ffmpeg-v41.0.3-linux-ppc64le.zip
|
||||
70ba677d4bea3e7164c82f6b5a36ac6b740317fb1dd149a0eaf1ff151da44cb2 *hunspell_dictionaries.zip
|
||||
3e85df4843497ce567ad36ddf826cd1af7dfe9f883daad4623736ddd012dbfd1 *libcxx-objects-v41.0.3-linux-ppc64le.zip
|
||||
5587472eeaf9bfb76d0f187ecc19d11d60bc05f5e7c8fa822f2370210c30b95d *libcxx_headers.zip
|
||||
f531ddd2782b4b19caf622c0355c93892965e22861279cc891675230c1310905 *libcxxabi_headers.zip
|
||||
6cb0e67dc5a23de0ebbe89253e1f24bf9d4ca41213a1b9f784f2afaa2cf61324 *mksnapshot-v41.0.3-linux-ppc64le.zip
|
||||
67
build/linux/prepare_assets.sh
Normal file
67
build/linux/prepare_assets.sh
Normal file
@@ -0,0 +1,67 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
if [[ -z "${VSCODE_SYSROOT_REPOSITORY}" ]]; then
|
||||
unset VSCODE_SYSROOT_REPOSITORY
|
||||
fi
|
||||
|
||||
if [[ -z "${VSCODE_SYSROOT_VERSION}" ]]; then
|
||||
unset VSCODE_SYSROOT_VERSION
|
||||
fi
|
||||
|
||||
if [[ -z "${VSCODE_SYSROOT_PREFIX}" ]]; then
|
||||
unset VSCODE_SYSROOT_PREFIX
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" && "${VSCODE_ARCH}" != "x64" ]]; then
|
||||
SHOULD_BUILD_APPIMAGE="no"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_DEB}" != "no" || "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
|
||||
npm run gulp "vscode-linux-${VSCODE_ARCH}-prepare-deb"
|
||||
npm run gulp "vscode-linux-${VSCODE_ARCH}-build-deb"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_RPM}" != "no" ]]; then
|
||||
npm run gulp "vscode-linux-${VSCODE_ARCH}-prepare-rpm"
|
||||
npm run gulp "vscode-linux-${VSCODE_ARCH}-build-rpm"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
|
||||
. ../build/linux/appimage/build.sh
|
||||
fi
|
||||
|
||||
cd ..
|
||||
|
||||
if [[ "${CI_BUILD}" == "no" ]]; then
|
||||
. ./stores/snapcraft/build.sh
|
||||
|
||||
if [[ "${SKIP_ASSETS}" == "no" ]]; then
|
||||
mv stores/snapcraft/build/*.snap assets/
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_TAR}" != "no" ]]; then
|
||||
echo "Building and moving TAR"
|
||||
cd "VSCode-linux-${VSCODE_ARCH}"
|
||||
tar czf "../assets/${APP_NAME}-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
|
||||
cd ..
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_DEB}" != "no" ]]; then
|
||||
echo "Moving DEB"
|
||||
mv vscode/.build/linux/deb/*/deb/*.deb assets/
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_RPM}" != "no" ]]; then
|
||||
echo "Moving RPM"
|
||||
mv vscode/.build/linux/rpm/*/*.rpm assets/
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
|
||||
echo "Moving AppImage"
|
||||
mv build/linux/appimage/out/*.AppImage* assets/
|
||||
|
||||
find assets -name '*.AppImage*' -exec bash -c 'mv $0 ${0/_-_/-}' {} \;
|
||||
fi
|
||||
@@ -2,5 +2,5 @@
|
||||
|
||||
set -ex
|
||||
|
||||
export ELECTRON_VERSION="37.2.3"
|
||||
export ELECTRON_VERSION="39.2.7"
|
||||
export VSCODE_ELECTRON_TAG="v${ELECTRON_VERSION}.riscv1"
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
bec3076d684af4ab7700f13861c3257dc17198970eb498ff2e388db71f61898e *chromedriver-v37.2.3-linux-riscv64.zip
|
||||
c670aba1b907ef9cbcdb2dccd742604f897eef4719f7ad46f34925197f7ae208 *electron-v37.2.3-linux-riscv64-debug.tar.zst
|
||||
3ee5a9d29c611a6c685caa291698c3b5f1041bd11b3726137d41931457d6a113 *electron-v37.2.3-linux-riscv64-symbols.tar.zst
|
||||
33f16380975b2087308f096e4329639f839c58aa1b9cccbee0a915bf3ed7b976 *electron-v37.2.3-linux-riscv64.zip
|
||||
0ef484d10dd15bb4b44e5862ff8070ec09d94ca0b7c6b062e88c64fa343e2408 *ffmpeg-v37.2.3-linux-riscv64.zip
|
||||
218a633300feb50ed57ab751374bac8693615ff192c2437067a4bceef84c9cf8 *hunspell-dictionaries.zip
|
||||
abe24654e394d057dc2bdea9533fcd1790becb822b53d543165c74470694e818 *libcxx-headers.zip
|
||||
1e6972b9125d1864f32d0f5d1084cf4ea56f7dd2227505271dde15439942c0e4 *libcxx-objects-v37.2.3-linux-riscv64.zip
|
||||
55fdbc0fc65e176e50c3492dd50a18c9d23e2bd0e45a00a34118d46ed583a8d0 *libcxxabi-headers.zip
|
||||
b017a16c8f0d8c8076ec71fba5a043951dd88e4fc7d8e8720906a0b9b4a141aa *mksnapshot-v37.2.3-linux-riscv64.zip
|
||||
0259b1abf0bc8aedb114bac75aadcbb1860fd13ae32a876702ca8e722581f8b2 *node-v37.2.3-headers.tar.gz
|
||||
6759ef2bd69a2e31a3f0e17c4e4c0bf239b54f08525572201ae7760851168487 *chromedriver-v39.2.7-linux-riscv64.zip
|
||||
89562e30982d8ac71fbc1e0f549a4a6e19abd5cb98ea904d5f3cfceb7c61e582 *electron-v39.2.7-linux-riscv64-debug.tar.zst
|
||||
71c6f265a2ef065f478ef910a06466a21009c02783dcb7053767549a6dbeb80d *electron-v39.2.7-linux-riscv64-symbols.tar.zst
|
||||
136804dbd04f1c6b9a6047c4e7bb648876214ff453b62fb3bdc81505b6f5aab2 *electron-v39.2.7-linux-riscv64.zip
|
||||
1059d6cb97b87464b3bd415bb5f96fceaf91d6e3af1c9733724ab9f2e14e2a08 *ffmpeg-v39.2.7-linux-riscv64.zip
|
||||
224a84d4aaceb5ed8be3c4f65f8404d492dc86ded8ab336c2562dfdd21752068 *hunspell-dictionaries.zip
|
||||
b6cb4f8902aad5de811efd106ddbdbca79e43cb7c8fa67f7eeddaedf2efd82d5 *libcxx-headers.zip
|
||||
0664e200ec1eab1ce1957bc6e17ad89f6c0d4d904a9492d64fcf4175cd81e537 *libcxx-objects-v39.2.7-linux-riscv64.zip
|
||||
96f9b66be7ff11e79ec2e781a0025938eb5ef97cbab429c05e9b45d24d421abf *libcxxabi-headers.zip
|
||||
be0774857454f81b9407f6b941200f8843a0b3ecb86e2bb072209ef9f9bfe74a *mksnapshot-v39.2.7-linux-riscv64.zip
|
||||
a8fca541e8f9a18de73c78f6862cbf439723c80c5eb60fe50405dfb751d2ee13 *node-v39.2.7-headers.tar.gz
|
||||
|
||||
29
build/linux/verify_abi_requirements.sh
Executable file
29
build/linux/verify_abi_requirements.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
FILES=$(
|
||||
find "${SEARCH_PATH}" -type f -executable -name "node"
|
||||
find "${SEARCH_PATH}" -name "*.node" -not -path "*prebuilds*" -not -path "*extensions/node_modules/@parcel/watcher*"
|
||||
)
|
||||
|
||||
echo "Verifying requirements for files: ${FILES}"
|
||||
|
||||
for FILE in ${FILES}; do
|
||||
CXXABI_VERSION="0.0.0"
|
||||
|
||||
while IFS= read -r LINE; do
|
||||
VERSION=${LINE#*_}
|
||||
|
||||
if [[ $( printf "%s\n%s" "${VERSION}" "${CXXABI_VERSION}" | sort -V | tail -n1 ) == "${VERSION}" ]]; then
|
||||
CXXABI_VERSION="${VERSION}"
|
||||
fi
|
||||
done < <( strings "${FILE}" | grep -i ^CXXABI )
|
||||
|
||||
if [[ $( printf "%s\n%s" "${EXPECTED_CXXABI_VERSION}" "${CXXABI_VERSION}" | sort -V | tail -n1 ) == "${EXPECTED_CXXABI_VERSION}" ]]; then
|
||||
echo "File ${FILE} has dependency on ABI ${CXXABI_VERSION} <= ${EXPECTED_CXXABI_VERSION}"
|
||||
else
|
||||
echo "Error: File ${FILE} has dependency on ABI ${CXXABI_VERSION} > ${EXPECTED_CXXABI_VERSION}"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
14
build/linux/verify_cxx11_requirements.sh
Executable file
14
build/linux/verify_cxx11_requirements.sh
Executable file
@@ -0,0 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
FILES=$( find "${SEARCH_PATH}" -name "*.node" -not -path "*prebuilds*" -not -path "*extensions/node_modules/@parcel/watcher*" )
|
||||
|
||||
echo "Verifying requirements for files: ${FILES}"
|
||||
|
||||
for FILE in ${FILES}; do
|
||||
if [[ -n "$( strings "${FILE}" | grep cxx11 | tail -n1 )" ]]; then
|
||||
echo "Error: File ${FILE} has dependency on CXX11"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
40
build/osx/check_tags.sh
Normal file
40
build/osx/check_tags.sh
Normal file
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ) ]]; then
|
||||
echo "Building on MacOS because we have no ZIP"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_ZIP="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains ".${VSCODE_ARCH}.${RELEASE_VERSION}.dmg" ) ]]; then
|
||||
echo "Building on MacOS because we have no DMG"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DMG="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on MacOS because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on MacOS because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on MacOS because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the MacOS builds"
|
||||
fi
|
||||
84
build/osx/prepare_assets.sh
Normal file
84
build/osx/prepare_assets.sh
Normal file
@@ -0,0 +1,84 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [[ -n "${CERTIFICATE_OSX_P12_DATA}" ]]; then
|
||||
if [[ "${CI_BUILD}" == "no" ]]; then
|
||||
RUNNER_TEMP="${TMPDIR}"
|
||||
fi
|
||||
|
||||
CERTIFICATE_P12="${APP_NAME}.p12"
|
||||
KEYCHAIN="${RUNNER_TEMP}/buildagent.keychain"
|
||||
AGENT_TEMPDIRECTORY="${RUNNER_TEMP}"
|
||||
# shellcheck disable=SC2006
|
||||
KEYCHAINS=`security list-keychains | xargs`
|
||||
|
||||
rm -f "${KEYCHAIN}"
|
||||
|
||||
echo "${CERTIFICATE_OSX_P12_DATA}" | base64 --decode > "${CERTIFICATE_P12}"
|
||||
|
||||
echo "+ create temporary keychain"
|
||||
security create-keychain -p pwd "${KEYCHAIN}"
|
||||
security set-keychain-settings -lut 21600 "${KEYCHAIN}"
|
||||
security unlock-keychain -p pwd "${KEYCHAIN}"
|
||||
# shellcheck disable=SC2086
|
||||
security list-keychains -s $KEYCHAINS "${KEYCHAIN}"
|
||||
# security show-keychain-info "${KEYCHAIN}"
|
||||
|
||||
echo "+ import certificate to keychain"
|
||||
security import "${CERTIFICATE_P12}" -k "${KEYCHAIN}" -P "${CERTIFICATE_OSX_P12_PASSWORD}" -T /usr/bin/codesign
|
||||
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k pwd "${KEYCHAIN}" > /dev/null
|
||||
# security find-identity "${KEYCHAIN}"
|
||||
|
||||
CODESIGN_IDENTITY="$( security find-identity -v -p codesigning "${KEYCHAIN}" | grep -oEi "([0-9A-F]{40})" | head -n 1 )"
|
||||
|
||||
echo "+ signing"
|
||||
export CODESIGN_IDENTITY AGENT_TEMPDIRECTORY
|
||||
|
||||
DEBUG="electron-osx-sign*" node vscode/build/darwin/sign.ts "$( pwd )"
|
||||
# codesign --display --entitlements :- ""
|
||||
|
||||
echo "+ notarize"
|
||||
|
||||
cd "VSCode-darwin-${VSCODE_ARCH}"
|
||||
ZIP_FILE="./${APP_NAME}-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.zip"
|
||||
|
||||
zip -r -X -y "${ZIP_FILE}" ./*.app
|
||||
|
||||
xcrun notarytool store-credentials "${APP_NAME}" --apple-id "${CERTIFICATE_OSX_ID}" --team-id "${CERTIFICATE_OSX_TEAM_ID}" --password "${CERTIFICATE_OSX_APP_PASSWORD}" --keychain "${KEYCHAIN}"
|
||||
# xcrun notarytool history --keychain-profile "${APP_NAME}" --keychain "${KEYCHAIN}"
|
||||
xcrun notarytool submit "${ZIP_FILE}" --keychain-profile "${APP_NAME}" --wait --keychain "${KEYCHAIN}"
|
||||
|
||||
echo "+ attach staple"
|
||||
xcrun stapler staple ./*.app
|
||||
# spctl --assess -vv --type install ./*.app
|
||||
|
||||
rm "${ZIP_FILE}"
|
||||
|
||||
cd ..
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
|
||||
echo "Building and moving ZIP"
|
||||
cd "VSCode-darwin-${VSCODE_ARCH}"
|
||||
zip -r -X -y "../assets/${APP_NAME}-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ./*.app
|
||||
cd ..
|
||||
fi
|
||||
|
||||
if [[ -n "${CERTIFICATE_OSX_P12_DATA}" && "${SHOULD_BUILD_DMG}" != "no" ]]; then
|
||||
echo "Building and moving DMG"
|
||||
pushd "VSCode-darwin-${VSCODE_ARCH}"
|
||||
npx create-dmg ./*.app .
|
||||
mv ./*.dmg "../assets/${APP_NAME}.${VSCODE_ARCH}.${RELEASE_VERSION}.dmg"
|
||||
popd
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_SRC}" == "yes" ]]; then
|
||||
git archive --format tar.gz --output="./assets/${APP_NAME}-${RELEASE_VERSION}-src.tar.gz" HEAD
|
||||
git archive --format zip --output="./assets/${APP_NAME}-${RELEASE_VERSION}-src.zip" HEAD
|
||||
fi
|
||||
|
||||
if [[ -n "${CERTIFICATE_OSX_P12_DATA}" ]]; then
|
||||
echo "+ clean"
|
||||
security delete-keychain "${KEYCHAIN}"
|
||||
# shellcheck disable=SC2086
|
||||
security list-keychains -s $KEYCHAINS
|
||||
fi
|
||||
105
build/windows/check_tags.sh
Normal file
105
build/windows/check_tags.sh
Normal file
@@ -0,0 +1,105 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# windows-arm64
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
|
||||
if [[ -z $( contains "${APP_NAME}Setup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
|
||||
echo "Building on Windows arm64 because we have no system setup"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_EXE_SYS="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "UserSetup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
|
||||
echo "Building on Windows arm64 because we have no user setup"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_EXE_USR="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ) ]]; then
|
||||
echo "Building on Windows arm64 because we have no zip"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_ZIP="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_REH="no"
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Windows arm64 because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Windows arm64 builds"
|
||||
fi
|
||||
|
||||
# windows-x64
|
||||
else
|
||||
if [[ -z $( contains "${APP_NAME}Setup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no system setup"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_EXE_SYS="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "UserSetup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no user setup"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_EXE_USR="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no zip"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_ZIP="no"
|
||||
fi
|
||||
|
||||
if [[ "${DISABLE_MSI}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_MSI="no"
|
||||
elif [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-${RELEASE_VERSION}.msi" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no msi"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_MSI="no"
|
||||
fi
|
||||
|
||||
if [[ "${DISABLE_MSI}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_MSI_NOUP="no"
|
||||
elif [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-updates-disabled-${RELEASE_VERSION}.msi" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no updates-disabled msi"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_MSI_NOUP="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Windows x64 builds"
|
||||
fi
|
||||
fi
|
||||
@@ -13,17 +13,24 @@ cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
for i in {1..5}; do # try 5 times
|
||||
npm ci && break
|
||||
if [[ $i == 3 ]]; then
|
||||
if [[ $i == 5 ]]; then
|
||||
echo "Npm install failed too many times" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "Npm install failed $i, trying again..."
|
||||
done
|
||||
|
||||
node build/azure-pipelines/distro/mixin-npm
|
||||
node build/azure-pipelines/distro/mixin-npm.ts
|
||||
|
||||
# delete native files built in the `compile` step
|
||||
find .build/extensions -type f -name '*.node' -print -delete
|
||||
|
||||
. ../build/windows/rtf/make.sh
|
||||
|
||||
# generate Group Policy definitions
|
||||
npm run copy-policy-dto --prefix build
|
||||
node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc win32
|
||||
|
||||
npm run gulp "vscode-win32-${VSCODE_ARCH}-min-ci"
|
||||
|
||||
. ../build_cli.sh
|
||||
|
||||
53
build/windows/prepare_assets.sh
Normal file
53
build/windows/prepare_assets.sh
Normal file
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
npm run gulp "vscode-win32-${VSCODE_ARCH}-inno-updater"
|
||||
|
||||
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
|
||||
7z.exe a -tzip "../assets/${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" -x!CodeSignSummary*.md -x!tools "../VSCode-win32-${VSCODE_ARCH}/*" -r
|
||||
fi
|
||||
|
||||
# . ../build/windows/appx/build.sh
|
||||
|
||||
if [[ "${SHOULD_BUILD_EXE_SYS}" != "no" ]]; then
|
||||
npm run gulp "vscode-win32-${VSCODE_ARCH}-system-setup"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_EXE_USR}" != "no" ]]; then
|
||||
npm run gulp "vscode-win32-${VSCODE_ARCH}-user-setup"
|
||||
fi
|
||||
|
||||
if [[ "${VSCODE_ARCH}" == "ia32" || "${VSCODE_ARCH}" == "x64" ]]; then
|
||||
if [[ "${SHOULD_BUILD_MSI}" != "no" ]]; then
|
||||
. ../build/windows/msi/build.sh
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_MSI_NOUP}" != "no" ]]; then
|
||||
. ../build/windows/msi/build-updates-disabled.sh
|
||||
fi
|
||||
fi
|
||||
|
||||
cd ..
|
||||
|
||||
if [[ "${SHOULD_BUILD_EXE_SYS}" != "no" ]]; then
|
||||
echo "Moving System EXE"
|
||||
mv "vscode\\.build\\win32-${VSCODE_ARCH}\\system-setup\\VSCodeSetup.exe" "assets\\${APP_NAME}Setup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_EXE_USR}" != "no" ]]; then
|
||||
echo "Moving User EXE"
|
||||
mv "vscode\\.build\\win32-${VSCODE_ARCH}\\user-setup\\VSCodeSetup.exe" "assets\\${APP_NAME}UserSetup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe"
|
||||
fi
|
||||
|
||||
if [[ "${VSCODE_ARCH}" == "ia32" || "${VSCODE_ARCH}" == "x64" ]]; then
|
||||
if [[ "${SHOULD_BUILD_MSI}" != "no" ]]; then
|
||||
echo "Moving MSI"
|
||||
mv "build\\windows\\msi\\releasedir\\${APP_NAME}-${VSCODE_ARCH}-${RELEASE_VERSION}.msi" assets/
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD_MSI_NOUP}" != "no" ]]; then
|
||||
echo "Moving MSI with disabled updates"
|
||||
mv "build\\windows\\msi\\releasedir\\${APP_NAME}-${VSCODE_ARCH}-updates-disabled-${RELEASE_VERSION}.msi" assets/
|
||||
fi
|
||||
fi
|
||||
19
build_cli.sh
19
build_cli.sh
@@ -32,6 +32,8 @@ if [[ "${OS_NAME}" == "osx" ]]; then
|
||||
export OPENSSL_LIB_DIR="$( pwd )/openssl/out/${VSCODE_ARCH}-osx/lib"
|
||||
export OPENSSL_INCLUDE_DIR="$( pwd )/openssl/out/${VSCODE_ARCH}-osx/include"
|
||||
|
||||
rustup target add "${VSCODE_CLI_TARGET}"
|
||||
|
||||
cargo build --release --target "${VSCODE_CLI_TARGET}" --bin=code
|
||||
|
||||
cp "target/${VSCODE_CLI_TARGET}/release/code" "../../VSCode-darwin-${VSCODE_ARCH}/${NAME_SHORT}.app/Contents/Resources/app/bin/${TUNNEL_APPLICATION_NAME}"
|
||||
@@ -60,7 +62,7 @@ else
|
||||
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
|
||||
VSCODE_CLI_TARGET="aarch64-unknown-linux-gnu"
|
||||
|
||||
|
||||
if [[ "${CI_BUILD}" != "no" ]]; then
|
||||
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc
|
||||
export CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc
|
||||
@@ -79,6 +81,21 @@ else
|
||||
export CXX_armv7_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++
|
||||
export PKG_CONFIG_ALLOW_CROSS=1
|
||||
fi
|
||||
elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
|
||||
VSCODE_CLI_TARGET="powerpc64le-unknown-linux-gnu"
|
||||
|
||||
# Use system libs instead of @vscode/openssl-prebuilt
|
||||
mkdir -p openssl/out/ppc64le-linux/
|
||||
ln -sf /usr/lib/powerpc64le-linux-gnu openssl/out/ppc64le-linux/lib
|
||||
ln -sf /usr/include openssl/out/ppc64le-linux/include
|
||||
|
||||
if [[ "${CI_BUILD}" != "no" ]] && [[ "$(uname -m)" != "ppc64le" ]]; then
|
||||
export CARGO_TARGET_POWERPC64LE_UNKNOWN_LINUX_GNU_LINKER=powerpc64le-linux-gnu-gcc-10
|
||||
export CC_powerpc64le_unknown_linux_gnu=powerpc64le-linux-gnu-gcc-10
|
||||
export CXX_powerpc64le_unknown_linux_gnu=powerpc64le-linux-gnu-g++-10
|
||||
export PKG_CONFIG_ALLOW_CROSS=1
|
||||
fi
|
||||
|
||||
elif [[ "${VSCODE_ARCH}" == "x64" ]]; then
|
||||
VSCODE_CLI_TARGET="x86_64-unknown-linux-gnu"
|
||||
fi
|
||||
|
||||
539
check_tags.sh
539
check_tags.sh
@@ -1,6 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC2129
|
||||
|
||||
# Env Paramaters
|
||||
# CHECK_ALL: yes | no
|
||||
# CHECK_REH: yes | no
|
||||
# CHECK_ONLY_REH: yes | no
|
||||
# FORCE_LINUX_SNAP: true
|
||||
|
||||
set -e
|
||||
|
||||
if [[ -z "${GH_TOKEN}" ]] && [[ -z "${GITHUB_TOKEN}" ]] && [[ -z "${GH_ENTERPRISE_TOKEN}" ]] && [[ -z "${GITHUB_ENTERPRISE_TOKEN}" ]]; then
|
||||
@@ -77,546 +83,23 @@ elif [[ "${ASSETS}" != "null" ]]; then
|
||||
fi
|
||||
# macos
|
||||
elif [[ "${OS_NAME}" == "osx" ]]; then
|
||||
if [[ -z $( contains "${APP_NAME}-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ) ]]; then
|
||||
echo "Building on MacOS because we have no ZIP"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_ZIP="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains ".${VSCODE_ARCH}.${RELEASE_VERSION}.dmg" ) ]]; then
|
||||
echo "Building on MacOS because we have no DMG"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DMG="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on MacOS because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on MacOS because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-darwin-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on MacOS because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the MacOS builds"
|
||||
fi
|
||||
. ./build/osx/check_tags.sh
|
||||
elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||
|
||||
# windows-arm64
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
|
||||
if [[ -z $( contains "${APP_NAME}Setup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
|
||||
echo "Building on Windows arm64 because we have no system setup"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_EXE_SYS="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "UserSetup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
|
||||
echo "Building on Windows arm64 because we have no user setup"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_EXE_USR="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ) ]]; then
|
||||
echo "Building on Windows arm64 because we have no zip"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_ZIP="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_REH="no"
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Windows arm64 because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Windows arm64 builds"
|
||||
fi
|
||||
|
||||
# windows-x64
|
||||
else
|
||||
if [[ -z $( contains "${APP_NAME}Setup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no system setup"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_EXE_SYS="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "UserSetup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no user setup"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_EXE_USR="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no zip"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_ZIP="no"
|
||||
fi
|
||||
|
||||
if [[ "${DISABLE_MSI}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_MSI="no"
|
||||
elif [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-${RELEASE_VERSION}.msi" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no msi"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_MSI="no"
|
||||
fi
|
||||
|
||||
if [[ "${DISABLE_MSI}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_MSI_NOUP="no"
|
||||
elif [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-updates-disabled-${RELEASE_VERSION}.msi" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no updates-disabled msi"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_MSI_NOUP="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Windows x64 because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Windows x64 builds"
|
||||
fi
|
||||
fi
|
||||
. ./build/windows/check_tags.sh
|
||||
else
|
||||
if [[ "${OS_NAME}" == "linux" ]]; then
|
||||
if [[ "${CHECK_ONLY_REH}" == "yes" ]]; then
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux ${VSCODE_ARCH} because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
echo "Already have the Linux REH ${VSCODE_ARCH} archive"
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux ${VSCODE_ARCH} because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
echo "Already have the Linux REH-web ${VSCODE_ARCH} archive"
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
# linux-arm64
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ -z $( contains "arm64.deb" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no DEB"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "aarch64.rpm" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no RPM"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "arm64.snap" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no SNAP"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_SNAP="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm64 because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux arm64 builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-armhf
|
||||
if [[ "${VSCODE_ARCH}" == "armhf" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ -z $( contains "armhf.deb" ) ]]; then
|
||||
echo "Building on Linux arm because we have no DEB"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "armv7hl.rpm" ) ]]; then
|
||||
echo "Building on Linux arm because we have no RPM"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-armhf-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux arm because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux arm builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-ppc64le
|
||||
if [[ "${VSCODE_ARCH}" == "ppc64le" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux PowerPC64LE because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux PowerPC64LE because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux PowerPC64LE because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux PowerPC64LE builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-riscv64
|
||||
if [[ "${VSCODE_ARCH}" == "riscv64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux RISC-V 64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux RISC-V 64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-riscv64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux RISC-V 64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux riscv64 builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-loong64
|
||||
if [[ "${VSCODE_ARCH}" == "loong64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux Loong64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux Loong64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-loong64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux Loong64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux Loong64 builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-s390x
|
||||
if [[ "${VSCODE_ARCH}" == "s390x" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
SHOULD_BUILD_APPIMAGE="no"
|
||||
SHOULD_BUILD_DEB="no"
|
||||
SHOULD_BUILD_RPM="no"
|
||||
SHOULD_BUILD_TAR="no"
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-s390x-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux s390x because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-linux-s390x-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux s390x because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux s390x builds"
|
||||
fi
|
||||
fi
|
||||
|
||||
# linux-x64
|
||||
if [[ "${VSCODE_ARCH}" == "x64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ -z $( contains "amd64.deb" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no DEB"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_DEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "x86_64.rpm" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no RPM"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_RPM="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME}-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no TAR"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_TAR="no"
|
||||
fi
|
||||
|
||||
if [[ "${DISABLE_APPIMAGE}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
elif [[ -z $( contains "x86_64.AppImage" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no AppImage"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_APPIMAGE="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "amd64.snap" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no SNAP"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_SNAP="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-cli-linux-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Linux x64 because we have no CLI archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_CLI="no"
|
||||
fi
|
||||
|
||||
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||
echo "Already have all the Linux x64 builds"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
. ./build/linux/check_tags.sh
|
||||
fi
|
||||
|
||||
if [[ "${OS_NAME}" == "alpine" ]] || [[ "${OS_NAME}" == "linux" && "${CHECK_ALL}" == "yes" ]]; then
|
||||
|
||||
if [[ "${CHECK_ONLY_REH}" == "yes" ]]; then
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-alpine-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine ${VSCODE_ARCH} because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
echo "Already have the Alpine REH ${VSCODE_ARCH} archive"
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ -z $( contains "${APP_NAME_LC}-reh-web-alpine-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine ${VSCODE_ARCH} because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
echo "Already have the Alpine REH-web ${VSCODE_ARCH} archive"
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
else
|
||||
|
||||
# alpine-arm64
|
||||
if [[ "${VSCODE_ARCH}" == "arm64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-alpine-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine arm64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-alpine-arm64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine arm64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
fi
|
||||
|
||||
# alpine-x64
|
||||
if [[ "${VSCODE_ARCH}" == "x64" || "${CHECK_ALL}" == "yes" ]]; then
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-alpine-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine x64 because we have no REH archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH="no"
|
||||
fi
|
||||
|
||||
if [[ "${CHECK_REH}" != "no" && -z $( contains "${APP_NAME_LC}-reh-web-alpine-x64-${RELEASE_VERSION}.tar.gz" ) ]]; then
|
||||
echo "Building on Alpine x64 because we have no REH-web archive"
|
||||
export SHOULD_BUILD="yes"
|
||||
else
|
||||
export SHOULD_BUILD_REH_WEB="no"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
. ./build/alpine/check_tags.sh
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if [[ "${IS_SPEARHEAD}" == "yes" ]]; then
|
||||
export SHOULD_BUILD_SRC="yes"
|
||||
elif [[ "${OS_NAME}" == "linux" ]]; then
|
||||
if [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
|
||||
SHOULD_BUILD_DEB="no"
|
||||
SHOULD_BUILD_RPM="no"
|
||||
SHOULD_BUILD_TAR="no"
|
||||
SHOULD_BUILD_CLI="no"
|
||||
elif [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
|
||||
if [[ "${VSCODE_ARCH}" == "riscv64" ]]; then
|
||||
SHOULD_BUILD_DEB="no"
|
||||
SHOULD_BUILD_RPM="no"
|
||||
SHOULD_BUILD_CLI="no"
|
||||
|
||||
@@ -112,6 +112,10 @@ if [[ "${SKIP_BUILD}" == "no" ]]; then
|
||||
git add .
|
||||
git reset -q --hard HEAD
|
||||
|
||||
while [[ -n "$( git log -1 | grep "VSCODIUM HELPER" )" ]]; do
|
||||
git reset -q --hard HEAD~
|
||||
done
|
||||
|
||||
rm -rf .build out*
|
||||
|
||||
cd ..
|
||||
|
||||
64
dev/merge-patches.sh
Executable file
64
dev/merge-patches.sh
Executable file
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
normalize_file() {
|
||||
if [[ "${1}" == *patch ]]; then
|
||||
FILE="${1}"
|
||||
else
|
||||
FILE="${1}.patch"
|
||||
fi
|
||||
|
||||
if [[ "${FILE}" == patches/* ]]; then
|
||||
FILE="../${FILE}"
|
||||
else
|
||||
FILE="../patches/${FILE}"
|
||||
fi
|
||||
}
|
||||
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
git add .
|
||||
git reset -q --hard HEAD
|
||||
|
||||
while [[ -n "$( git log -1 | grep "VSCODIUM HELPER" )" ]]; do
|
||||
git reset -q --hard HEAD~
|
||||
done
|
||||
|
||||
git apply --reject "../patches/helper/settings.patch"
|
||||
git add .
|
||||
git commit --no-verify -q -m "VSCODIUM HELPER"
|
||||
|
||||
while [ $# -gt 1 ]; do
|
||||
normalize_file "${1}"
|
||||
|
||||
echo "FILE: ${FILE}"
|
||||
|
||||
if [[ -f "${FILE}" ]]; then
|
||||
if [[ -f "${FILE}.bak" ]]; then
|
||||
mv -f $FILE{.bak,}
|
||||
fi
|
||||
|
||||
git apply --reject "${FILE}" || true
|
||||
fi
|
||||
|
||||
while [[ -n "$( find . -name '*.rej' -print )" ]]; do
|
||||
echo
|
||||
read -rp "Press any key when the conflict have been resolved..." -n1 -s
|
||||
done
|
||||
|
||||
shift
|
||||
done
|
||||
|
||||
normalize_file "${1}"
|
||||
|
||||
git add .
|
||||
git diff --staged -U1 > "${FILE}"
|
||||
|
||||
if [[ "${FILE}" != "../patches/helper/settings.patch" ]]; then
|
||||
git reset -q --hard HEAD
|
||||
else
|
||||
git reset -q --hard HEAD~
|
||||
fi
|
||||
|
||||
echo "The patch has been generated."
|
||||
58
dev/patch.sh
58
dev/patch.sh
@@ -2,7 +2,19 @@
|
||||
|
||||
set -e
|
||||
|
||||
echo "$#"
|
||||
normalize_file() {
|
||||
if [[ "${1}" == *patch ]]; then
|
||||
FILE="${1}"
|
||||
else
|
||||
FILE="${1}.patch"
|
||||
fi
|
||||
|
||||
if [[ "${FILE}" == patches/* ]]; then
|
||||
FILE="../${FILE}"
|
||||
else
|
||||
FILE="../patches/${FILE}"
|
||||
fi
|
||||
}
|
||||
|
||||
cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
|
||||
@@ -13,30 +25,28 @@ while [[ -n "$( git log -1 | grep "VSCODIUM HELPER" )" ]]; do
|
||||
git reset -q --hard HEAD~
|
||||
done
|
||||
|
||||
git apply --reject "../patches/helper/settings.patch"
|
||||
normalize_file "${1}"
|
||||
|
||||
while [ $# -gt 1 ]; do
|
||||
echo "Parameter: $1"
|
||||
if [[ "${1}" == *patch ]]; then
|
||||
FILE="../patches/${1}"
|
||||
else
|
||||
FILE="../patches/${1}.patch"
|
||||
fi
|
||||
if [[ "${FILE}" != "../patches/helper/settings.patch" ]]; then
|
||||
git apply --reject "../patches/helper/settings.patch"
|
||||
|
||||
git apply --reject "${FILE}"
|
||||
while [ $# -gt 1 ]; do
|
||||
echo "Parameter: $1"
|
||||
normalize_file "${1}"
|
||||
|
||||
shift
|
||||
done
|
||||
git apply --reject "${FILE}"
|
||||
|
||||
git add .
|
||||
git commit --no-verify -q -m "VSCODIUM HELPER"
|
||||
shift
|
||||
done
|
||||
|
||||
if [[ "${1}" == *patch ]]; then
|
||||
FILE="../patches/${1}"
|
||||
else
|
||||
FILE="../patches/${1}.patch"
|
||||
git add .
|
||||
git commit --no-verify -q -m "VSCODIUM HELPER"
|
||||
|
||||
normalize_file "${1}"
|
||||
fi
|
||||
|
||||
echo "FILE: ${FILE}"
|
||||
|
||||
if [[ -f "${FILE}" ]]; then
|
||||
if [[ -f "${FILE}.bak" ]]; then
|
||||
mv -f $FILE{.bak,}
|
||||
@@ -47,8 +57,18 @@ fi
|
||||
|
||||
read -rp "Press any key when the conflict have been resolved..." -n1 -s
|
||||
|
||||
while [[ -n "$( find . -name '*.rej' -print )" ]]; do
|
||||
echo
|
||||
read -rp "Press any key when the conflict have been resolved..." -n1 -s
|
||||
done
|
||||
|
||||
git add .
|
||||
git diff --staged -U1 > "${FILE}"
|
||||
git reset -q --hard HEAD~
|
||||
|
||||
if [[ "${FILE}" != "../patches/helper/settings.patch" ]]; then
|
||||
git reset -q --hard HEAD
|
||||
else
|
||||
git reset -q --hard HEAD~
|
||||
fi
|
||||
|
||||
echo "The patch has been generated."
|
||||
|
||||
@@ -14,7 +14,6 @@ while getopts ":i" opt; do
|
||||
esac
|
||||
done
|
||||
|
||||
|
||||
URL=$( curl -s "https://update.code.visualstudio.com/api/update/win32-x64-archive/${VSCODE_QUALITY}/0000000000000000000000000000000000000000" | jq -c '.url' | sed -E 's/.*"([^"]+)".*/\1/' )
|
||||
# echo "url: ${URL}"
|
||||
FILE="${URL##*/}"
|
||||
@@ -30,10 +29,17 @@ if [[ ! -d "${DIRECTORY}" ]]; then
|
||||
unzip "${FILE}" -d "${DIRECTORY}"
|
||||
fi
|
||||
|
||||
APIS=$( jq -r '.extensionEnabledApiProposals' "${DIRECTORY}/resources/app/product.json" )
|
||||
BIN_PATH=$(find "${DIRECTORY}/bin" -type f ! -name "*.*")
|
||||
|
||||
LINE="$( grep -E '^[[:space:]]*(export[[:space:]]+)?VERSIONFOLDER[[:space:]]*=' "$BIN_PATH" | tail -n1 )"
|
||||
VERSIONFOLDER="${LINE#*=}"
|
||||
VERSIONFOLDER="${VERSIONFOLDER#\"}"
|
||||
VERSIONFOLDER="${VERSIONFOLDER%\"}"
|
||||
|
||||
APIS=$( jq -r '.extensionEnabledApiProposals' "${DIRECTORY}/${VERSIONFOLDER}/resources/app/product.json" )
|
||||
APIS=$( echo "${APIS}" | jq '. += {"jeanp413.open-remote-ssh": ["resolvers", "tunnels", "terminalDataWriteEvent", "contribRemoteHelp", "contribViewsRemote"]}' )
|
||||
APIS=$( echo "${APIS}" | jq '. += {"jeanp413.open-remote-wsl": ["resolvers", "contribRemoteHelp", "contribViewsRemote"]}' )
|
||||
echo "$( jq --argjson v "${APIS}" 'setpath(["extensionEnabledApiProposals"]; $v)' product.json )" > product.json
|
||||
|
||||
jsonTmp=$( jq --argjson v "${APIS}" 'setpath(["extensionEnabledApiProposals"]; $v)' product.json )
|
||||
echo "${jsonTmp}" > product.json && unset jsonTmp
|
||||
APIS=$( jq -r '.extensionsEnabledWithApiProposalVersion' "${DIRECTORY}/${VERSIONFOLDER}/resources/app/product.json" )
|
||||
echo "$( jq --argjson v "${APIS}" 'setpath(["extensionsEnabledWithApiProposalVersion"]; $v)' product.json )" > product.json
|
||||
|
||||
@@ -12,6 +12,75 @@ while getopts ":i" opt; do
|
||||
esac
|
||||
done
|
||||
|
||||
generate_rejects() {
|
||||
local PATCH_FILE="$1"
|
||||
|
||||
if ! command -v python3 >/dev/null 2>&1; then
|
||||
echo "python3 not found; cannot create reject files for ${PATCH_FILE}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
PATCH_FOR_REJECT="${PATCH_FILE}" python3 <<'PY'
|
||||
import os
|
||||
import pathlib
|
||||
import re
|
||||
import subprocess
|
||||
|
||||
|
||||
def chunk_needs_reject(raw_chunk: str) -> bool:
|
||||
"""Return True when a patch chunk cannot be applied nor reversed."""
|
||||
|
||||
chunk = raw_chunk if raw_chunk.endswith("\n") else raw_chunk + "\n"
|
||||
|
||||
def _run_git(extra_args):
|
||||
return subprocess.run(
|
||||
["git", "apply", "--check", "--ignore-whitespace", *extra_args],
|
||||
input=chunk,
|
||||
text=True,
|
||||
capture_output=True,
|
||||
)
|
||||
|
||||
forward = _run_git([])
|
||||
if forward.returncode == 0:
|
||||
return False
|
||||
|
||||
reverse = _run_git(["--reverse"])
|
||||
if reverse.returncode == 0:
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
patch_path = os.environ["PATCH_FOR_REJECT"]
|
||||
with open(patch_path, "r", encoding="utf-8", errors="ignore") as src:
|
||||
content = src.read()
|
||||
|
||||
chunks = re.split(r'(?m)^diff --git ', content)
|
||||
for chunk in chunks:
|
||||
chunk = chunk.strip()
|
||||
if not chunk:
|
||||
continue
|
||||
chunk = "diff --git " + chunk
|
||||
match = re.search(r'^diff --git a/(.*?) b/(.*?)$', chunk, re.MULTILINE)
|
||||
if not match:
|
||||
continue
|
||||
a_path, b_path = match.groups()
|
||||
candidate = b_path if b_path != "/dev/null" else a_path
|
||||
if candidate in ("/dev/null", ""):
|
||||
continue
|
||||
if candidate.startswith("../") or candidate.startswith("..\\") or candidate.startswith("/"):
|
||||
continue
|
||||
dest = pathlib.Path(candidate + ".rej")
|
||||
if not chunk_needs_reject(chunk):
|
||||
continue
|
||||
dest.parent.mkdir(parents=True, exist_ok=True)
|
||||
with dest.open("w", encoding="utf-8") as fh:
|
||||
fh.write(chunk)
|
||||
if not chunk.endswith("\n"):
|
||||
fh.write("\n")
|
||||
print(f"generated reject: {dest}")
|
||||
PY
|
||||
}
|
||||
|
||||
check_file() {
|
||||
while [ $# -gt 1 ]; do
|
||||
git apply --reject "${1}"
|
||||
@@ -33,9 +102,27 @@ check_file() {
|
||||
if ! git apply --ignore-whitespace "${1}"; then
|
||||
echo failed to apply patch "${1}"
|
||||
|
||||
git apply --reject "${1}"
|
||||
git apply --reject --verbose "${1}"
|
||||
|
||||
read -rp "Press any key when the conflict have been resolved..." -n1 -s
|
||||
if [[ -z "$( find . -name '*.rej' -print )" ]]; then
|
||||
echo "no .rej generated by git; creating fallback rejects for ${1}"
|
||||
|
||||
if ! generate_rejects "${1}"; then
|
||||
echo "failed to generate reject files for ${1}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "$( find . -name '*.rej' -print )" ]]; then
|
||||
echo "still no .rej after attempting to create them for ${1}"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
while [[ -n "$( find . -name '*.rej' -print )" ]]; do
|
||||
find . -name '*.rej' -print
|
||||
read -rp "Press any key when the conflict have been resolved..." -n1 -s
|
||||
echo
|
||||
done
|
||||
|
||||
git restore .vscode/settings.json
|
||||
git add .
|
||||
@@ -52,8 +139,16 @@ cd vscode || { echo "'vscode' dir not found"; exit 1; }
|
||||
git add .
|
||||
git reset -q --hard HEAD
|
||||
|
||||
while [[ -n "$( git log -1 | grep "VSCODIUM HELPER" )" ]]; do
|
||||
git reset -q --hard HEAD~
|
||||
done
|
||||
|
||||
for FILE in ../patches/*.patch; do
|
||||
check_file "${FILE}"
|
||||
if [[ "${FILE}" == *"/fix-policies.patch" ]]; then
|
||||
check_file "../patches/fix-keymap.patch" "../patches/fix-policies.patch"
|
||||
else
|
||||
check_file "${FILE}"
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
|
||||
@@ -64,7 +159,7 @@ fi
|
||||
|
||||
for ARCH in alpine linux osx windows; do
|
||||
for FILE in "../patches/${ARCH}/"*.patch; do
|
||||
if [[ "${ARCH}" == "linux" && "${FILE}" == *"/arch-"* ]] || [[ "${ARCH}" == "windows" && "${FILE}" == *"/cli"* ]]; then
|
||||
if [[ "${ARCH}" == "linux" && "${FILE}" == *"/arch-"* ]] || [[ "${ARCH}" == "linux" && "${FILE}" == *"/fix-dependencies.patch" ]] || [[ "${ARCH}" == "windows" && "${FILE}" == *"/cli"* ]]; then
|
||||
echo "skip ${FILE}"
|
||||
else
|
||||
check_file "${FILE}"
|
||||
@@ -72,6 +167,8 @@ for ARCH in alpine linux osx windows; do
|
||||
done
|
||||
|
||||
if [[ "${ARCH}" == "linux" ]]; then
|
||||
check_file "../patches/optional-tree-sitter.patch" "../patches/linux/fix-dependencies.patch"
|
||||
|
||||
check_file "../patches/cli.patch" "../patches/linux/arch-0-support.patch"
|
||||
check_file "../patches/cli.patch" "../patches/linux/arch-0-support.patch" "../patches/linux/arch-1-ppc64le.patch"
|
||||
check_file "../patches/cli.patch" "../patches/linux/arch-0-support.patch" "../patches/linux/arch-1-ppc64le.patch" "../patches/linux/arch-2-riscv64.patch"
|
||||
|
||||
22
docs/ext-github-copilot.md
Normal file
22
docs/ext-github-copilot.md
Normal file
@@ -0,0 +1,22 @@
|
||||
<!-- order: 16 -->
|
||||
|
||||
# Extension: GitHub Copilot
|
||||
|
||||
Unlike Visual Studio Code, in VSCodium, Copilot features are disabled and not configured.
|
||||
|
||||
## Update your settings
|
||||
|
||||
In your settings, sets:
|
||||
```
|
||||
"chat.disableAIFeatures": false,
|
||||
```
|
||||
|
||||
## Configure product.json
|
||||
|
||||
You need to create a custom `product.json` at the following location (replace `VSCodium` by `VSCodium - Insiders` if you use that):
|
||||
- Windows: `%APPDATA%\VSCodium` or `%USERPROFILE%\AppData\Roaming\VSCodium`
|
||||
- macOS: `~/Library/Application Support/VSCodium`
|
||||
- Linux: `$XDG_CONFIG_HOME/VSCodium` or `~/.config/VSCodium`
|
||||
|
||||
Then you will need to follow the guide [Running with Code OSS](https://github.com/microsoft/vscode-copilot-chat/blob/main/CONTRIBUTING.md#running-with-code-oss) with the `product.json` file created previously.
|
||||
You will need to add the properties: `trustedExtensionAuthAccess` and `defaultChatAgent`.
|
||||
@@ -12,11 +12,11 @@
|
||||
|
||||
## <a id="incompatibility"></a>Incompatibility
|
||||
|
||||
Most MS extensions are limited to run on only MS products by their license and by running additional checks in their proprietary code.
|
||||
Most Microsoft extensions are limited to run on only MS products by their license and by running additional checks in their proprietary code.
|
||||
|
||||
Extensions incompatible with VSCodium **include**:
|
||||
- [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)
|
||||
- [LaTeX Workshop](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop)
|
||||
> It's officially unsupported: https://github.com/James-Yu/LaTeX-Workshop/wiki/FAQ#vscodium-is-not-officially-supported
|
||||
- [LaTeX Workshop](https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop) (explicitly unsupported, as [indicated in the FAQ](https://github.com/James-Yu/LaTeX-Workshop/wiki/FAQ#vscodium-is-not-officially-supported))
|
||||
- [Live Share](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare)
|
||||
- [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
|
||||
- [Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
|
||||
@@ -40,6 +40,5 @@ The following extensions are functional replacements for incompatible extensions
|
||||
|
||||
### <a id="remote"></a>Remote Development
|
||||
|
||||
- [Open Remote - SSH](https://open-vsx.org/extension/jeanp413/open-remote-ssh)
|
||||
> SSH server must be configured with the setting `AllowTcpForwarding yes`.
|
||||
- [Open Remote - SSH](https://open-vsx.org/extension/jeanp413/open-remote-ssh) (SSH server must be configured with the setting `AllowTcpForwarding yes`.)
|
||||
- [Open Remote - WSL](https://open-vsx.org/extension/jeanp413/open-remote-wsl)
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
## <a id="dependencies"></a>Dependencies
|
||||
|
||||
- node 20.18
|
||||
- node (check [.nvmrc](../.nvmrc) for version)
|
||||
- jq
|
||||
- git
|
||||
- python3 3.11
|
||||
@@ -46,11 +46,74 @@ see [the common dependencies](#dependencies)
|
||||
|
||||
### <a id="dependencies-windows"></a>Windows
|
||||
|
||||
- powershell
|
||||
- sed
|
||||
- 7z
|
||||
- [WiX Toolset](http://wixtoolset.org/releases/)
|
||||
- 'Tools for Native Modules' from the official Node.js installer
|
||||
The build scripts are written in Bash, so on Windows you must run them inside **Git Bash** (bundled with [Git for Windows](https://gitforwindows.org/)) or **WSL2**.
|
||||
|
||||
#### Required tools
|
||||
|
||||
- **Git for Windows** — provides Git Bash, `sed`, and POSIX utilities used by the build scripts:
|
||||
|
||||
```cmd
|
||||
winget install --id Git.Git -e
|
||||
```
|
||||
|
||||
- **Node.js** — exact version is specified in [`.nvmrc`](../.nvmrc). Use [nvm-windows](https://github.com/coreybutler/nvm-windows) to manage versions:
|
||||
|
||||
```cmd
|
||||
nvm install <version-from-.nvmrc>
|
||||
nvm use <version-from-.nvmrc>
|
||||
```
|
||||
|
||||
Alternatively, download directly from [nodejs.org](https://nodejs.org/). During installation, enable **"Automatically install the necessary tools"** to get the C++ build tools (required for native Node addons).
|
||||
|
||||
- **jq** — JSON processor used throughout the build scripts:
|
||||
|
||||
```cmd
|
||||
winget install --id jqlang.jq -e
|
||||
```
|
||||
|
||||
- **7-Zip** — used to package `.zip` archives:
|
||||
|
||||
```cmd
|
||||
winget install --id 7zip.7zip -e
|
||||
```
|
||||
|
||||
- **Python 3.11** — required by the VS Code build system:
|
||||
|
||||
```cmd
|
||||
winget install --id Python.Python.3.11 -e
|
||||
```
|
||||
|
||||
Ensure `python` / `python3` is on your `PATH` after installation.
|
||||
|
||||
- **Rustup** — required to compile some native VS Code modules:
|
||||
|
||||
```cmd
|
||||
winget install --id Rustlang.Rustup -e
|
||||
```
|
||||
|
||||
Restart your shell afterwards so `cargo` and `rustc` are on your `PATH`.
|
||||
|
||||
#### Optional tools
|
||||
|
||||
- **WiX Toolset v3** _(only needed for `.msi` installer packaging, i.e., the `-p` flag)_:
|
||||
|
||||
Download from [wixtoolset.org](https://wixtoolset.org/releases/) and ensure `candle.exe` / `light.exe` are on your `PATH`.
|
||||
|
||||
#### PATH verification
|
||||
|
||||
After installing all tools, verify each is discoverable from Git Bash:
|
||||
|
||||
```bash
|
||||
node --version # should match .nvmrc
|
||||
npm --version
|
||||
jq --version
|
||||
python3 --version # should be 3.11.x
|
||||
cargo --version
|
||||
7z i 2>&1 | head -1
|
||||
git --version
|
||||
```
|
||||
|
||||
If any command is not found, add its install directory to your `PATH` via **System Properties → Environment Variables → Path**.
|
||||
|
||||
## <a id="build-dev"></a>Build for Development
|
||||
|
||||
@@ -58,7 +121,10 @@ A build helper script can be found at `dev/build.sh`.
|
||||
|
||||
- Linux: `./dev/build.sh`
|
||||
- MacOS: `./dev/build.sh`
|
||||
- Windows: `powershell -ExecutionPolicy ByPass -File .\dev\build.ps1` or `"C:\Program Files\Git\bin\bash.exe" ./dev/build.sh`
|
||||
- Windows (Git Bash — **recommended**): `"C:\Program Files\Git\bin\bash.exe" ./dev/build.sh`
|
||||
- Windows (PowerShell): `powershell -ExecutionPolicy ByPass -File .\dev\build.ps1`
|
||||
|
||||
> **Note for Windows users**: Git Bash is the recommended shell because the build scripts rely on POSIX utilities (`sed`, `grep`, `find`, etc.) bundled with Git for Windows. If you use WSL2, follow the Linux dependencies section instead.
|
||||
|
||||
### Insider
|
||||
|
||||
@@ -95,6 +161,7 @@ export RELEASE_VERSION="${version}"
|
||||
```
|
||||
|
||||
To go further, you should look at how we build it:
|
||||
|
||||
- Linux: https://github.com/VSCodium/vscodium/blob/master/.github/workflows/stable-linux.yml
|
||||
- macOS: https://github.com/VSCodium/vscodium/blob/master/.github/workflows/stable-macos.yml
|
||||
- Windows: https://github.com/VSCodium/vscodium/blob/master/.github/workflows/stable-windows.yml
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
- [Proprietary Extensions](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#proprietary-extensions)
|
||||
- [Using the "VSIX Manager" Extension](https://github.com/VSCodium/vscodium/blob/master/docs/extensions.md#vsix-manager)
|
||||
- [Extensions compatibility](https://github.com/VSCodium/vscodium/blob/master/docs/extensions-compatibility.md)
|
||||
- [Ext: GitHub Copilot](https://github.com/VSCodium/vscodium/blob/master/docs/ext-github-copilot.md)
|
||||
- [Migration](https://github.com/VSCodium/vscodium/blob/master/docs/migration.md)
|
||||
- [Manual Migration from Visual Studio Code to VSCodium](https://github.com/VSCodium/vscodium/blob/master/docs/migration.md#manual-migration)
|
||||
- [Semi-Automatic Migration with "Sync Settings" Extension](https://github.com/VSCodium/vscodium/blob/master/docs/migration.md#semi-automatic-migration)
|
||||
|
||||
43
docs/patches.md
Normal file
43
docs/patches.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# Patches
|
||||
|
||||
Documentation for VSCodium patches applied on top of VS Code.
|
||||
|
||||
---
|
||||
|
||||
## fix-policies
|
||||
|
||||
**Replace `@vscode/policy-watcher` with `@vscodium/policy-watcher`**
|
||||
|
||||
VS Code uses `@vscode/policy-watcher` to enforce Group Policy Objects (GPOs) on
|
||||
Windows. That package reads from:
|
||||
|
||||
```
|
||||
HKLM\SOFTWARE\Policies\Microsoft\<productName>
|
||||
```
|
||||
|
||||
VSCodium forks this into `@vscodium/policy-watcher`, which takes a separate
|
||||
`vendorName` argument. The `createWatcher()` call becomes:
|
||||
|
||||
```ts
|
||||
createWatcher('VSCodium', this.productName, ...)
|
||||
```
|
||||
|
||||
Because VSCodium sets `product.nameLong = 'VSCodium'` (via `prepare_vscode.sh`),
|
||||
`this.productName` resolves to `'VSCodium'` at runtime. Therefore, the final
|
||||
Windows registry key that VSCodium reads policies from is:
|
||||
|
||||
```
|
||||
HKLM\SOFTWARE\Policies\VSCodium\VSCodium\<PolicyName>
|
||||
```
|
||||
|
||||
(or `HKCU\SOFTWARE\Policies\VSCodium\VSCodium\<PolicyName>` for per-user policies)
|
||||
|
||||
This differs from VS Code's path (`Microsoft\VSCode`) and is the root cause of
|
||||
[issue #2714](https://github.com/VSCodium/vscodium/issues/2714) where users mirror
|
||||
VS Code's registry structure and find their GPOs ignored. Enterprise admins must
|
||||
use the VSCodium-specific registry path.
|
||||
|
||||
### References
|
||||
|
||||
- [VSCodium issue #2714](https://github.com/VSCodium/vscodium/issues/2714)
|
||||
- [VSCodium/policy-watcher — RegistryPolicy.hh](https://github.com/VSCodium/policy-watcher/blob/main/src/windows/RegistryPolicy.hh)
|
||||
@@ -1,41 +1,68 @@
|
||||
<!-- order: 10 -->
|
||||
|
||||
# Getting all the Telemetry Out
|
||||
# Getting all telemetry out
|
||||
|
||||
This page explains how VSCodium handles telemetry and how to ensure your privacy.
|
||||
This page explains how VSCodium handles telemetry and how it enhances your privacy.
|
||||
|
||||
## Table of Contents
|
||||
## Table of contents
|
||||
|
||||
- [Telemetry in VSCodium](#telemetry)
|
||||
- [Replacements to Microsoft Online Services](#replacements)
|
||||
- [Checking for Telemetry](#checking)
|
||||
- [Additional Privacy Settings](#additional-settings)
|
||||
- [VSCodium Announcements](#announcements)
|
||||
- [Malicious & Deprecated Extensions](#malicious-extensions)
|
||||
- [Checking for telemetry](#checking)
|
||||
- [VSCodium announcements](#announcements)
|
||||
- [Malicious & deprecated extensions](#malicious-extensions)
|
||||
|
||||
## <a id="telemetry"></a>Telemetry in VSCodium
|
||||
|
||||
Even though we do not pass the telemetry build flags (and go out of our way to cripple the baked-in telemetry), Microsoft will still track usage by default.
|
||||
Even though we do not pass the telemetry build flags and go out of our way to cripple the baked-in telemetry, Microsoft still can track usage by default depending on your settings.
|
||||
|
||||
We do however set the default `telemetry.enableTelemetry` and `telemetry.enableCrashReporter` values to `false`. You can see those by viewing your VSCodium `settings.json` and searching for `telemetry`.
|
||||
We disable all the following telemetry-related settings by default to enhance your privacy:
|
||||
|
||||
It is also highly recommended that you review all the settings that "use online services" by following [these instructions](https://code.visualstudio.com/docs/getstarted/telemetry#_managing-online-services). The `@tag:usesOnlineServices` filter on the settings page will show that by default:
|
||||
```
|
||||
telemetry.telemetryLevel
|
||||
telemetry.enableCrashReporter
|
||||
telemetry.enableTelemetry
|
||||
telemetry.editStats.enabled
|
||||
workbench.enableExperiments
|
||||
workbench.settings.enableNaturalLanguageSearch
|
||||
workbench.commandPalette.experimental.enableNaturalLanguageSearch
|
||||
```
|
||||
|
||||
- Extensions auto check for updates and auto install updates
|
||||
- Searches within the app are sent to an online service for "natural language processing"
|
||||
- Updates to the app are fetched in the background
|
||||
It is also recommended that you review all the settings that "use online services" by following [these instructions](https://code.visualstudio.com/docs/getstarted/telemetry#_managing-online-services). You can use the search filter `@tag:usesOnlineServices` to show such settings and review what to change.
|
||||
|
||||
These can all be disabled.
|
||||
**Please note that some extensions send telemetry data to Microsoft as well. We have no control over this and can only recommend removing the extension.**
|
||||
For example, the C# extension `ms-vscode.csharp` sends tracking data to Microsoft. Be sure to check each extension's settings page to disable their telemetry if applicable.
|
||||
|
||||
__Please note that some extensions send telemetry data to Microsoft as well. We have no control over this and can only recommend removing the extension.__ _(For example, the C# extension `ms-vscode.csharp` sends tracking data to Microsoft.)_
|
||||
### Update services
|
||||
|
||||
By default, the app periodically fetches connections to check for the latest version available to download and install.
|
||||
Extensions are also checked for updates automatically from time to time.
|
||||
|
||||
If you want to prevent such behaviors, modify the following preferences:
|
||||
|
||||
For the app itself:
|
||||
|
||||
- `update.mode` -> `manual` (or `none`)
|
||||
- `update.enableWindowsBackgroundUpdates` -> `false` (only applicable for Microsoft Windows)
|
||||
|
||||
For extensions:
|
||||
|
||||
- `extensions.autoUpdate` -> `false`
|
||||
- `extensions.autoCheckUpdates` -> `false`
|
||||
|
||||
_Note: on Linux, the app update service is disabled completely at build-time even if the `update.mode` preference is configured. This is because users will more likely use their package managers to update the app rather than updating via the app itself._
|
||||
|
||||
### Feedback telemetry
|
||||
|
||||
By default, we keep the preference `telemetry.feedback.enabled` enabled. It's used to allow the button `Report Issue...` to be used on the app depending on the context. It does not send any data by having it enabled (other options already cover it). If you want, you can disable this behavior by toggling the preference value.
|
||||
|
||||
## <a id="replacements"></a>Replacements to Microsoft Online Services
|
||||
|
||||
When searching the `@tag:usesOnlineServices` filter, note that while the "Update: Mode" setting description still says "The updates are fetched from a Microsoft online service", VSCodium's build script [sets the `updateUrl` field](https://github.com/VSCodium/vscodium/blob/master/prepare_vscode.sh#L135) in `product.json` directly to the GitHub page, so enabling that setting won't actually result in any calls to Microsoft online service.
|
||||
When searching the `@tag:usesOnlineServices` filter, note that while the "Update: Mode" setting description still says "The updates are fetched from a Microsoft online service", VSCodium's build script [sets the `updateUrl` field](https://github.com/VSCodium/vscodium/blob/8cc366bb76d6c0ddb64374f9530b42094646a660/prepare_vscode.sh#L132-L133) in `product.json` directly to the GitHub page, so enabling that setting won't actually result in any calls to the Microsoft online service.
|
||||
|
||||
Likewise, while the descriptions for "Extensions: Auto Check Updates" and "Extensions: Auto Update" include the same phrase, VSCodium [replaces](https://github.com/VSCodium/vscodium/blob/master/prepare_vscode.sh#L121) the Visual Studio Marketplace with Open VSX, so these settings won't call Microsoft, either.
|
||||
Likewise, while the descriptions for "Extensions: Auto Check Updates" and "Extensions: Auto Update" include the same phrase, VSCodium [replaces](https://github.com/VSCodium/vscodium/blob/8cc366bb76d6c0ddb64374f9530b42094646a660/prepare_vscode.sh#L119) the Visual Studio Marketplace with Open VSX, so these settings won't call Microsoft either.
|
||||
|
||||
## <a id="checking"></a>Checking for Telemetry
|
||||
## <a id="checking"></a>Checking for telemetry
|
||||
|
||||
If you want to verify that no telemetry is being sent, you can use network monitoring tools like:
|
||||
|
||||
@@ -45,34 +72,16 @@ If you want to verify that no telemetry is being sent, you can use network monit
|
||||
|
||||
Look for connections to Microsoft domains and telemetry endpoints.
|
||||
|
||||
## <a id="additional-settings"></a>Additional Privacy Settings
|
||||
## <a id="announcements"></a>VSCodium announcements
|
||||
|
||||
For maximum privacy, you can add these settings to your `settings.json`:
|
||||
The welcome page in VSCodium displays announcements that are fetched via the internet from the project's GitHub repository.
|
||||
|
||||
```json
|
||||
{
|
||||
"telemetry.enableTelemetry": false,
|
||||
"telemetry.enableCrashReporter": false,
|
||||
"telemetry.feedback.enabled": false,
|
||||
"update.enableWindowsBackgroundUpdates": false,
|
||||
"update.mode": "manual",
|
||||
"workbench.enableExperiments": false,
|
||||
"workbench.settings.enableNaturalLanguageSearch": false
|
||||
}
|
||||
```
|
||||
If you prefer to disable this feature, you can disable the preference `workbench.welcomePage.extraAnnouncements`.
|
||||
|
||||
These settings will disable various telemetry and tracking features.
|
||||
|
||||
## <a id="announcements"></a>VSCodium Announcements
|
||||
|
||||
The Welcome page in VSCodium displays announcements that are fetched from the project's GitHub repository.
|
||||
|
||||
If you prefer to disable this feature, you can set the `workbench.welcomePage.extraAnnouncements` setting to `false` in your `settings.json`.
|
||||
|
||||
## <a id="malicious-extensions"></a>Malicious & Deprecated Extensions
|
||||
## <a id="malicious-extensions"></a>Malicious & deprecated extensions
|
||||
|
||||
The definitions for malicious and deprecated extensions are dynamically loaded from the following URL:
|
||||
https://raw.githubusercontent.com/EclipseFdn/publish-extensions/refs/heads/master/extension-control/extensions.json.
|
||||
https://raw.githubusercontent.com/EclipseFdn/publish-extensions/refs/heads/master/extension-control/extensions.json
|
||||
|
||||
If you prefer to avoid any external connections, you can set the`extensions.excludeUnsafes` setting to `false` in your `settings.json`.
|
||||
If you prefer to avoid any external connections, you can disable the preference `extensions.excludeUnsafes`.
|
||||
However, this is not recommended as it may reduce the safety of your environment.
|
||||
|
||||
@@ -10,10 +10,15 @@
|
||||
- [Global menu workaround for KDE](#linux-kde-global-menu)
|
||||
- [Flatpak most common issues](#linux-flatpak-most-common-issues)
|
||||
- [Remote SSH doesn't work](#linux-remote-ssh)
|
||||
- [The window doesn't show up](#linux-no-window)
|
||||
- [Windows](#windows)
|
||||
- [Group Policy Objects (GPOs) are ignored](#windows-gpo)
|
||||
- ["Open with VSCodium" missing from context menu](#windows-context-menu)
|
||||
- [Windows Defender flags the installer as malware](#windows-defender)
|
||||
|
||||
## <a id="linux"></a>Linux
|
||||
|
||||
### <a id="linux-fonts-rectangle"></a>*Fonts showing up as rectangles*
|
||||
### <a id="linux-fonts-rectangle"></a>_Fonts showing up as rectangles_
|
||||
|
||||
The following command should help:
|
||||
|
||||
@@ -23,27 +28,27 @@ rm -rf ~/snap/codium/common/.cache
|
||||
fc-cache -r
|
||||
```
|
||||
|
||||
### <a id="linux-rendering-glitches"></a>*Text and/or the entire interface not appearing*
|
||||
### <a id="linux-rendering-glitches"></a>_Text and/or the entire interface not appearing_
|
||||
|
||||
You have likely encountered [a bug in Chromium and Electron](microsoft/vscode#190437) when compiling Mesa shaders, which has affected all Visual Studio Code and VSCodium versions for Linux distributions since 1.82. The current workaround (see microsoft/vscode#190437) is to delete the GPU cache as follows:
|
||||
You have likely encountered [a bug in Chromium and Electron](microsoft/vscode#190437) when compiling Mesa shaders, which has affected all Visual Studio Code and VSCodium versions for Linux distributions since 1.82. The current workaround (see microsoft/vscode#190437) is to delete the GPU cache as follows:
|
||||
|
||||
```bash
|
||||
rm -rf ~/.config/VSCodium/GPUCache
|
||||
```
|
||||
|
||||
### <a id="linux-kde-global-menu"></a>*Global menu workaround for KDE*
|
||||
### <a id="linux-kde-global-menu"></a>_Global menu workaround for KDE_
|
||||
|
||||
Install these packages on Fedora:
|
||||
|
||||
* libdbusmenu-devel
|
||||
* dbus-glib-devel
|
||||
* libdbusmenu
|
||||
- libdbusmenu-devel
|
||||
- dbus-glib-devel
|
||||
- libdbusmenu
|
||||
|
||||
On Ubuntu this package is called `libdbusmenu-glib4`.
|
||||
|
||||
Credits: [Gerson](https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/issues/91)
|
||||
|
||||
### <a id="linux-flatpak-most-common-issues"></a>*Flatpak most common issues*
|
||||
### <a id="linux-flatpak-most-common-issues"></a>_Flatpak most common issues_
|
||||
|
||||
- blurry screen with HiDPI on wayland run:
|
||||
```bash
|
||||
@@ -63,10 +68,87 @@ Credits: [Gerson](https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/issues/
|
||||
|
||||
- If you have any other problems with the flatpak package try to look on the [FAQ](https://github.com/flathub/com.vscodium.codium?tab=readme-ov-file#faq) maybe the solution is already there or open an [issue](https://github.com/flathub/com.vscodium.codium/issues).
|
||||
|
||||
### <a id="linux-remote-ssh"></a>*Remote SSH doesn't work*
|
||||
### <a id="linux-remote-ssh"></a>_Remote SSH doesn't work_
|
||||
|
||||
Use the VSCodium's compatible extension [Open Remote - SSH](https://open-vsx.org/extension/jeanp413/open-remote-ssh).
|
||||
|
||||
On the server, in the `sshd` config, `AllowTcpForwarding` need to be set to `yes`.
|
||||
|
||||
It might requires additional dependencies due to the OS/distro (alpine).
|
||||
|
||||
### <a id="linux-no-window"></a>_The window doesn't show up_
|
||||
|
||||
If you are under Wayland:
|
||||
|
||||
- try the command `codium --verbose`
|
||||
- if you see an error like `:ERROR:ui/gl/egl_util.cc:92] EGL Driver message (Error) eglCreateContext: Requested version is not supported`
|
||||
- try `codium --ozone-platform=x11`
|
||||
|
||||
## <a id="windows"></a>Windows
|
||||
|
||||
### <a id="windows-gpo"></a>_Group Policy Objects (GPOs) are ignored_
|
||||
|
||||
VSCodium uses its own policy-watcher library (`@vscodium/policy-watcher`) which reads GPO values from a **different registry path** than VS Code.
|
||||
|
||||
**VSCodium reads policies from:**
|
||||
|
||||
```
|
||||
HKLM\SOFTWARE\Policies\VSCodium\VSCodium
|
||||
```
|
||||
|
||||
**VS Code reads policies from:**
|
||||
|
||||
```
|
||||
HKLM\SOFTWARE\Policies\Microsoft\VSCode
|
||||
```
|
||||
|
||||
If you are deploying VSCodium in an enterprise environment via Group Policy:
|
||||
|
||||
1. Copy the `.admx` template file to `C:\Windows\PolicyDefinitions\`
|
||||
2. Copy the `.adml` language file to `C:\Windows\PolicyDefinitions\en-US\`
|
||||
3. Open `gpedit.msc` and configure policies under the VSCodium group
|
||||
4. Verify the resulting registry key exists at `HKLM\SOFTWARE\Policies\VSCodium\VSCodium` (not `Microsoft\VSCodium`)
|
||||
|
||||
If you set policies manually via Registry Editor, make sure you create the key at the correct path:
|
||||
|
||||
```
|
||||
HKLM\SOFTWARE\Policies\VSCodium\VSCodium\<PolicyName> (REG_SZ or REG_DWORD)
|
||||
```
|
||||
|
||||
For example, to set `Update: Mode` to `none`:
|
||||
|
||||
```
|
||||
Registry key: HKLM\SOFTWARE\Policies\VSCodium\VSCodium
|
||||
Value name: update.mode
|
||||
Value type: REG_SZ
|
||||
Value data: none
|
||||
```
|
||||
|
||||
Per-user policies are also supported under `HKCU\SOFTWARE\Policies\VSCodium\VSCodium` (machine policies take precedence).
|
||||
|
||||
### <a id="windows-context-menu"></a>_"Open with VSCodium" missing from context menu_
|
||||
|
||||
If the **"Open with VSCodium"** option does not appear after installation (even with the checkbox checked during setup):
|
||||
|
||||
1. **Run the installer again** and ensure _"Add 'Open with VSCodium' action to Windows Explorer file context menu"_ is checked.
|
||||
2. **Windows 11 note**: Windows 11 hides most context menu entries behind **Shift + Right-click** ("Show more options"). VSCodium's entry may be present but hidden in the new condensed menu. Try Shift + Right-click to see the classic context menu.
|
||||
3. If the entry still does not appear, you can add it manually via Registry Editor:
|
||||
|
||||
```
|
||||
Key: HKEY_CLASSES_ROOT\*\shell\Open with VSCodium
|
||||
Value: (Default) = "Open with VSCodium"
|
||||
|
||||
Key: HKEY_CLASSES_ROOT\*\shell\Open with VSCodium\command
|
||||
Value: (Default) = "C:\Program Files\VSCodium\VSCodium.exe" "%1"
|
||||
```
|
||||
|
||||
Adjust the install path to match your actual installation directory.
|
||||
|
||||
### <a id="windows-defender"></a>_Windows Defender flags the installer as malware_
|
||||
|
||||
Some users report Windows Defender detecting the VSCodium installer as `Cinjo` or another threat. This is a **false positive** caused by the unsigned nature of certain build artifacts.
|
||||
|
||||
- Download VSCodium **only from the official [GitHub Releases page](https://github.com/VSCodium/vscodium/releases)**.
|
||||
- Verify the SHA256/SHA512 checksum of the downloaded file against the `.sha256` or `.sha512` file published alongside each release.
|
||||
- If Defender blocks the installer, add an exclusion for the downloaded file, run the install, then remove the exclusion.
|
||||
- You can also report the false positive directly to Microsoft via the [Windows Defender Security Intelligence submission portal](https://www.microsoft.com/en-us/wdsi/filesubmission).
|
||||
|
||||
7
font-size/.artifactrc.yml
Normal file
7
font-size/.artifactrc.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
artifacts:
|
||||
"@daiyam/artifact-lang-js":
|
||||
version: 0.9.3
|
||||
requires:
|
||||
- "22"
|
||||
"@daiyam/artifact-lang-ts":
|
||||
version: 0.6.3
|
||||
17
font-size/.editorconfig
Normal file
17
font-size/.editorconfig
Normal file
@@ -0,0 +1,17 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
indent_style = tab
|
||||
tab_width = 4
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[{*.yml,*.yaml}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.md]
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
29
font-size/.fixpackrc
Normal file
29
font-size/.fixpackrc
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"sortToTop": [
|
||||
"name",
|
||||
"displayName",
|
||||
"description",
|
||||
"version",
|
||||
"private",
|
||||
"author",
|
||||
"publisher",
|
||||
"license",
|
||||
"homepage",
|
||||
"repository",
|
||||
"bugs",
|
||||
"engines",
|
||||
"type",
|
||||
"bin",
|
||||
"exports",
|
||||
"main",
|
||||
"module",
|
||||
"types",
|
||||
"typesVersions",
|
||||
"scripts",
|
||||
"dependencies",
|
||||
"devDependencies",
|
||||
"optionalDependencies",
|
||||
"keywords"
|
||||
],
|
||||
"finalNewLine": true
|
||||
}
|
||||
2
font-size/.gitignore
vendored
Normal file
2
font-size/.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
/node_modules/
|
||||
/lib/
|
||||
1
font-size/.nvmrc
Normal file
1
font-size/.nvmrc
Normal file
@@ -0,0 +1 @@
|
||||
v22.21.1
|
||||
9
font-size/.vscode/settings.json
vendored
Normal file
9
font-size/.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"search.exclude": {
|
||||
"package-lock.json": true,
|
||||
"lib/**": true,
|
||||
},
|
||||
"taskExplorer.exclude": [
|
||||
".husky",
|
||||
],
|
||||
}
|
||||
153
font-size/.xo-config.json
Normal file
153
font-size/.xo-config.json
Normal file
@@ -0,0 +1,153 @@
|
||||
{
|
||||
"ignores": [
|
||||
"*.config.js",
|
||||
"*.config.ts"
|
||||
],
|
||||
"rules": {
|
||||
"@typescript-eslint/ban-types": "off",
|
||||
"@typescript-eslint/brace-style": [
|
||||
"error",
|
||||
"stroustrup"
|
||||
],
|
||||
"@typescript-eslint/class-literal-property-style": [
|
||||
"error",
|
||||
"fields"
|
||||
],
|
||||
"@typescript-eslint/keyword-spacing": [
|
||||
"error",
|
||||
{
|
||||
"overrides": {
|
||||
"if": {
|
||||
"after": false
|
||||
},
|
||||
"for": {
|
||||
"after": false
|
||||
},
|
||||
"switch": {
|
||||
"after": false
|
||||
},
|
||||
"while": {
|
||||
"after": false
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/member-ordering": [
|
||||
"error",
|
||||
{
|
||||
"default": [
|
||||
"field",
|
||||
"constructor",
|
||||
"get",
|
||||
"set",
|
||||
"method"
|
||||
]
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/naming-convention": [
|
||||
"error",
|
||||
{
|
||||
"selector": "variable",
|
||||
"modifiers": ["const", "global"],
|
||||
"format": ["camelCase", "UPPER_CASE"],
|
||||
"filter": {
|
||||
"regex": "^(__filename|__dirname)$",
|
||||
"match": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"selector": "variable",
|
||||
"format": ["camelCase"],
|
||||
"filter": {
|
||||
"regex": "^(__filename|__dirname)$",
|
||||
"match": false
|
||||
}
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/no-confusing-void-expression": "off",
|
||||
"@typescript-eslint/no-dynamic-delete": "off",
|
||||
"@typescript-eslint/no-inferrable-types": "off",
|
||||
"@typescript-eslint/no-namespace": "off",
|
||||
"@typescript-eslint/object-curly-spacing": [
|
||||
"error",
|
||||
"always"
|
||||
],
|
||||
"@typescript-eslint/parameter-properties": "off",
|
||||
"@typescript-eslint/prefer-promise-reject-errors": "off",
|
||||
"@typescript-eslint/return-await": "off",
|
||||
"arrow-parens": [
|
||||
"error",
|
||||
"always"
|
||||
],
|
||||
"capitalized-comments": "off",
|
||||
"complexity": "off",
|
||||
"default-case": "off",
|
||||
"import/extensions": [
|
||||
"error",
|
||||
"never"
|
||||
],
|
||||
"import/order": [
|
||||
"error",
|
||||
{
|
||||
"groups": [
|
||||
"builtin",
|
||||
"external",
|
||||
"internal",
|
||||
"parent",
|
||||
"sibling",
|
||||
"index",
|
||||
"object"
|
||||
],
|
||||
"alphabetize": {
|
||||
"order": "asc",
|
||||
"caseInsensitive": true
|
||||
}
|
||||
}
|
||||
],
|
||||
"max-depth": [
|
||||
"error",
|
||||
8
|
||||
],
|
||||
"max-params": [
|
||||
"error",
|
||||
12
|
||||
],
|
||||
"no-await-in-loop": "off",
|
||||
"no-else-return": "off",
|
||||
"no-lonely-if": "off",
|
||||
"no-negated-condition": "off",
|
||||
"object-curly-newline": "off",
|
||||
"one-var": [
|
||||
"error",
|
||||
"never"
|
||||
],
|
||||
"unicorn/empty-brace-spaces": "off",
|
||||
"unicorn/no-array-callback-reference": "off",
|
||||
"unicorn/no-length-as-slice-end": "off",
|
||||
"unicorn/no-object-as-default-parameter": "off",
|
||||
"unicorn/prefer-json-parse-buffer": "off",
|
||||
"unicorn/prefer-module": "off",
|
||||
"unicorn/prefer-node-protocol": "off",
|
||||
"unicorn/prefer-switch": "off",
|
||||
"unicorn/prefer-ternary": "off",
|
||||
"unicorn/prevent-abbreviations": [
|
||||
"error",
|
||||
{
|
||||
"replacements": {
|
||||
"arg": false,
|
||||
"args": false,
|
||||
"dir": false,
|
||||
"err": false,
|
||||
"fn": false,
|
||||
"func": false,
|
||||
"i": false,
|
||||
"j": false,
|
||||
"mod": false,
|
||||
"num": false,
|
||||
"pkg": false,
|
||||
"str": false
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
270
font-size/generate-css.ts
Executable file
270
font-size/generate-css.ts
Executable file
@@ -0,0 +1,270 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
import path from 'node:path';
|
||||
import process from 'node:process';
|
||||
import fse from '@zokugun/fs-extra-plus/async';
|
||||
import { err, OK, type Result, stringifyError, xtry } from '@zokugun/xtry';
|
||||
import postcss, { Root, type Rule } from 'postcss';
|
||||
|
||||
type Area = {
|
||||
name: string;
|
||||
defaultSize: number;
|
||||
files: string[];
|
||||
prefixes: string[];
|
||||
};
|
||||
|
||||
const PX_REGEX = /(-?\d+(\.\d+)?)px\b/g;
|
||||
const COEFF_PRECISION = 6;
|
||||
const HEADER = '/*** Generated for Custom Font Size ***/';
|
||||
const ZEROS = ['margin', 'padding'];
|
||||
|
||||
const AREAS: Record<string, Area> = {
|
||||
activitybar: {
|
||||
name: 'activitybar',
|
||||
defaultSize: 16,
|
||||
files: ['src/vs/workbench/browser/parts/activitybar/media/activityaction.css'],
|
||||
prefixes: ['.monaco-workbench .activitybar'],
|
||||
},
|
||||
bottompane: {
|
||||
name: 'bottompane',
|
||||
defaultSize: 13,
|
||||
files: ['src/vs/workbench/browser/parts/panel/media/panelpart.css', 'src/vs/base/browser/ui/actionbar/actionbar.css', 'src/vs/workbench/browser/parts/media/paneCompositePart.css'],
|
||||
prefixes: ['.monaco-workbench .part.panel'],
|
||||
},
|
||||
statusbar: {
|
||||
name: 'statusbar',
|
||||
defaultSize: 12,
|
||||
files: ['src/vs/workbench/browser/parts/statusbar/media/statusbarpart.css'],
|
||||
prefixes: ['.monaco-workbench .part.statusbar'],
|
||||
},
|
||||
sidebar: {
|
||||
name: 'sidebar',
|
||||
defaultSize: 13,
|
||||
files: [
|
||||
'src/vs/base/browser/ui/actionbar/actionbar.css',
|
||||
'src/vs/base/browser/ui/button/button.css',
|
||||
'src/vs/base/browser/ui/inputbox/inputBox.css',
|
||||
'src/vs/workbench/contrib/debug/browser/media/debugToolBar.css',
|
||||
'src/vs/workbench/contrib/debug/browser/media/debugViewlet.css',
|
||||
'src/vs/workbench/contrib/extensions/browser/media/extension.css',
|
||||
'src/vs/workbench/contrib/extensions/browser/media/extensionActions.css',
|
||||
'src/vs/workbench/contrib/search/browser/media/searchview.css',
|
||||
'src/vs/workbench/contrib/scm/browser/media/scm.css',
|
||||
],
|
||||
prefixes: ['.monaco-workbench .part.sidebar', '.monaco-workbench .part.auxiliarybar'],
|
||||
},
|
||||
tabs: {
|
||||
name: 'tabs',
|
||||
defaultSize: 13,
|
||||
files: [
|
||||
'src/vs/workbench/browser/parts/editor/media/editortabscontrol.css',
|
||||
'src/vs/workbench/browser/parts/editor/media/editortitlecontrol.css',
|
||||
'src/vs/workbench/browser/parts/editor/media/multieditortabscontrol.css'
|
||||
],
|
||||
prefixes: ['.monaco-workbench .part.editor > .content .editor-group-container > .title.tabs'],
|
||||
},
|
||||
};
|
||||
|
||||
function formatCoefficient(n: number): string { // {{{
|
||||
const fixed = n.toFixed(COEFF_PRECISION);
|
||||
return fixed.replace(/\.?0+$/, '');
|
||||
} // }}}
|
||||
|
||||
function replacePx(area: Area) { // {{{
|
||||
return (match: string, numStr: string): string => {
|
||||
const pxValue = Number.parseFloat(numStr);
|
||||
|
||||
if(pxValue === 1) {
|
||||
return match;
|
||||
}
|
||||
|
||||
const coeff = formatCoefficient(pxValue / area.defaultSize);
|
||||
|
||||
return `calc(var(--vscode-workbench-${area.name}-font-size) * ${coeff})`;
|
||||
};
|
||||
} // }}}
|
||||
|
||||
function transformPxValue(value: string, area: Area): string { // {{{
|
||||
return value.replaceAll(PX_REGEX, replacePx(area));
|
||||
} // }}}
|
||||
|
||||
async function processFile(filePath: string, areas: Area[]): Promise<Result<void, string>> { // {{{
|
||||
const readResult = await fse.readFile(filePath, 'utf8');
|
||||
if(readResult.fails) {
|
||||
return err(stringifyError(readResult.error));
|
||||
}
|
||||
|
||||
const content = extractOriginal(readResult.value);
|
||||
|
||||
const postcssResult = xtry(() => postcss.parse(content, { from: filePath }));
|
||||
if(postcssResult.fails) {
|
||||
return err(`Failed to parse ${filePath}: ${stringifyError(postcssResult.error)}`);
|
||||
}
|
||||
|
||||
const generatedRoot = postcss.root();
|
||||
|
||||
for(const area of areas) {
|
||||
processFileArea(postcssResult.value, generatedRoot, area)
|
||||
}
|
||||
|
||||
if(generatedRoot.nodes && generatedRoot.nodes.length > 0) {
|
||||
const writeResult = await fse.writeFile(filePath, content + `\n\n\n${HEADER}\n\n` + generatedRoot.toString(), 'utf8');
|
||||
if(writeResult.fails) {
|
||||
return err(stringifyError(readResult.error));
|
||||
}
|
||||
|
||||
console.log(`Generated: ${filePath}`);
|
||||
}
|
||||
else {
|
||||
console.log(`No px sizes found in: ${filePath}`);
|
||||
}
|
||||
|
||||
return OK;
|
||||
} // }}}
|
||||
|
||||
function processFileArea(postcssResult: Root, generatedRoot: Root, area: Area): void { // {{{
|
||||
postcssResult.walkRules((rule: Rule) => {
|
||||
const declarationsToAdd: Array<{ prop: string; value: string }> = [];
|
||||
|
||||
rule.walkDecls((declaration) => {
|
||||
if(PX_REGEX.test(declaration.value)) {
|
||||
const newValue = transformPxValue(declaration.value, area);
|
||||
|
||||
declarationsToAdd.push({ prop: declaration.prop, value: newValue });
|
||||
}
|
||||
else if(declaration.value === 'auto' && (declaration.prop === 'height' || declaration.prop === 'width')) {
|
||||
declarationsToAdd.push({ prop: declaration.prop, value: 'auto' });
|
||||
}
|
||||
else if(declaration.value === '0' && ZEROS.includes(declaration.prop)) {
|
||||
declarationsToAdd.push({ prop: declaration.prop, value: '0' });
|
||||
}
|
||||
});
|
||||
|
||||
if(declarationsToAdd.length > 0) {
|
||||
const selectors = (rule.selectors && rule.selectors.length > 0) ? rule.selectors : [rule.selector];
|
||||
const prefixeds: string[] = [];
|
||||
|
||||
for(const prefix of area.prefixes) {
|
||||
const parts = prefix.split(' ');
|
||||
const prefixed = selectors.map((s) => prefixSelector(s, parts)).join(', ');
|
||||
|
||||
prefixeds.push(prefixed);
|
||||
}
|
||||
|
||||
const newRule = postcss.rule({ selector: `${prefixeds.join(', ')}` });
|
||||
|
||||
let length = 0;
|
||||
|
||||
for(const declaration of declarationsToAdd) {
|
||||
if(!declaration.prop.startsWith('border')) {
|
||||
newRule.append({ ...declaration });
|
||||
length += 1;
|
||||
}
|
||||
}
|
||||
|
||||
if(length > 0) {
|
||||
generatedRoot.append(newRule);
|
||||
}
|
||||
}
|
||||
});
|
||||
} // }}}
|
||||
|
||||
function extractOriginal(content: string): string { // {{{
|
||||
const index = content.indexOf(HEADER);
|
||||
|
||||
if(index === -1) {
|
||||
return content;
|
||||
}
|
||||
|
||||
return content.slice(0, Math.max(0, index - 3));
|
||||
} // }}}
|
||||
|
||||
function extractStyle(selector: string): string { // {{{
|
||||
const match = /^(\.[\w-]+)/.exec(selector);
|
||||
|
||||
return match?.[1] ?? '';
|
||||
} // }}}
|
||||
|
||||
function mergeSelector(selectors: string[], prefixes: string[], index: number): void { // {{{
|
||||
if(index >= prefixes.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
const prefix = prefixes[index];
|
||||
const selector = selectors[index];
|
||||
const style = extractStyle(prefix);
|
||||
|
||||
if(selector === style) {
|
||||
if(prefix.length > style.length) {
|
||||
selectors[index] = prefix;
|
||||
}
|
||||
|
||||
mergeSelector(selectors, prefixes, index + 1);
|
||||
}
|
||||
else if(selector.startsWith(style)) {
|
||||
mergeSelector(selectors, prefixes, index + 1);
|
||||
}
|
||||
else if(index === 0) {
|
||||
selectors.unshift(...prefixes)
|
||||
}
|
||||
else {
|
||||
selectors.splice(index + 1, 0, ...prefixes.slice(index));
|
||||
}
|
||||
} // }}}
|
||||
|
||||
function prefixSelector(selector: string, prefixParts: string[]): string { // {{{
|
||||
const parts = selector.split(' ');
|
||||
|
||||
if(parts[0] === '.mac' || parts[0] === '.linux' || parts[0] === '.windows') {
|
||||
parts[0] = `${prefixParts[0]}${parts[0]}`;
|
||||
|
||||
parts.splice(1, 0, ...prefixParts.slice(1));
|
||||
}
|
||||
else {
|
||||
mergeSelector(parts, prefixParts, 0);
|
||||
}
|
||||
|
||||
return parts.join(' ');
|
||||
} // }}}
|
||||
|
||||
async function main(): Promise<void> { // {{{
|
||||
const name = process.argv[2];
|
||||
const area = AREAS[name];
|
||||
|
||||
if(area) {
|
||||
for(const file of area.files) {
|
||||
const result = await processFile(path.join('..', 'vscode', file), [area]);
|
||||
if(result.fails) {
|
||||
console.error(`Error processing ${file}:`, result.error);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(name === 'all') {
|
||||
const files: Record<string, Area[]> = {};
|
||||
|
||||
for(const area of Object.values(AREAS)) {
|
||||
for(const file of area.files) {
|
||||
if(files[file]) {
|
||||
files[file].push(area)
|
||||
}
|
||||
else {
|
||||
files[file] = [area]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for(const [file, areas] of Object.entries(files)) {
|
||||
const result = await processFile(path.join('..', 'vscode', file), areas);
|
||||
if(result.fails) {
|
||||
console.error(`Error processing ${file}:`, result.error);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
console.log(`No area found for ${name}`);
|
||||
console.log(`\nAvailable areas:\n- ${Object.keys(AREAS).join('\n- ')}`);
|
||||
return;
|
||||
}
|
||||
} // }}}
|
||||
|
||||
await main();
|
||||
7391
font-size/package-lock.json
generated
Normal file
7391
font-size/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
30
font-size/package.json
Normal file
30
font-size/package.json
Normal file
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"name": "font-size",
|
||||
"description": "",
|
||||
"version": "1.0.0",
|
||||
"author": {
|
||||
"name": "Baptiste Augrain",
|
||||
"email": "daiyam@zokugun.org"
|
||||
},
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
"main": "generate-css.ts",
|
||||
"scripts": {
|
||||
"clean": "rimraf lib",
|
||||
"lint": "xo",
|
||||
"lint:fix": "xo --fix",
|
||||
"prepare": "fixpack || true"
|
||||
},
|
||||
"dependencies": {
|
||||
"@zokugun/fs-extra-plus": "^0.3.3",
|
||||
"@zokugun/xtry": "^0.10.1",
|
||||
"fast-glob": "^3.3.3",
|
||||
"postcss": "^8.5.6"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^22.9.0",
|
||||
"fixpack": "^4.0.0",
|
||||
"xo": "0.60.0"
|
||||
},
|
||||
"keywords": []
|
||||
}
|
||||
78
font-size/tsconfig.base.json
Normal file
78
font-size/tsconfig.base.json
Normal file
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
/* Language and Environment */
|
||||
"target": "ES2022", /* Specify ECMAScript target version. */
|
||||
"lib": [ /* Specify library files to be included in the compilation. */
|
||||
"ES2022",
|
||||
],
|
||||
|
||||
/* Modules */
|
||||
"module": "node16", /* Specify what module code is generated. */
|
||||
|
||||
/* Basic Options */
|
||||
// "allowJs": false, /* Allow javascript files to be compiled. */
|
||||
// "checkJs": false, /* Report errors in '.js' files. */
|
||||
// "jsx": undefined, /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */
|
||||
// "declaration": false, /* Generates corresponding '.d.ts' file. */
|
||||
// "declarationDir": "" /* Specify the output directory for generated declaration files. */
|
||||
// "declarationMap": false, /* Generates a sourcemap for each corresponding '.d.ts' file. */
|
||||
// "outFile": "", /* Specify a file that bundles all outputs into one JavaScript file. */
|
||||
// "outDir": "", /* Specify an output folder for all emitted files. */
|
||||
// "rootDir": "", /* Specify the root directory of input files. */
|
||||
// "incremental": false, /* Save '.tsbuildinfo' files to allow for incremental compilation of projects. */
|
||||
// "composite": false, /* Enable constraints that allow a TypeScript project to be used with project references. */
|
||||
// "tsBuildInfoFile": ".tsbuildinfo", /* Specify the folder for '.tsbuildinfo' incremental compilation files. */
|
||||
// "removeComments": false, /* Disable emitting comments. */
|
||||
// "noEmit": true, /* Disable emitting file from a compilation. */
|
||||
// "importHelpers": false, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */
|
||||
// "downlevelIteration": false, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
|
||||
// "isolatedModules": false, /* Ensure that each file can be safely transpiled without relying on other imports. */
|
||||
|
||||
/* Strict Type-Checking Options */
|
||||
"strict": true, /* Enable all strict type-checking options. */
|
||||
"strictNullChecks": true, /* When type checking, take into account null and undefined. */
|
||||
// "strictFunctionTypes": false, /* Enable strict checking of function types. */
|
||||
// "strictBindCallApply": false, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
|
||||
// "strictPropertyInitialization": false, /* Enable strict checking of property initialization in classes. */
|
||||
// "noImplicitThis": false, /* Enable error reporting when 'this' is given the type 'any'. */
|
||||
"alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
|
||||
|
||||
/* Additional Checks */
|
||||
"noUnusedLocals": true, /* Report errors on unused locals. */
|
||||
// "noUnusedParameters": false, /* Report errors on unused parameters. */
|
||||
"noImplicitAny": false, /* Report error for expressions and declarations with an implied any type.. */
|
||||
"noImplicitReturns": false, /* Report error when not all code paths in function return a value. */
|
||||
// "noFallthroughCasesInSwitch": false, /* Report errors for fallthrough cases in switch statement. */
|
||||
// "noUncheckedIndexedAccess": false, /* Include 'undefined' in index signature results */
|
||||
// "noImplicitOverride": false, /* Ensure overriding members in derived classes are marked with an 'override' modifier. */
|
||||
// "noPropertyAccessFromIndexSignature": false, /* Require undeclared properties from index signatures to use element accesses. */
|
||||
|
||||
/* Module Resolution Options */
|
||||
// "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
|
||||
// "baseUrl": "", /* Specify the base directory to resolve non-relative module names. */
|
||||
// "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
|
||||
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
|
||||
// "typeRoots": [], /* List of folders to include type definitions from. */
|
||||
// "types": [], /* Specify type package names to be included without being referenced in a source file. */
|
||||
"esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
|
||||
"allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
|
||||
// "preserveSymlinks": false, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
|
||||
// "allowUmdGlobalAccess": false, /* Allow accessing UMD globals from modules. */
|
||||
// "resolveJsonModule": false, /* Enable importing .json files */
|
||||
|
||||
/* Source Map Options */
|
||||
// "sourceMap": false, /* Create source map files for emitted JavaScript files. */
|
||||
// "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */
|
||||
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
|
||||
// "inlineSourceMap": false, /* Include sourcemap files inside the emitted JavaScript. */
|
||||
// "inlineSources": false, /* Include source code in the sourcemaps inside the emitted JavaScript. */
|
||||
|
||||
/* Experimental Options */
|
||||
// "experimentalDecorators": false, /* Enables experimental support for ES7 decorators. */
|
||||
// "emitDecoratorMetadata": false, /* Emit design-type metadata for decorated declarations in source files. */
|
||||
|
||||
/* Advanced Options */
|
||||
"skipLibCheck": true, /* Skip type checking all .d.ts files. */
|
||||
"forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */
|
||||
},
|
||||
}
|
||||
15
font-size/tsconfig.json
Normal file
15
font-size/tsconfig.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"extends": "./tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
/* Basic Options */
|
||||
"outDir": ".",
|
||||
"rootDir": ".",
|
||||
"declaration": true,
|
||||
|
||||
/* Module Resolution Options */
|
||||
"resolveJsonModule": true, /* Enable importing .json files */
|
||||
},
|
||||
"files": [
|
||||
"package.json",
|
||||
],
|
||||
}
|
||||
@@ -6,20 +6,22 @@ set -e
|
||||
# DEBUG
|
||||
# set -o xtrace
|
||||
|
||||
QUALITY="stable"
|
||||
COLOR="blue1"
|
||||
|
||||
while getopts ":i" opt; do
|
||||
case "$opt" in
|
||||
i)
|
||||
export QUALITY="insider"
|
||||
export COLOR="orange1"
|
||||
QUALITY="insider"
|
||||
[[ -z "${COLOR}" ]] && COLOR="orange1"
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
[[ -z "${COLOR}" ]] && COLOR="blue1"
|
||||
[[ -z "${QUALITY}" ]] && QUALITY="stable"
|
||||
[[ -z "${SRC_PREFIX}" ]] && SRC_PREFIX=""
|
||||
[[ -z "${VSCODE_PREFIX}" ]] && VSCODE_PREFIX=""
|
||||
|
||||
check_programs() { # {{{
|
||||
for arg in "$@"; do
|
||||
if ! command -v "${arg}" &> /dev/null; then
|
||||
@@ -31,27 +33,47 @@ check_programs() { # {{{
|
||||
|
||||
check_programs "icns2png" "composite" "convert" "png2icns" "icotool" "rsvg-convert" "sed"
|
||||
|
||||
. ./utils.sh
|
||||
. "./${VSCODE_PREFIX}utils.sh"
|
||||
|
||||
SRC_PREFIX=""
|
||||
VSCODE_PREFIX=""
|
||||
if ! declare -F load_linux_png &>/dev/null; then
|
||||
load_linux_png() {
|
||||
wget "https://raw.githubusercontent.com/VSCodium/icons/main/icons/linux/circle1/${COLOR}/paulo22s.png" -O "$1"
|
||||
}
|
||||
fi
|
||||
|
||||
if ! declare -F load_windows_ico &>/dev/null; then
|
||||
load_windows_ico() {
|
||||
wget "https://raw.githubusercontent.com/VSCodium/icons/main/icons/win32/nobg/${COLOR}/paulo22s.ico" -O "$1"
|
||||
}
|
||||
fi
|
||||
|
||||
build_darwin_main() { # {{{
|
||||
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/darwin/code.icns" ]]; then
|
||||
rsvg-convert -w 655 -h 655 "icons/${QUALITY}/codium_cnl.svg" -o "code_logo.png"
|
||||
composite "code_logo.png" -gravity center "icons/template_macos.png" "code_1024.png"
|
||||
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/darwin"
|
||||
|
||||
if [[ "$1" == "no-template" ]]; then
|
||||
rsvg-convert -w 1024 -h 1024 "icons/${QUALITY}/codium_cnl.svg" -o "code_1024.png"
|
||||
else
|
||||
rsvg-convert -w 655 -h 655 "icons/${QUALITY}/codium_cnl.svg" -o "code_logo.png"
|
||||
composite "code_logo.png" -gravity center "${VSCODE_PREFIX}icons/template_macos.png" "code_1024.png"
|
||||
fi
|
||||
|
||||
convert "code_1024.png" -resize 512x512 code_512.png
|
||||
convert "code_1024.png" -resize 256x256 code_256.png
|
||||
convert "code_1024.png" -resize 128x128 code_128.png
|
||||
|
||||
png2icns "${SRC_PREFIX}src/${QUALITY}/resources/darwin/code.icns" code_512.png code_256.png code_128.png
|
||||
png2icns "${SRC_PREFIX}src/${QUALITY}/resources/darwin/code.icns" code_1024.png code_512.png code_256.png code_128.png
|
||||
|
||||
rm code_1024.png code_512.png code_256.png code_128.png code_logo.png
|
||||
rm -f code_1024.png code_512.png code_256.png code_128.png code_logo.png
|
||||
fi
|
||||
} # }}}
|
||||
|
||||
build_darwin_types() { # {{{
|
||||
rsvg-convert -w 128 -h 128 "icons/${QUALITY}/codium_cnl_w80_b8.svg" -o "code_logo.png"
|
||||
if [[ "$1" == "no-border" ]]; then
|
||||
rsvg-convert -w 128 -h 128 "icons/${QUALITY}/codium_cnl.svg" -o "code_logo.png"
|
||||
else
|
||||
rsvg-convert -w 128 -h 128 "icons/${QUALITY}/codium_cnl_w80_b8.svg" -o "code_logo.png"
|
||||
fi
|
||||
|
||||
for file in "${VSCODE_PREFIX}"vscode/resources/darwin/*; do
|
||||
if [[ -f "${file}" ]]; then
|
||||
@@ -60,7 +82,7 @@ build_darwin_types() { # {{{
|
||||
if [[ "${name}" != 'code' ]] && [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/darwin/${name}.icns" ]]; then
|
||||
icns2png -x -s 512x512 "${file}" -o .
|
||||
|
||||
composite -blend 100% -geometry +323+365 "icons/corner_512.png" "${name}_512x512x32.png" "${name}.png"
|
||||
composite -blend 100% -geometry +323+365 "${VSCODE_PREFIX}icons/corner_512.png" "${name}_512x512x32.png" "${name}.png"
|
||||
composite -geometry +359+374 "code_logo.png" "${name}.png" "${name}.png"
|
||||
|
||||
convert "${name}.png" -resize 256x256 "${name}_256.png"
|
||||
@@ -77,26 +99,32 @@ build_darwin_types() { # {{{
|
||||
|
||||
build_linux_main() { # {{{
|
||||
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" ]]; then
|
||||
wget "https://raw.githubusercontent.com/VSCodium/icons/main/icons/linux/circle1/${COLOR}/paulo22s.png" -O "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png"
|
||||
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/linux"
|
||||
|
||||
load_linux_png "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png"
|
||||
fi
|
||||
|
||||
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/linux/rpm"
|
||||
|
||||
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/linux/rpm/code.xpm" ]]; then
|
||||
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/linux/rpm"
|
||||
|
||||
convert "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" "${SRC_PREFIX}src/${QUALITY}/resources/linux/rpm/code.xpm"
|
||||
fi
|
||||
} # }}}
|
||||
|
||||
build_media() { # {{{
|
||||
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/src/vs/workbench/browser/media/code-icon.svg" ]]; then
|
||||
mkdir -p "${SRC_PREFIX}src/${QUALITY}/src/vs/workbench/browser/media"
|
||||
|
||||
cp "icons/${QUALITY}/codium_clt.svg" "${SRC_PREFIX}src/${QUALITY}/src/vs/workbench/browser/media/code-icon.svg"
|
||||
gsed -i 's|width="100" height="100"|width="1024" height="1024"|' "${SRC_PREFIX}src/${QUALITY}/src/vs/workbench/browser/media/code-icon.svg"
|
||||
fi
|
||||
} # }}}
|
||||
|
||||
build_server() { # {{{
|
||||
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/server"
|
||||
|
||||
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/server/favicon.ico" ]]; then
|
||||
wget "https://raw.githubusercontent.com/VSCodium/icons/main/icons/win32/nobg/${COLOR}/paulo22s.ico" -O "${SRC_PREFIX}src/${QUALITY}/resources/server/favicon.ico"
|
||||
load_windows_ico "${SRC_PREFIX}src/${QUALITY}/resources/server/favicon.ico"
|
||||
fi
|
||||
|
||||
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/server/code-192.png" ]]; then
|
||||
@@ -110,7 +138,9 @@ build_server() { # {{{
|
||||
|
||||
build_windows_main() { # {{{
|
||||
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/code.ico" ]]; then
|
||||
wget "https://raw.githubusercontent.com/VSCodium/icons/main/icons/win32/nobg/${COLOR}/paulo22s.ico" -O "${SRC_PREFIX}src/${QUALITY}/resources/win32/code.ico"
|
||||
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/win32"
|
||||
|
||||
load_windows_ico "${SRC_PREFIX}src/${QUALITY}/resources/win32/code.ico"
|
||||
fi
|
||||
} # }}}
|
||||
|
||||
@@ -132,12 +162,16 @@ build_windows_type() { # {{{
|
||||
|
||||
rsvg-convert -w "${LOGO_SIZE}" -h "${LOGO_SIZE}" "icons/${QUALITY}/codium_cnl.svg" -o "code_logo.png"
|
||||
|
||||
composite -gravity "${GRAVITY}" "code_logo.png" "${FILE_PATH}" "${FILE_PATH}"
|
||||
if [[ "${GRAVITY}" == "center" ]]; then
|
||||
composite -gravity "${GRAVITY}" "code_logo.png" "${FILE_PATH}" "${FILE_PATH}"
|
||||
else
|
||||
composite -gravity NorthWest -geometry "${GRAVITY}" "code_logo.png" "${FILE_PATH}" "${FILE_PATH}"
|
||||
fi
|
||||
fi
|
||||
} # }}}
|
||||
|
||||
build_windows_types() { # {{{
|
||||
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/win32"
|
||||
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/win32" "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}"
|
||||
|
||||
rsvg-convert -b "#F5F6F7" -w 64 -h 64 "icons/${QUALITY}/codium_cnl.svg" -o "code_logo.png"
|
||||
|
||||
@@ -148,11 +182,11 @@ build_windows_types() { # {{{
|
||||
if [[ "${name}" != 'code' ]] && [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/${name}.ico" ]]; then
|
||||
icotool -x -w 256 "${file}"
|
||||
|
||||
composite -geometry +150+185 "code_logo.png" "${name}_9_256x256x32.png" "${name}.png"
|
||||
composite -geometry +150+185 "code_logo.png" "${name}_1_256x256x32.png" "${name}.png"
|
||||
|
||||
convert "${name}.png" -define icon:auto-resize=256,128,96,64,48,32,24,20,16 "${SRC_PREFIX}src/${QUALITY}/resources/win32/${name}.ico"
|
||||
|
||||
rm "${name}_9_256x256x32.png" "${name}.png"
|
||||
rm "${name}_1_256x256x32.png" "${name}.png"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
|
||||
index c1d64c0..3e60e80 100644
|
||||
--- a/build/gulpfile.reh.js
|
||||
+++ b/build/gulpfile.reh.js
|
||||
@@ -321,3 +321,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
|
||||
diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts
|
||||
index b935764..68067db 100644
|
||||
--- a/build/gulpfile.reh.ts
|
||||
+++ b/build/gulpfile.reh.ts
|
||||
@@ -323,3 +323,3 @@ function packageTask(type: string, platform: string, arch: string, sourceFolderN
|
||||
const productJsonStream = gulp.src(['product.json'], { base: '.' })
|
||||
- .pipe(json({ commit, date: readISODate('out-build'), version }))
|
||||
+ .pipe(json({ commit, date: readISODate('out-build'), version, serverDownloadUrlTemplate: 'https://github.com/!!ASSETS_REPOSITORY!!/releases/download/!!RELEASE_VERSION!!/!!APP_NAME_LC!!-reh-${os}-${arch}-!!RELEASE_VERSION!!.tar.gz' }))
|
||||
- .pipe(jsonEditor({ commit, date: readISODate(sourceFolderName), version }))
|
||||
+ .pipe(jsonEditor({ commit, date: readISODate(sourceFolderName), version, serverDownloadUrlTemplate: 'https://github.com/!!ASSETS_REPOSITORY!!/releases/download/!!RELEASE_VERSION!!/!!APP_NAME_LC!!-reh-${os}-${arch}-!!RELEASE_VERSION!!.tar.gz' }))
|
||||
.pipe(es.through(function (file) {
|
||||
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
|
||||
index 7046ee0..9aa7bb0 100644
|
||||
--- a/build/gulpfile.vscode.js
|
||||
+++ b/build/gulpfile.vscode.js
|
||||
@@ -288,3 +288,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||
diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts
|
||||
index a103f11..82142a1 100644
|
||||
--- a/build/gulpfile.vscode.ts
|
||||
+++ b/build/gulpfile.vscode.ts
|
||||
@@ -374,3 +374,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d
|
||||
const productJsonStream = gulp.src(['product.json'], { base: '.' })
|
||||
- .pipe(json({ commit, date: readISODate('out-build'), checksums, version }))
|
||||
+ .pipe(json({ commit, date: readISODate('out-build'), checksums, version, serverDownloadUrlTemplate: 'https://github.com/!!ASSETS_REPOSITORY!!/releases/download/!!RELEASE_VERSION!!/!!APP_NAME_LC!!-reh-${os}-${arch}-!!RELEASE_VERSION!!.tar.gz' }))
|
||||
- .pipe(jsonEditor({ commit, date: readISODate(out), checksums, version }))
|
||||
+ .pipe(jsonEditor({ commit, date: readISODate(out), checksums, version, serverDownloadUrlTemplate: 'https://github.com/!!ASSETS_REPOSITORY!!/releases/download/!!RELEASE_VERSION!!/!!APP_NAME_LC!!-reh-${os}-${arch}-!!RELEASE_VERSION!!.tar.gz' }))
|
||||
.pipe(es.through(function (file) {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
|
||||
index e12a33e..9300d62 100644
|
||||
--- a/build/gulpfile.reh.js
|
||||
+++ b/build/gulpfile.reh.js
|
||||
@@ -188,5 +188,16 @@ function getNodeChecksum(expectedName) {
|
||||
function extractAlpinefromDocker(nodeVersion, platform, arch) {
|
||||
diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts
|
||||
index cb1a0a5..375851e 100644
|
||||
--- a/build/gulpfile.reh.ts
|
||||
+++ b/build/gulpfile.reh.ts
|
||||
@@ -159,5 +159,16 @@ function getNodeChecksum(expectedName: string): string | undefined {
|
||||
function extractAlpinefromDocker(nodeVersion: string, platform: string, arch: string) {
|
||||
- const imageName = arch === 'arm64' ? 'arm64v8/node' : 'node';
|
||||
+ let imageName = 'node';
|
||||
+ let dockerPlatform = '';
|
||||
@@ -20,4 +20,4 @@ index e12a33e..9300d62 100644
|
||||
log(`Downloading node.js ${nodeVersion} ${platform} ${arch} from docker image ${imageName}`);
|
||||
- const contents = cp.execSync(`docker run --rm ${imageName}:${nodeVersion}-alpine /bin/sh -c 'cat \`which node\`'`, { maxBuffer: 100 * 1024 * 1024, encoding: 'buffer' });
|
||||
+ const contents = cp.execSync(`docker run --rm ${dockerPlatform} ${imageName}:${nodeVersion}-alpine /bin/sh -c 'cat \`which node\`'`, { maxBuffer: 200 * 1024 * 1024, encoding: 'buffer' });
|
||||
return es.readArray([new File({ path: 'node', contents, stat: { mode: parseInt('755', 8) } })]);
|
||||
// eslint-disable-next-line local/code-no-dangerous-type-assertions
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
|
||||
index 7046ee0..faca888 100644
|
||||
--- a/build/gulpfile.vscode.js
|
||||
+++ b/build/gulpfile.vscode.js
|
||||
@@ -376,3 +376,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||
.pipe(replace('@@APPNAME@@', product.applicationName))
|
||||
diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts
|
||||
index a103f11..cc95785 100644
|
||||
--- a/build/gulpfile.vscode.ts
|
||||
+++ b/build/gulpfile.vscode.ts
|
||||
@@ -466,3 +466,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d
|
||||
.pipe(replace('@@NAME@@', product.nameShort))
|
||||
- .pipe(rename('bin/code'));
|
||||
+ .pipe(rename('bin/' + product.applicationName));
|
||||
const policyDest = gulp.src('.build/policies/darwin/**', { base: '.build/policies/darwin' })
|
||||
diff --git a/src/vs/platform/native/electron-main/nativeHostMainService.ts b/src/vs/platform/native/electron-main/nativeHostMainService.ts
|
||||
index 6324e98..3d2fba3 100644
|
||||
index 93d0008..a04d296 100644
|
||||
--- a/src/vs/platform/native/electron-main/nativeHostMainService.ts
|
||||
+++ b/src/vs/platform/native/electron-main/nativeHostMainService.ts
|
||||
@@ -445,3 +445,3 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
|
||||
@@ -539,3 +539,3 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
|
||||
private async getShellCommandLink(): Promise<{ readonly source: string; readonly target: string }> {
|
||||
- const target = resolve(this.environmentMainService.appRoot, 'bin', 'code');
|
||||
+ const target = resolve(this.environmentMainService.appRoot, 'bin', this.productService.applicationName);
|
||||
const source = `/usr/local/bin/${this.productService.applicationName}`;
|
||||
@@ -680,3 +680,3 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
|
||||
@@ -808,3 +808,3 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
|
||||
if (this.environmentMainService.isBuilt) {
|
||||
- return join(this.environmentMainService.appRoot, 'bin', 'code');
|
||||
+ return join(this.environmentMainService.appRoot, 'bin', `${this.productService.applicationName}`);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,9 +0,0 @@
|
||||
diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts
|
||||
index 56220de..68d708f 100644
|
||||
--- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts
|
||||
+++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts
|
||||
@@ -142,3 +142,3 @@ configurationRegistry.registerConfiguration({
|
||||
markdownDescription: nls.localize('chat.commandCenter.enabled', "Controls whether the command center shows a menu for actions to control Copilot (requires {0}).", '`#window.commandCenter#`'),
|
||||
- default: true
|
||||
+ default: false
|
||||
},
|
||||
@@ -1,13 +1,13 @@
|
||||
diff --git a/cli/src/commands/serve_web.rs b/cli/src/commands/serve_web.rs
|
||||
index 2ddefe1..ab9c658 100644
|
||||
index d3f7db8..988024b 100644
|
||||
--- a/cli/src/commands/serve_web.rs
|
||||
+++ b/cli/src/commands/serve_web.rs
|
||||
@@ -730,3 +730,3 @@ impl ConnectionManager {
|
||||
@@ -756,3 +756,3 @@ impl ConnectionManager {
|
||||
let dir_fut = cache.create(&args.release.commit, |target_dir| async move {
|
||||
- info!(log_for_fut, "Downloading server {}", release_for_fut.commit);
|
||||
+ info!(log_for_fut, "Downloading server {}/{}", release_for_fut.commit, release_for_fut.name);
|
||||
let tmpdir = tempfile::tempdir().unwrap();
|
||||
@@ -758,3 +758,3 @@ impl ConnectionManager {
|
||||
@@ -784,3 +784,3 @@ impl ConnectionManager {
|
||||
.join("bin")
|
||||
- .join(args.release.quality.server_entrypoint());
|
||||
+ .join(args.release.quality.server_entrypoint().unwrap());
|
||||
@@ -58,10 +58,10 @@ index 7d152c0..c0f2fb2 100644
|
||||
+ Ok(server_name)
|
||||
}
|
||||
diff --git a/cli/src/tunnels/code_server.rs b/cli/src/tunnels/code_server.rs
|
||||
index cf00bc4..b564330 100644
|
||||
index bbabadc..b454d0e 100644
|
||||
--- a/cli/src/tunnels/code_server.rs
|
||||
+++ b/cli/src/tunnels/code_server.rs
|
||||
@@ -457,3 +457,3 @@ impl<'a> ServerBuilder<'a> {
|
||||
@@ -462,3 +462,3 @@ impl<'a> ServerBuilder<'a> {
|
||||
.join("bin")
|
||||
- .join(self.server_params.release.quality.server_entrypoint()),
|
||||
+ .join(self.server_params.release.quality.server_entrypoint().unwrap()),
|
||||
@@ -76,7 +76,7 @@ index 3d7d718..98529bc 100644
|
||||
+ .join(self.quality.server_entrypoint().unwrap())
|
||||
},
|
||||
diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs
|
||||
index 9033914..a39bbf7 100644
|
||||
index 55f1dad..3b7ef5c 100644
|
||||
--- a/cli/src/update_service.rs
|
||||
+++ b/cli/src/update_service.rs
|
||||
@@ -10,3 +10,3 @@ use serde::{Deserialize, Serialize};
|
||||
@@ -89,7 +89,7 @@ index 9033914..a39bbf7 100644
|
||||
- },
|
||||
+ }
|
||||
};
|
||||
@@ -58,4 +58,12 @@ fn quality_download_segment(quality: options::Quality) -> &'static str {
|
||||
@@ -58,2 +58,10 @@ fn quality_download_segment(quality: options::Quality) -> &'static str {
|
||||
|
||||
+fn get_app_name() -> Result<&'static str, CodeError> {
|
||||
+ VSCODE_CLI_APP_NAME.ok_or_else(|| CodeError::UpdatesNotConfigured("no app name"))
|
||||
@@ -99,17 +99,19 @@ index 9033914..a39bbf7 100644
|
||||
+ VSCODE_CLI_DOWNLOAD_ENDPOINT.ok_or_else(|| CodeError::UpdatesNotConfigured("no download url"))
|
||||
+}
|
||||
+
|
||||
fn get_update_endpoint() -> Result<&'static str, CodeError> {
|
||||
- VSCODE_CLI_UPDATE_ENDPOINT.ok_or_else(|| CodeError::UpdatesNotConfigured("no service url"))
|
||||
+ VSCODE_CLI_UPDATE_ENDPOINT.ok_or_else(|| CodeError::UpdatesNotConfigured("no update url"))
|
||||
fn get_update_endpoint() -> Result<String, CodeError> {
|
||||
@@ -66,3 +74,3 @@ fn get_update_endpoint() -> Result<String, CodeError> {
|
||||
.map(|s| s.to_string())
|
||||
- .ok_or_else(|| CodeError::UpdatesNotConfigured("no service url"))
|
||||
+ .ok_or_else(|| CodeError::UpdatesNotConfigured("no update url"))
|
||||
}
|
||||
@@ -67,3 +75,4 @@ impl UpdateService {
|
||||
@@ -74,3 +82,4 @@ impl UpdateService {
|
||||
|
||||
- pub async fn get_release_by_semver_version(
|
||||
+ /// Gets the latest commit for the target of the given quality.
|
||||
+ pub async fn get_latest_commit(
|
||||
&self,
|
||||
@@ -72,14 +81,10 @@ impl UpdateService {
|
||||
@@ -79,14 +88,10 @@ impl UpdateService {
|
||||
quality: options::Quality,
|
||||
- version: &str,
|
||||
) -> Result<Release, AnyError> {
|
||||
@@ -120,19 +122,19 @@ index 9033914..a39bbf7 100644
|
||||
let download_url = format!(
|
||||
- "{}/api/versions/{}/{}/{}",
|
||||
+ "{}/{}/{}/{}/latest.json",
|
||||
update_endpoint,
|
||||
&update_endpoint,
|
||||
- version,
|
||||
- download_segment,
|
||||
quality_download_segment(quality),
|
||||
+ platform.os(),
|
||||
+ platform.arch(),
|
||||
);
|
||||
@@ -97,3 +102,3 @@ impl UpdateService {
|
||||
@@ -104,3 +109,3 @@ impl UpdateService {
|
||||
let res = response.json::<UpdateServerVersion>().await?;
|
||||
- debug!(self.log, "Resolved version {} to {}", version, res.version);
|
||||
+ debug!(self.log, "Resolved quality {} to {}", quality, res.version);
|
||||
|
||||
@@ -108,40 +113,17 @@ impl UpdateService {
|
||||
@@ -115,40 +120,17 @@ impl UpdateService {
|
||||
|
||||
- /// Gets the latest commit for the target of the given quality.
|
||||
- pub async fn get_latest_commit(
|
||||
@@ -151,7 +153,7 @@ index 9033914..a39bbf7 100644
|
||||
+
|
||||
let download_url = format!(
|
||||
- "{}/api/latest/{}/{}",
|
||||
- update_endpoint,
|
||||
- &update_endpoint,
|
||||
- download_segment,
|
||||
- quality_download_segment(quality),
|
||||
+ "{}/download/{}/{}-reh-web-{}-{}-{}.tar.gz",
|
||||
@@ -185,7 +187,7 @@ index 9033914..a39bbf7 100644
|
||||
- })
|
||||
+ Ok(download_url)
|
||||
}
|
||||
@@ -150,15 +132,3 @@ impl UpdateService {
|
||||
@@ -157,15 +139,3 @@ impl UpdateService {
|
||||
pub async fn get_download_stream(&self, release: &Release) -> Result<SimpleResponse, AnyError> {
|
||||
- let update_endpoint = get_update_endpoint()?;
|
||||
- let download_segment = release
|
||||
@@ -195,14 +197,14 @@ index 9033914..a39bbf7 100644
|
||||
-
|
||||
- let download_url = format!(
|
||||
- "{}/commit:{}/{}/{}",
|
||||
- update_endpoint,
|
||||
- &update_endpoint,
|
||||
- release.commit,
|
||||
- download_segment,
|
||||
- quality_download_segment(release.quality),
|
||||
- );
|
||||
+ let download_url = self.get_download_url(release)?;
|
||||
|
||||
@@ -196,13 +166,2 @@ pub enum TargetKind {
|
||||
@@ -203,13 +173,2 @@ pub enum TargetKind {
|
||||
|
||||
-impl TargetKind {
|
||||
- fn download_segment(&self, platform: Platform) -> Option<String> {
|
||||
@@ -216,7 +218,7 @@ index 9033914..a39bbf7 100644
|
||||
-}
|
||||
-
|
||||
#[derive(Debug, Copy, Clone, Eq, PartialEq, Serialize, Deserialize)]
|
||||
@@ -225,30 +184,17 @@ pub enum Platform {
|
||||
@@ -232,30 +191,17 @@ pub enum Platform {
|
||||
impl Platform {
|
||||
- pub fn archive(&self) -> Option<String> {
|
||||
- match self {
|
||||
@@ -261,7 +263,7 @@ index 9033914..a39bbf7 100644
|
||||
+ Platform::WindowsX86 => "ia42",
|
||||
+ Platform::WindowsARM64 => "arm64",
|
||||
}
|
||||
@@ -257,17 +203,17 @@ impl Platform {
|
||||
@@ -264,17 +210,17 @@ impl Platform {
|
||||
|
||||
- pub fn cli(&self) -> String {
|
||||
+ pub fn os(&self) -> String {
|
||||
@@ -293,10 +295,19 @@ index 9033914..a39bbf7 100644
|
||||
+ Platform::WindowsX86 => "win32",
|
||||
+ Platform::WindowsARM64 => "win32",
|
||||
}
|
||||
@@ -276,6 +222,2 @@ impl Platform {
|
||||
@@ -283,6 +229,2 @@ impl Platform {
|
||||
|
||||
- pub fn web(&self) -> String {
|
||||
- format!("{}-web", self.headless())
|
||||
- }
|
||||
-
|
||||
pub fn env_default() -> Option<Platform> {
|
||||
diff --git a/extensions/tunnel-forwarding/src/extension.ts b/extensions/tunnel-forwarding/src/extension.ts
|
||||
index 2f71999..e689f62 100644
|
||||
--- a/extensions/tunnel-forwarding/src/extension.ts
|
||||
+++ b/extensions/tunnel-forwarding/src/extension.ts
|
||||
@@ -37,3 +37,3 @@ if (process.env.VSCODE_FORWARDING_IS_DEV) {
|
||||
|
||||
- const cliName = vscode.env.appQuality === 'stable' ? 'code-tunnel' : 'code-tunnel-insiders';
|
||||
+ const cliName = '!!TUNNEL_APP_NAME!!';
|
||||
const extension = process.platform === 'win32' ? '.exe' : '';
|
||||
|
||||
133
patches/disable-copilot.patch
Normal file
133
patches/disable-copilot.patch
Normal file
@@ -0,0 +1,133 @@
|
||||
diff --git a/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts b/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts
|
||||
index 1998414..cdc533b 100644
|
||||
--- a/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts
|
||||
+++ b/src/vs/workbench/contrib/chat/browser/actions/chatActions.ts
|
||||
@@ -206,3 +206,4 @@ abstract class OpenChatGlobalAction extends Action2 {
|
||||
ChatContextKeys.Setup.hidden.negate(),
|
||||
- ChatContextKeys.Setup.disabled.negate()
|
||||
+ ChatContextKeys.Setup.disabled.negate(),
|
||||
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate()
|
||||
)
|
||||
@@ -1142,3 +1143,3 @@ export function registerChatActions() {
|
||||
precondition: ContextKeyExpr.and(
|
||||
- ChatContextKeys.Setup.installed,
|
||||
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
|
||||
ChatContextKeys.Setup.disabled.negate(),
|
||||
@@ -1715,3 +1716,4 @@ MenuRegistry.appendMenuItem(MenuId.EditorContext, {
|
||||
ChatContextKeys.Setup.hidden.negate(),
|
||||
- ChatContextKeys.Setup.disabled.negate()
|
||||
+ ChatContextKeys.Setup.disabled.negate(),
|
||||
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate()
|
||||
)
|
||||
diff --git a/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.ts b/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.ts
|
||||
index b8c8e03..512e40f 100644
|
||||
--- a/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.ts
|
||||
+++ b/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.ts
|
||||
@@ -314,3 +314,4 @@ class AttachSelectionToChatAction extends Action2 {
|
||||
ResourceContextKey.Scheme.isEqualTo(Schemas.vscodeUserData)
|
||||
- )
|
||||
+ ),
|
||||
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
|
||||
)
|
||||
diff --git a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts
|
||||
index be62dda..7b5f1ed 100644
|
||||
--- a/src/vs/workbench/contrib/chat/browser/chat.contribution.ts
|
||||
+++ b/src/vs/workbench/contrib/chat/browser/chat.contribution.ts
|
||||
@@ -1237,3 +1237,3 @@ configurationRegistry.registerConfiguration({
|
||||
description: nls.localize('chat.disableAIFeatures', "Disable and hide built-in AI features provided by GitHub Copilot, including chat and inline suggestions."),
|
||||
- default: false,
|
||||
+ default: true,
|
||||
scope: ConfigurationScope.WINDOW
|
||||
diff --git a/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts b/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts
|
||||
index ddb5df4..7831288 100644
|
||||
--- a/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts
|
||||
+++ b/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.ts
|
||||
@@ -70,10 +70,9 @@ const chatViewDescriptor: IViewDescriptor = {
|
||||
ctorDescriptor: new SyncDescriptor(ChatViewPane),
|
||||
- when: ContextKeyExpr.or(
|
||||
- ContextKeyExpr.or(
|
||||
- ChatContextKeys.Setup.hidden,
|
||||
- ChatContextKeys.Setup.disabled
|
||||
- )?.negate(),
|
||||
- ChatContextKeys.panelParticipantRegistered,
|
||||
- ChatContextKeys.extensionInvalid
|
||||
- )
|
||||
+ when: ContextKeyExpr.and(
|
||||
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
|
||||
+ ChatContextKeys.Setup.disabled.negate(),
|
||||
+ ChatContextKeys.Setup.hidden.negate(),
|
||||
+ ChatContextKeys.panelParticipantRegistered,
|
||||
+ ChatContextKeys.extensionInvalid.negate()
|
||||
+ )
|
||||
};
|
||||
diff --git a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.ts b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.ts
|
||||
index 4a71579..f8b3e83 100644
|
||||
--- a/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.ts
|
||||
+++ b/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.ts
|
||||
@@ -228,2 +228,3 @@ export class ChatSetupContribution extends Disposable implements IWorkbenchContr
|
||||
ChatContextKeys.Setup.untrusted,
|
||||
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
|
||||
ChatContextKeys.Setup.installed.negate(),
|
||||
@@ -346,2 +347,3 @@ export class ChatSetupContribution extends Disposable implements IWorkbenchContr
|
||||
ChatContextKeys.Setup.hidden.negate(),
|
||||
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
|
||||
ChatContextKeys.Setup.installed.negate(),
|
||||
@@ -518,2 +520,3 @@ export class ChatSetupContribution extends Disposable implements IWorkbenchContr
|
||||
ChatContextKeys.Setup.disabled.negate(),
|
||||
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
|
||||
ChatContextKeys.Setup.installed.negate(),
|
||||
diff --git a/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts b/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts
|
||||
index c8fc17b..fbd2afd 100644
|
||||
--- a/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts
|
||||
+++ b/src/vs/workbench/contrib/chat/common/actions/chatContextKeys.ts
|
||||
@@ -163,3 +163,3 @@ export namespace ChatContextKeyExprs {
|
||||
export const chatSetupTriggerContext = ContextKeyExpr.or(
|
||||
- ChatContextKeys.Setup.installed.negate(),
|
||||
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
|
||||
ChatContextKeys.Entitlement.canSignUp
|
||||
diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.ts
|
||||
index e9b4077..b33d6f2 100644
|
||||
--- a/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.ts
|
||||
+++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.ts
|
||||
@@ -133,3 +133,9 @@ MenuRegistry.appendMenuItem(MenuId.InlineChatEditorAffordance, {
|
||||
order: 1,
|
||||
- when: ContextKeyExpr.and(EditorContextKeys.writable, EditorContextKeys.hasNonEmptySelection, CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT.negate(), ChatEntitlementContextKeys.Setup.hidden.negate()),
|
||||
+ when: ContextKeyExpr.and(
|
||||
+ EditorContextKeys.writable,
|
||||
+ EditorContextKeys.hasNonEmptySelection,
|
||||
+ CTX_INLINE_CHAT_FILE_BELONGS_TO_CHAT.negate(),
|
||||
+ ChatEntitlementContextKeys.Setup.hidden.negate(),
|
||||
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
|
||||
+ ),
|
||||
command: {
|
||||
diff --git a/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts b/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts
|
||||
index 864cc4f..b877a8e 100644
|
||||
--- a/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts
|
||||
+++ b/src/vs/workbench/contrib/mcp/browser/mcpServersView.ts
|
||||
@@ -554,3 +554,3 @@ export class McpServersViewsContribution extends Disposable implements IWorkbenc
|
||||
ctorDescriptor: new SyncDescriptor(DefaultBrowseMcpServersView, [{}]),
|
||||
- when: ContextKeyExpr.and(DefaultViewsContext, HasInstalledMcpServersContext.toNegated(), ChatContextKeys.Setup.hidden.negate(), McpServersGalleryStatusContext.isEqualTo(McpGalleryManifestStatus.Available), ContextKeyExpr.or(ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceUrlConfig}`), ProductQualityContext.notEqualsTo('stable'), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceEnablementConfig}`))),
|
||||
+ when: ContextKeyExpr.and(DefaultViewsContext, HasInstalledMcpServersContext.toNegated(), ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ChatContextKeys.Setup.hidden.negate(), McpServersGalleryStatusContext.isEqualTo(McpGalleryManifestStatus.Available), ContextKeyExpr.or(ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceUrlConfig}`), ProductQualityContext.notEqualsTo('stable'), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceEnablementConfig}`))),
|
||||
weight: 40,
|
||||
@@ -569,3 +569,3 @@ export class McpServersViewsContribution extends Disposable implements IWorkbenc
|
||||
ctorDescriptor: new SyncDescriptor(DefaultBrowseMcpServersView, [{ showWelcome: true }]),
|
||||
- when: ContextKeyExpr.and(DefaultViewsContext, HasInstalledMcpServersContext.toNegated(), ChatContextKeys.Setup.hidden.negate(), McpServersGalleryStatusContext.isEqualTo(McpGalleryManifestStatus.Available), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceUrlConfig}`).negate(), ProductQualityContext.isEqualTo('stable'), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceEnablementConfig}`).negate()),
|
||||
+ when: ContextKeyExpr.and(DefaultViewsContext, HasInstalledMcpServersContext.toNegated(), ContextKeyExpr.has('config.chat.disableAIFeatures').negate(), ChatContextKeys.Setup.hidden.negate(), McpServersGalleryStatusContext.isEqualTo(McpGalleryManifestStatus.Available), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceUrlConfig}`).negate(), ProductQualityContext.isEqualTo('stable'), ContextKeyDefinedExpr.create(`config.${mcpGalleryServiceEnablementConfig}`).negate()),
|
||||
weight: 40,
|
||||
diff --git a/src/vs/workbench/contrib/scm/browser/scm.contribution.ts b/src/vs/workbench/contrib/scm/browser/scm.contribution.ts
|
||||
index 8f2ea73..429e28f 100644
|
||||
--- a/src/vs/workbench/contrib/scm/browser/scm.contribution.ts
|
||||
+++ b/src/vs/workbench/contrib/scm/browser/scm.contribution.ts
|
||||
@@ -705,3 +705,3 @@ registerAction2(class extends Action2 {
|
||||
ChatContextKeys.Setup.disabled.negate(),
|
||||
- ChatContextKeys.Setup.installed.negate(),
|
||||
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
|
||||
ContextKeyExpr.in(ResourceContextKey.Resource.key, 'git.mergeChanges'),
|
||||
diff --git a/src/vs/workbench/contrib/scm/browser/scmInput.ts b/src/vs/workbench/contrib/scm/browser/scmInput.ts
|
||||
index a35d479..da5a449 100644
|
||||
--- a/src/vs/workbench/contrib/scm/browser/scmInput.ts
|
||||
+++ b/src/vs/workbench/contrib/scm/browser/scmInput.ts
|
||||
@@ -850,2 +850,3 @@ registerAction2(class extends Action2 {
|
||||
ChatContextKeys.Setup.disabled.negate(),
|
||||
+ ContextKeyExpr.has('config.chat.disableAIFeatures').negate(),
|
||||
ChatContextKeys.Setup.installed.negate(),
|
||||
128
patches/disable-missing-vsda.patch
Normal file
128
patches/disable-missing-vsda.patch
Normal file
@@ -0,0 +1,128 @@
|
||||
diff --git a/src/vs/platform/sign/browser/signService.ts b/src/vs/platform/sign/browser/signService.ts
|
||||
index c288b2e..8303040 100644
|
||||
--- a/src/vs/platform/sign/browser/signService.ts
|
||||
+++ b/src/vs/platform/sign/browser/signService.ts
|
||||
@@ -5,6 +5,2 @@
|
||||
|
||||
-import { importAMDNodeModule, resolveAmdNodeModulePath } from '../../../amdX.js';
|
||||
-import { WindowIntervalTimer } from '../../../base/browser/dom.js';
|
||||
-import { mainWindow } from '../../../base/browser/window.js';
|
||||
-import { memoize } from '../../../base/common/decorators.js';
|
||||
import { IProductService } from '../../product/common/productService.js';
|
||||
@@ -13,30 +9,4 @@ import { ISignService } from '../common/sign.js';
|
||||
|
||||
-declare namespace vsdaWeb {
|
||||
- export function sign(salted_message: string): string;
|
||||
-
|
||||
- // eslint-disable-next-line @typescript-eslint/naming-convention
|
||||
- export class validator {
|
||||
- free(): void;
|
||||
- constructor();
|
||||
- createNewMessage(original: string): string;
|
||||
- validate(signed_message: string): 'ok' | 'error';
|
||||
- }
|
||||
-
|
||||
- export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
|
||||
- export function init(module_or_path?: InitInput | Promise<InitInput>): Promise<unknown>;
|
||||
-}
|
||||
-
|
||||
-// Initialized if/when vsda is loaded
|
||||
-declare const vsda_web: {
|
||||
- default: typeof vsdaWeb.init;
|
||||
- sign: typeof vsdaWeb.sign;
|
||||
- validator: typeof vsdaWeb.validator;
|
||||
-};
|
||||
-
|
||||
-const KEY_SIZE = 32;
|
||||
-const IV_SIZE = 16;
|
||||
-const STEP_SIZE = KEY_SIZE + IV_SIZE;
|
||||
-
|
||||
export class SignService extends AbstractSignService implements ISignService {
|
||||
- constructor(@IProductService private readonly productService: IProductService) {
|
||||
+ constructor(@IProductService _productService: IProductService) {
|
||||
super();
|
||||
@@ -44,53 +14,7 @@ export class SignService extends AbstractSignService implements ISignService {
|
||||
protected override getValidator(): Promise<IVsdaValidator> {
|
||||
- return this.vsda().then(vsda => {
|
||||
- const v = new vsda.validator();
|
||||
- return {
|
||||
- createNewMessage: arg => v.createNewMessage(arg),
|
||||
- validate: arg => v.validate(arg),
|
||||
- dispose: () => v.free(),
|
||||
- };
|
||||
- });
|
||||
- }
|
||||
-
|
||||
- protected override signValue(arg: string): Promise<string> {
|
||||
- return this.vsda().then(vsda => vsda.sign(arg));
|
||||
- }
|
||||
-
|
||||
- @memoize
|
||||
- private async vsda(): Promise<typeof vsda_web> {
|
||||
- const checkInterval = new WindowIntervalTimer();
|
||||
- let [wasm] = await Promise.all([
|
||||
- this.getWasmBytes(),
|
||||
- new Promise<void>((resolve, reject) => {
|
||||
- importAMDNodeModule('vsda', 'rust/web/vsda.js').then(() => resolve(), reject);
|
||||
-
|
||||
- // todo@connor4312: there seems to be a bug(?) in vscode-loader with
|
||||
- // require() not resolving in web once the script loads, so check manually
|
||||
- checkInterval.cancelAndSet(() => {
|
||||
- if (typeof vsda_web !== 'undefined') {
|
||||
- resolve();
|
||||
- }
|
||||
- }, 50, mainWindow);
|
||||
- }).finally(() => checkInterval.dispose()),
|
||||
- ]);
|
||||
-
|
||||
- const keyBytes = new TextEncoder().encode(this.productService.serverLicense?.join('\n') || '');
|
||||
- for (let i = 0; i + STEP_SIZE < keyBytes.length; i += STEP_SIZE) {
|
||||
- const key = await crypto.subtle.importKey('raw', keyBytes.slice(i + IV_SIZE, i + IV_SIZE + KEY_SIZE), { name: 'AES-CBC' }, false, ['decrypt']);
|
||||
- wasm = await crypto.subtle.decrypt({ name: 'AES-CBC', iv: keyBytes.slice(i, i + IV_SIZE) }, key, wasm);
|
||||
- }
|
||||
-
|
||||
- await vsda_web.default(wasm);
|
||||
-
|
||||
- return vsda_web;
|
||||
+ throw new Error('error loading vsda');
|
||||
}
|
||||
|
||||
- private async getWasmBytes(): Promise<ArrayBuffer> {
|
||||
- const url = resolveAmdNodeModulePath('vsda', 'rust/web/vsda_bg.wasm');
|
||||
- const response = await fetch(url);
|
||||
- if (!response.ok) {
|
||||
- throw new Error('error loading vsda');
|
||||
- }
|
||||
-
|
||||
- return response.arrayBuffer();
|
||||
+ protected override signValue(_arg: string): Promise<string> {
|
||||
+ throw new Error('error loading vsda');
|
||||
}
|
||||
diff --git a/src/vs/server/node/remoteExtensionHostAgentServer.ts b/src/vs/server/node/remoteExtensionHostAgentServer.ts
|
||||
index 269cc38..a53fca9 100644
|
||||
--- a/src/vs/server/node/remoteExtensionHostAgentServer.ts
|
||||
+++ b/src/vs/server/node/remoteExtensionHostAgentServer.ts
|
||||
@@ -8,3 +8,2 @@ import type * as http from 'http';
|
||||
import * as net from 'net';
|
||||
-import { createRequire } from 'node:module';
|
||||
import { performance } from 'perf_hooks';
|
||||
@@ -41,3 +40,2 @@ import { setupServerServices, SocketServer } from './serverServices.js';
|
||||
import { CacheControl, serveError, serveFile, WebClientServer } from './webClientServer.js';
|
||||
-const require = createRequire(import.meta.url);
|
||||
|
||||
@@ -736,14 +734,3 @@ export async function createServer(address: string | net.AddressInfo | null, arg
|
||||
|
||||
- const vsdaMod = instantiationService.invokeFunction((accessor) => {
|
||||
- const logService = accessor.get(ILogService);
|
||||
- const hasVSDA = fs.existsSync(join(FileAccess.asFileUri('').fsPath, '../node_modules/vsda'));
|
||||
- if (hasVSDA) {
|
||||
- try {
|
||||
- return require('vsda');
|
||||
- } catch (err) {
|
||||
- logService.error(err);
|
||||
- }
|
||||
- }
|
||||
- return null;
|
||||
- });
|
||||
+ const vsdaMod = instantiationService.invokeFunction(() => null);
|
||||
|
||||
9
patches/disable-update.patch.yet
Normal file
9
patches/disable-update.patch.yet
Normal file
@@ -0,0 +1,9 @@
|
||||
diff --git a/src/vs/platform/update/common/update.config.contribution.ts b/src/vs/platform/update/common/update.config.contribution.ts
|
||||
index d96926b..43f5d90 100644
|
||||
--- a/src/vs/platform/update/common/update.config.contribution.ts
|
||||
+++ b/src/vs/platform/update/common/update.config.contribution.ts
|
||||
@@ -20,3 +20,3 @@ configurationRegistry.registerConfiguration({
|
||||
enum: ['none', 'manual', 'start', 'default'],
|
||||
- default: 'default',
|
||||
+ default: 'none',
|
||||
scope: ConfigurationScope.APPLICATION,
|
||||
187
patches/disable-vscodedev.patch
Normal file
187
patches/disable-vscodedev.patch
Normal file
@@ -0,0 +1,187 @@
|
||||
diff --git a/extensions/github/package.json b/extensions/github/package.json
|
||||
index bce90fe..73debf7 100644
|
||||
--- a/extensions/github/package.json
|
||||
+++ b/extensions/github/package.json
|
||||
@@ -45,19 +45,2 @@
|
||||
},
|
||||
- {
|
||||
- "command": "github.copyVscodeDevLink",
|
||||
- "title": "%command.copyVscodeDevLink%"
|
||||
- },
|
||||
- {
|
||||
- "command": "github.copyVscodeDevLinkFile",
|
||||
- "title": "%command.copyVscodeDevLink%"
|
||||
- },
|
||||
- {
|
||||
- "command": "github.copyVscodeDevLinkWithoutRange",
|
||||
- "title": "%command.copyVscodeDevLink%"
|
||||
- },
|
||||
- {
|
||||
- "command": "github.openOnVscodeDev",
|
||||
- "title": "%command.openOnVscodeDev%",
|
||||
- "icon": "$(globe)"
|
||||
- },
|
||||
{
|
||||
@@ -83,11 +66,2 @@
|
||||
],
|
||||
- "continueEditSession": [
|
||||
- {
|
||||
- "command": "github.openOnVscodeDev",
|
||||
- "when": "github.hasGitHubRepo",
|
||||
- "qualifiedName": "Continue Working in vscode.dev",
|
||||
- "category": "Remote Repositories",
|
||||
- "remoteGroup": "virtualfs_44_vscode-vfs_2_web@2"
|
||||
- }
|
||||
- ],
|
||||
"menus": {
|
||||
@@ -110,18 +84,2 @@
|
||||
},
|
||||
- {
|
||||
- "command": "github.copyVscodeDevLink",
|
||||
- "when": "false"
|
||||
- },
|
||||
- {
|
||||
- "command": "github.copyVscodeDevLinkFile",
|
||||
- "when": "false"
|
||||
- },
|
||||
- {
|
||||
- "command": "github.copyVscodeDevLinkWithoutRange",
|
||||
- "when": "false"
|
||||
- },
|
||||
- {
|
||||
- "command": "github.openOnVscodeDev",
|
||||
- "when": "false"
|
||||
- },
|
||||
{
|
||||
@@ -131,42 +89,2 @@
|
||||
],
|
||||
- "file/share": [
|
||||
- {
|
||||
- "command": "github.copyVscodeDevLinkFile",
|
||||
- "when": "github.hasGitHubRepo && remoteName != 'codespaces'",
|
||||
- "group": "0_vscode@0"
|
||||
- }
|
||||
- ],
|
||||
- "editor/context/share": [
|
||||
- {
|
||||
- "command": "github.copyVscodeDevLink",
|
||||
- "when": "github.hasGitHubRepo && resourceScheme != untitled && !isInEmbeddedEditor && remoteName != 'codespaces'",
|
||||
- "group": "0_vscode@0"
|
||||
- }
|
||||
- ],
|
||||
- "explorer/context/share": [
|
||||
- {
|
||||
- "command": "github.copyVscodeDevLinkWithoutRange",
|
||||
- "when": "github.hasGitHubRepo && resourceScheme != untitled && !isInEmbeddedEditor && remoteName != 'codespaces'",
|
||||
- "group": "0_vscode@0"
|
||||
- }
|
||||
- ],
|
||||
- "editor/lineNumber/context": [
|
||||
- {
|
||||
- "command": "github.copyVscodeDevLink",
|
||||
- "when": "github.hasGitHubRepo && resourceScheme != untitled && activeEditor == workbench.editors.files.textFileEditor && config.editor.lineNumbers == on && remoteName != 'codespaces'",
|
||||
- "group": "1_cutcopypaste@2"
|
||||
- },
|
||||
- {
|
||||
- "command": "github.copyVscodeDevLink",
|
||||
- "when": "github.hasGitHubRepo && resourceScheme != untitled && activeEditor == workbench.editor.notebook && remoteName != 'codespaces'",
|
||||
- "group": "1_cutcopypaste@2"
|
||||
- }
|
||||
- ],
|
||||
- "editor/title/context/share": [
|
||||
- {
|
||||
- "command": "github.copyVscodeDevLinkWithoutRange",
|
||||
- "when": "github.hasGitHubRepo && resourceScheme != untitled && remoteName != 'codespaces'",
|
||||
- "group": "0_vscode@0"
|
||||
- }
|
||||
- ],
|
||||
"scm/historyItem/context": [
|
||||
diff --git a/extensions/github/src/commands.ts b/extensions/github/src/commands.ts
|
||||
index 33acf5a..107e94a 100644
|
||||
--- a/extensions/github/src/commands.ts
|
||||
+++ b/extensions/github/src/commands.ts
|
||||
@@ -9,30 +9,5 @@ import { publishRepository } from './publish.js';
|
||||
import { DisposableStore, getRepositoryFromUrl } from './util.js';
|
||||
-import { LinkContext, getCommitLink, getLink, getVscodeDevHost } from './links.js';
|
||||
+import { getCommitLink } from './links.js';
|
||||
import { getOctokit } from './auth.js';
|
||||
|
||||
-async function copyVscodeDevLink(gitAPI: GitAPI, useSelection: boolean, context: LinkContext, includeRange = true) {
|
||||
- try {
|
||||
- const permalink = await getLink(gitAPI, useSelection, true, getVscodeDevHost(), 'headlink', context, includeRange);
|
||||
- if (permalink) {
|
||||
- return vscode.env.clipboard.writeText(permalink);
|
||||
- }
|
||||
- } catch (err) {
|
||||
- if (!(err instanceof vscode.CancellationError)) {
|
||||
- vscode.window.showErrorMessage(err.message);
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-async function openVscodeDevLink(gitAPI: GitAPI): Promise<vscode.Uri | undefined> {
|
||||
- try {
|
||||
- const headlink = await getLink(gitAPI, true, false, getVscodeDevHost(), 'headlink');
|
||||
- return headlink ? vscode.Uri.parse(headlink) : undefined;
|
||||
- } catch (err) {
|
||||
- if (!(err instanceof vscode.CancellationError)) {
|
||||
- vscode.window.showErrorMessage(err.message);
|
||||
- }
|
||||
- return undefined;
|
||||
- }
|
||||
-}
|
||||
-
|
||||
interface ResolvedSessionRepo {
|
||||
@@ -210,14 +185,2 @@ export function registerCommands(gitAPI: GitAPI): vscode.Disposable {
|
||||
|
||||
- disposables.add(vscode.commands.registerCommand('github.copyVscodeDevLink', async (context: LinkContext) => {
|
||||
- return copyVscodeDevLink(gitAPI, true, context);
|
||||
- }));
|
||||
-
|
||||
- disposables.add(vscode.commands.registerCommand('github.copyVscodeDevLinkFile', async (context: LinkContext) => {
|
||||
- return copyVscodeDevLink(gitAPI, false, context);
|
||||
- }));
|
||||
-
|
||||
- disposables.add(vscode.commands.registerCommand('github.copyVscodeDevLinkWithoutRange', async (context: LinkContext) => {
|
||||
- return copyVscodeDevLink(gitAPI, true, context, false);
|
||||
- }));
|
||||
-
|
||||
disposables.add(vscode.commands.registerCommand('github.openOnGitHub', async (url: string, historyItemId: string) => {
|
||||
@@ -253,6 +216,2 @@ export function registerCommands(gitAPI: GitAPI): vscode.Disposable {
|
||||
|
||||
- disposables.add(vscode.commands.registerCommand('github.openOnVscodeDev', async () => {
|
||||
- return openVscodeDevLink(gitAPI);
|
||||
- }));
|
||||
-
|
||||
disposables.add(vscode.commands.registerCommand('github.createPullRequest', async (sessionResource: vscode.Uri | undefined, sessionMetadata: { worktreePath?: string } | undefined) => {
|
||||
diff --git a/extensions/github/src/extension.ts b/extensions/github/src/extension.ts
|
||||
index 17906c5..86a0ca8 100644
|
||||
--- a/extensions/github/src/extension.ts
|
||||
+++ b/extensions/github/src/extension.ts
|
||||
@@ -17,3 +17,2 @@ import { GitHubBranchProtectionProviderManager } from './branchProtection.js';
|
||||
import { GitHubCanonicalUriProvider } from './canonicalUriProvider.js';
|
||||
-import { VscodeDevShareProvider } from './shareProviders.js';
|
||||
import { GitHubSourceControlHistoryItemDetailsProvider } from './historyItemDetailsProvider.js';
|
||||
@@ -109,3 +108,2 @@ function initializeGitExtension(context: ExtensionContext, octokitService: Octok
|
||||
disposables.add(new GitHubCanonicalUriProvider(gitAPI));
|
||||
- disposables.add(new VscodeDevShareProvider(gitAPI));
|
||||
setGitHubContext(gitAPI, disposables);
|
||||
diff --git a/extensions/github/src/remoteSourceProvider.ts b/extensions/github/src/remoteSourceProvider.ts
|
||||
index bed2bb1..2880f97 100644
|
||||
--- a/extensions/github/src/remoteSourceProvider.ts
|
||||
+++ b/extensions/github/src/remoteSourceProvider.ts
|
||||
@@ -10,3 +10,3 @@ import { Octokit } from '@octokit/rest';
|
||||
import { getRepositoryFromQuery, getRepositoryFromUrl } from './util.js';
|
||||
-import { getBranchLink, getVscodeDevHost } from './links.js';
|
||||
+import { getBranchLink } from './links.js';
|
||||
|
||||
@@ -137,9 +137,2 @@ export class GithubRemoteSourceProvider implements RemoteSourceProvider {
|
||||
}
|
||||
- }, {
|
||||
- label: l10n.t('Checkout on vscode.dev'),
|
||||
- icon: 'globe',
|
||||
- run(branch: string) {
|
||||
- const link = getBranchLink(url, branch, getVscodeDevHost());
|
||||
- env.openExternal(Uri.parse(link));
|
||||
- }
|
||||
}];
|
||||
@@ -1,15 +1,5 @@
|
||||
diff --git a/build/lib/builtInExtensions.js b/build/lib/builtInExtensions.js
|
||||
index 249777c..129af8a 100644
|
||||
--- a/build/lib/builtInExtensions.js
|
||||
+++ b/build/lib/builtInExtensions.js
|
||||
@@ -87,5 +87,2 @@ function getExtensionDownloadStream(extension) {
|
||||
}
|
||||
- else if (productjson.extensionsGallery?.serviceUrl) {
|
||||
- input = ext.fromMarketplace(productjson.extensionsGallery.serviceUrl, extension);
|
||||
- }
|
||||
else {
|
||||
diff --git a/build/lib/builtInExtensions.ts b/build/lib/builtInExtensions.ts
|
||||
index e9a1180..b8348e3 100644
|
||||
index d52567b..fe5b988 100644
|
||||
--- a/build/lib/builtInExtensions.ts
|
||||
+++ b/build/lib/builtInExtensions.ts
|
||||
@@ -75,4 +75,2 @@ function getExtensionDownloadStream(extension: IExtensionDefinition) {
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
--- vscode-1.80.1/extensions/mangle-loader.js.old 2023-07-12 18:45:52.000000000 +0200
|
||||
+++ vscode-1.80.1/extensions/mangle-loader.js 2023-07-28 11:55:01.177444702 +0200
|
||||
@@ -37,7 +37,7 @@ function getMangledFileContents(projectP
|
||||
* @type {webpack.LoaderDefinitionFunction}
|
||||
*/
|
||||
module.exports = async function (source, sourceMap, meta) {
|
||||
- if (this.mode !== 'production') {
|
||||
+ if (true) {
|
||||
// Only enable mangling in production builds
|
||||
return source;
|
||||
}
|
||||
167
patches/feat-command-filter.patch
Normal file
167
patches/feat-command-filter.patch
Normal file
@@ -0,0 +1,167 @@
|
||||
diff --git a/src/vs/workbench/contrib/commands/common/commands.contribution.ts b/src/vs/workbench/contrib/commands/common/commands.contribution.ts
|
||||
index 3fd6b59..97a0e04 100644
|
||||
--- a/src/vs/workbench/contrib/commands/common/commands.contribution.ts
|
||||
+++ b/src/vs/workbench/contrib/commands/common/commands.contribution.ts
|
||||
@@ -9,2 +9,3 @@ import { Action2, registerAction2 } from '../../../../platform/actions/common/ac
|
||||
import { ICommandService } from '../../../../platform/commands/common/commands.js';
|
||||
+import { ConfigurationScope, IConfigurationRegistry } from '../../../../platform/configuration/common/configurationRegistry.js';
|
||||
import { ServicesAccessor } from '../../../../platform/instantiation/common/instantiation.js';
|
||||
@@ -12,2 +13,3 @@ import { ILogService } from '../../../../platform/log/common/log.js';
|
||||
import { INotificationService } from '../../../../platform/notification/common/notification.js';
|
||||
+import { Registry } from '../../../../platform/registry/common/platform.js';
|
||||
|
||||
@@ -156,2 +158,30 @@ class RunCommands extends Action2 {
|
||||
|
||||
+Registry.as<IConfigurationRegistry>('base.contributions.configuration')
|
||||
+ .registerConfiguration({
|
||||
+ id: 'commands',
|
||||
+ order: 30,
|
||||
+ title: nls.localize('commandsConfigurationTitle', "Commands"),
|
||||
+ type: 'object',
|
||||
+ properties: {
|
||||
+ 'commands.filters': {
|
||||
+ additionalProperties: {
|
||||
+ type: 'string',
|
||||
+ enum: ['ask', 'off', 'on'],
|
||||
+ enumDescriptions: [
|
||||
+ nls.localize('commands.filters.ask', 'Ask the user before executing the command.'),
|
||||
+ nls.localize('commands.filters.off', 'The command is never authorized.'),
|
||||
+ nls.localize('commands.filters.on', 'The command is always authorized.'),
|
||||
+ ],
|
||||
+ description: nls.localize('commands.filters.value', "Authorization for the command."),
|
||||
+ },
|
||||
+ description: nls.localize('commands.filters', "Controls which commands are authorized to be executed."),
|
||||
+ default: {
|
||||
+ 'workbench.action.terminal.newLocal': 'off'
|
||||
+ },
|
||||
+ scope: ConfigurationScope.APPLICATION,
|
||||
+ tags: []
|
||||
+ },
|
||||
+ }
|
||||
+ });
|
||||
+
|
||||
registerAction2(RunCommands);
|
||||
diff --git a/src/vs/workbench/services/commands/common/commandService.ts b/src/vs/workbench/services/commands/common/commandService.ts
|
||||
index 93d1631..0533cf0 100644
|
||||
--- a/src/vs/workbench/services/commands/common/commandService.ts
|
||||
+++ b/src/vs/workbench/services/commands/common/commandService.ts
|
||||
@@ -8,3 +8,6 @@ import { Emitter, Event } from '../../../../base/common/event.js';
|
||||
import { Disposable } from '../../../../base/common/lifecycle.js';
|
||||
+import Severity from '../../../../base/common/severity.js';
|
||||
import { CommandsRegistry, ICommandEvent, ICommandService } from '../../../../platform/commands/common/commands.js';
|
||||
+import { IConfigurationService } from '../../../../platform/configuration/common/configuration.js';
|
||||
+import { IDialogService } from '../../../../platform/dialogs/common/dialogs.js';
|
||||
import { InstantiationType, registerSingleton } from '../../../../platform/instantiation/common/extensions.js';
|
||||
@@ -20,2 +23,3 @@ export class CommandService extends Disposable implements ICommandService {
|
||||
private _starActivation: CancelablePromise<void> | null;
|
||||
+ private _commandFilters: Record<string, "ask" | "off" | "on">
|
||||
|
||||
@@ -30,3 +34,5 @@ export class CommandService extends Disposable implements ICommandService {
|
||||
@IExtensionService private readonly _extensionService: IExtensionService,
|
||||
- @ILogService private readonly _logService: ILogService
|
||||
+ @ILogService private readonly _logService: ILogService,
|
||||
+ @IConfigurationService private readonly _configurationService: IConfigurationService,
|
||||
+ @IDialogService private readonly _dialogService: IDialogService
|
||||
) {
|
||||
@@ -35,2 +41,9 @@ export class CommandService extends Disposable implements ICommandService {
|
||||
this._starActivation = null;
|
||||
+ this._commandFilters = this._configurationService.getValue('commands.filters') ?? { 'workbench.action.terminal.newLocal': 'off' };
|
||||
+
|
||||
+ this._configurationService.onDidChangeConfiguration(async (event) => {
|
||||
+ if (event.affectsConfiguration('commands.filters')) {
|
||||
+ this._commandFilters = this._configurationService.getValue('commands.filters') ?? { 'workbench.action.terminal.newLocal': 'off' };
|
||||
+ }
|
||||
+ })
|
||||
}
|
||||
@@ -57,2 +70,27 @@ export class CommandService extends Disposable implements ICommandService {
|
||||
|
||||
+ const filter = this._commandFilters[id];
|
||||
+ if (filter === 'off') {
|
||||
+ return Promise.reject(new Error(`command '${id}' not authorized`));
|
||||
+ }
|
||||
+ else if (filter === 'ask') {
|
||||
+ const { result } = await this._dialogService.prompt({
|
||||
+ type: Severity.Error,
|
||||
+ message: `Are you sure you want to execute the command "${id}"?`,
|
||||
+ buttons: [
|
||||
+ {
|
||||
+ label: 'Yes',
|
||||
+ run: () => true
|
||||
+ },
|
||||
+ {
|
||||
+ label: 'No',
|
||||
+ run: () => false
|
||||
+ }
|
||||
+ ],
|
||||
+ });
|
||||
+
|
||||
+ if (!result) {
|
||||
+ return Promise.reject(new Error(`command '${id}' not authorized`));
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
if (commandIsRegistered) {
|
||||
diff --git a/src/vs/workbench/services/commands/test/common/commandService.test.ts b/src/vs/workbench/services/commands/test/common/commandService.test.ts
|
||||
index ca3be11..fb456a3 100644
|
||||
--- a/src/vs/workbench/services/commands/test/common/commandService.test.ts
|
||||
+++ b/src/vs/workbench/services/commands/test/common/commandService.test.ts
|
||||
@@ -12,2 +12,7 @@ import { NullExtensionService } from '../../../extensions/common/extensions.js';
|
||||
import { CommandService } from '../../common/commandService.js';
|
||||
+import { NullPolicyService } from '../../../../../platform/policy/common/policy.js';
|
||||
+import { FileService } from '../../../../../platform/files/common/fileService.js';
|
||||
+import { URI } from '../../../../../base/common/uri.js';
|
||||
+import { ConfigurationService } from '../../../../../platform/configuration/common/configurationService.js';
|
||||
+import { TestDialogService } from '../../../../../platform/dialogs/test/common/testDialogService.js';
|
||||
|
||||
@@ -16,4 +21,16 @@ suite('CommandService', function () {
|
||||
const store = ensureNoDisposablesAreLeakedInTestSuite();
|
||||
+ const testDisposables = ensureNoDisposablesAreLeakedInTestSuite();
|
||||
+ let nullConfigService: ConfigurationService
|
||||
|
||||
setup(function () {
|
||||
+ const nullPolicyService = new NullPolicyService();
|
||||
+ const nullLogService = testDisposables.add(new NullLogService());
|
||||
+ const nullFileService = testDisposables.add(new FileService(nullLogService));
|
||||
+ nullConfigService = testDisposables.add(new ConfigurationService(
|
||||
+ URI.file('/config.json'),
|
||||
+ nullFileService,
|
||||
+ nullPolicyService,
|
||||
+ nullLogService,
|
||||
+ ));
|
||||
+
|
||||
store.add(CommandsRegistry.registerCommand('foo', function () { }));
|
||||
@@ -30,3 +47,3 @@ suite('CommandService', function () {
|
||||
}
|
||||
- }, new NullLogService()));
|
||||
+ }, new NullLogService(), nullConfigService, new TestDialogService()));
|
||||
|
||||
@@ -50,3 +67,3 @@ suite('CommandService', function () {
|
||||
|
||||
- const service = store.add(new CommandService(new InstantiationService(), extensionService, new NullLogService()));
|
||||
+ const service = store.add(new CommandService(new InstantiationService(), extensionService, new NullLogService(), nullConfigService, new TestDialogService()));
|
||||
|
||||
@@ -68,3 +85,3 @@ suite('CommandService', function () {
|
||||
}
|
||||
- }, new NullLogService()));
|
||||
+ }, new NullLogService(), nullConfigService, new TestDialogService()));
|
||||
|
||||
@@ -85,3 +102,3 @@ suite('CommandService', function () {
|
||||
}
|
||||
- }, new NullLogService()));
|
||||
+ }, new NullLogService(), nullConfigService, new TestDialogService()));
|
||||
|
||||
@@ -125,3 +142,3 @@ suite('CommandService', function () {
|
||||
|
||||
- }, new NullLogService()));
|
||||
+ }, new NullLogService(), nullConfigService, new TestDialogService()));
|
||||
|
||||
@@ -166,3 +183,3 @@ suite('CommandService', function () {
|
||||
|
||||
- }, new NullLogService()));
|
||||
+ }, new NullLogService(), nullConfigService, new TestDialogService()));
|
||||
|
||||
@@ -187,3 +204,3 @@ suite('CommandService', function () {
|
||||
};
|
||||
- const service = store.add(new CommandService(new InstantiationService(), extensionService, new NullLogService()));
|
||||
+ const service = store.add(new CommandService(new InstantiationService(), extensionService, new NullLogService(), nullConfigService, new TestDialogService()));
|
||||
|
||||
3990
patches/feat-experimental-font.patch
Normal file
3990
patches/feat-experimental-font.patch
Normal file
File diff suppressed because it is too large
Load Diff
107
patches/feat-user-product.patch
Normal file
107
patches/feat-user-product.patch
Normal file
@@ -0,0 +1,107 @@
|
||||
diff --git a/src/cli.ts b/src/cli.ts
|
||||
index b643e34..2f228ef 100644
|
||||
--- a/src/cli.ts
|
||||
+++ b/src/cli.ts
|
||||
@@ -5,2 +5,4 @@
|
||||
|
||||
+import * as path from 'node:path';
|
||||
+import { createRequire } from 'node:module';
|
||||
import './bootstrap-cli.js'; // this MUST come before other imports as it changes global state
|
||||
@@ -10,3 +12,5 @@ import { resolveNLSConfiguration } from './vs/base/node/nls.js';
|
||||
import { product } from './bootstrap-meta.js';
|
||||
+import { getUserDataPath } from './vs/platform/environment/node/userDataPath.js';
|
||||
|
||||
+const require = createRequire(import.meta.url);
|
||||
// NLS
|
||||
@@ -21,2 +25,4 @@ process.env['VSCODE_CLI'] = '1';
|
||||
|
||||
+resolveUserProduct();
|
||||
+
|
||||
// Bootstrap ESM
|
||||
@@ -26 +32,14 @@ await bootstrapESM();
|
||||
await import('./vs/code/node/cli.js');
|
||||
+
|
||||
+function resolveUserProduct() {
|
||||
+ const userDataPath = getUserDataPath({_:[]}, product.nameShort ?? 'code-oss-dev');
|
||||
+ const userProductPath = path.join(userDataPath, 'product.json');
|
||||
+
|
||||
+ try {
|
||||
+ // Assign the product configuration to the global scope
|
||||
+ const productJson = require(userProductPath);
|
||||
+
|
||||
+ globalThis._VSCODE_USER_PRODUCT_JSON = productJson;
|
||||
+ } catch (ex) {
|
||||
+ }
|
||||
+}
|
||||
\ No newline at end of file
|
||||
diff --git a/src/main.ts b/src/main.ts
|
||||
index ec188d0..0160be6 100644
|
||||
--- a/src/main.ts
|
||||
+++ b/src/main.ts
|
||||
@@ -8,2 +8,3 @@ import * as fs from 'original-fs';
|
||||
import * as os from 'node:os';
|
||||
+import { createRequire } from 'node:module';
|
||||
import { performance } from 'node:perf_hooks';
|
||||
@@ -22,2 +23,4 @@ import { NativeParsedArgs } from './vs/platform/environment/common/argv.js';
|
||||
|
||||
+const require = createRequire(import.meta.url);
|
||||
+
|
||||
perf.mark('code/didStartMain');
|
||||
@@ -109,2 +112,14 @@ registerListeners();
|
||||
|
||||
+function resolveUserProduct() {
|
||||
+ const userProductPath = path.join(userDataPath, 'product.json');
|
||||
+
|
||||
+ try {
|
||||
+ // Assign the product configuration to the global scope
|
||||
+ const productJson = require(userProductPath);
|
||||
+
|
||||
+ globalThis._VSCODE_USER_PRODUCT_JSON = productJson;
|
||||
+ } catch (ex) {
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
/**
|
||||
@@ -205,2 +220,3 @@ async function startup(codeCachePath: string | undefined, nlsConfig: INLSConfigu
|
||||
process.env['VSCODE_CODE_CACHE_PATH'] = codeCachePath || '';
|
||||
+ resolveUserProduct();
|
||||
|
||||
diff --git a/src/typings/vscode-globals-product.d.ts b/src/typings/vscode-globals-product.d.ts
|
||||
index ab169bd..2155f5c 100644
|
||||
--- a/src/typings/vscode-globals-product.d.ts
|
||||
+++ b/src/typings/vscode-globals-product.d.ts
|
||||
@@ -43,2 +43,4 @@ declare global {
|
||||
var _VSCODE_USE_RELATIVE_IMPORTS: boolean | undefined;
|
||||
+
|
||||
+ var _VSCODE_USER_PRODUCT_JSON: Record<string, any>;
|
||||
}
|
||||
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
|
||||
index 6f093e9..b63af55 100644
|
||||
--- a/src/vs/platform/product/common/product.ts
|
||||
+++ b/src/vs/platform/product/common/product.ts
|
||||
@@ -31,2 +31,25 @@ else if (globalThis._VSCODE_PRODUCT_JSON && globalThis._VSCODE_PACKAGE_JSON) {
|
||||
|
||||
+ // Merge user-customized product.json
|
||||
+ try {
|
||||
+ const merge = (...objects: any[]) =>
|
||||
+ objects.reduce((result, current) => {
|
||||
+ Object.keys(current).forEach((key) => {
|
||||
+ if (Array.isArray(result[key]) && Array.isArray(current[key])) {
|
||||
+ result[key] = current[key];
|
||||
+ } else if (typeof result[key] === 'object' && typeof current[key] === 'object') {
|
||||
+ result[key] = merge(result[key], current[key]);
|
||||
+ } else {
|
||||
+ result[key] = current[key];
|
||||
+ }
|
||||
+ });
|
||||
+
|
||||
+ return result;
|
||||
+ }, {}) as any;
|
||||
+
|
||||
+ const userProduct = globalThis._VSCODE_USER_PRODUCT_JSON || {};
|
||||
+
|
||||
+ product = merge(product, userProduct);
|
||||
+ } catch (ex) {
|
||||
+ }
|
||||
+
|
||||
// Running out of sources
|
||||
364
patches/fix-build-vsce.patch
Normal file
364
patches/fix-build-vsce.patch
Normal file
@@ -0,0 +1,364 @@
|
||||
diff --git a/build/.moduleignore b/build/.moduleignore
|
||||
index ed36151..022d6ed 100644
|
||||
--- a/build/.moduleignore
|
||||
+++ b/build/.moduleignore
|
||||
@@ -82,7 +82,7 @@ native-is-elevated/deps/**
|
||||
|
||||
-@vscode/vsce-sign/**
|
||||
-!@vscode/vsce-sign/src/main.d.ts
|
||||
-!@vscode/vsce-sign/src/main.js
|
||||
-!@vscode/vsce-sign/package.json
|
||||
-!@vscode/vsce-sign/bin/**
|
||||
+@vscodium/vsce-sign/**
|
||||
+!@vscodium/vsce-sign/src/main.d.ts
|
||||
+!@vscodium/vsce-sign/src/main.js
|
||||
+!@vscodium/vsce-sign/package.json
|
||||
+!@vscodium/vsce-sign/bin/**
|
||||
|
||||
diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts
|
||||
index 187726c..076f08b 100644
|
||||
--- a/build/gulpfile.vscode.ts
|
||||
+++ b/build/gulpfile.vscode.ts
|
||||
@@ -449,3 +449,3 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d
|
||||
'**/*.wasm',
|
||||
- '**/@vscode/vsce-sign/bin/*',
|
||||
+ '**/@vscodium/vsce-sign/bin/*',
|
||||
], [
|
||||
diff --git a/build/lib/extensions.ts b/build/lib/extensions.ts
|
||||
index aacf25c..c4b0391 100644
|
||||
--- a/build/lib/extensions.ts
|
||||
+++ b/build/lib/extensions.ts
|
||||
@@ -116,3 +116,3 @@ export function typeCheckExtensionStream(extensionPath: string, forWeb: boolean)
|
||||
function fromLocalNormal(extensionPath: string): Stream {
|
||||
- const vsce = require('@vscode/vsce') as typeof import('@vscode/vsce');
|
||||
+ const vsce = require('@vscodium/vsce') as typeof import('@vscodium/vsce');
|
||||
const result = es.through();
|
||||
@@ -138,3 +138,3 @@ function fromLocalNormal(extensionPath: string): Stream {
|
||||
function fromLocalEsbuild(extensionPath: string, esbuildConfigFileName: string): Stream {
|
||||
- const vsce = require('@vscode/vsce') as typeof import('@vscode/vsce');
|
||||
+ const vsce = require('@vscodium/vsce') as typeof import('@vscodium/vsce');
|
||||
const result = es.through();
|
||||
diff --git a/build/package-lock.json b/build/package-lock.json
|
||||
index 644e16f..fac5de0 100644
|
||||
--- a/build/package-lock.json
|
||||
+++ b/build/package-lock.json
|
||||
@@ -51,3 +51,3 @@
|
||||
"@vscode/ripgrep": "^1.17.1",
|
||||
- "@vscode/vsce": "3.6.1",
|
||||
+ "@vscodium/vsce": "3.6.1-258428",
|
||||
"ansi-colors": "^3.2.3",
|
||||
@@ -1941,6 +1941,45 @@
|
||||
},
|
||||
- "node_modules/@vscode/vsce": {
|
||||
- "version": "3.6.1",
|
||||
- "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.6.1.tgz",
|
||||
- "integrity": "sha512-UXtMgeCBl/t5zjn1TX1v1sl5L/oIv3Xc3pkKPGzaqeFCIkp5+wfFFDBXTWDt3d5uUulHnZKORHkMIsKNe9+k5A==",
|
||||
+ "node_modules/@vscode/vsce/node_modules/balanced-match": {
|
||||
+ "version": "4.0.4",
|
||||
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
|
||||
+ "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
|
||||
+ "extraneous": true,
|
||||
+ "license": "MIT",
|
||||
+ "engines": {
|
||||
+ "node": "18 || 20 || >=22"
|
||||
+ }
|
||||
+ },
|
||||
+ "node_modules/@vscode/vsce/node_modules/brace-expansion": {
|
||||
+ "version": "5.0.4",
|
||||
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.4.tgz",
|
||||
+ "integrity": "sha512-h+DEnpVvxmfVefa4jFbCf5HdH5YMDXRsmKflpf1pILZWRFlTbJpxeU55nJl4Smt5HQaGzg1o6RHFPJaOqnmBDg==",
|
||||
+ "extraneous": true,
|
||||
+ "license": "MIT",
|
||||
+ "dependencies": {
|
||||
+ "balanced-match": "^4.0.2"
|
||||
+ },
|
||||
+ "engines": {
|
||||
+ "node": "18 || 20 || >=22"
|
||||
+ }
|
||||
+ },
|
||||
+ "node_modules/@vscode/vsce/node_modules/glob/node_modules/minimatch": {
|
||||
+ "version": "10.2.4",
|
||||
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz",
|
||||
+ "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==",
|
||||
+ "extraneous": true,
|
||||
+ "license": "BlueOak-1.0.0",
|
||||
+ "dependencies": {
|
||||
+ "brace-expansion": "^5.0.2"
|
||||
+ },
|
||||
+ "engines": {
|
||||
+ "node": "18 || 20 || >=22"
|
||||
+ },
|
||||
+ "funding": {
|
||||
+ "url": "https://github.com/sponsors/isaacs"
|
||||
+ }
|
||||
+ },
|
||||
+ "node_modules/@vscodium/vsce": {
|
||||
+ "version": "3.6.1-258428",
|
||||
+ "resolved": "https://registry.npmjs.org/@vscodium/vsce/-/vsce-3.6.1-258428.tgz",
|
||||
+ "integrity": "sha512-B2uys5YU5MGNmzQPHsMsRXxzlQvZanhxE8Sfkd4Sr/LBN9BaV5yhMCppV7jyLUOQajj9K3YZThLqUYm4CCBy3A==",
|
||||
"dev": true,
|
||||
@@ -1953,3 +1992,2 @@
|
||||
"@secretlint/secretlint-rule-preset-recommend": "^10.1.2",
|
||||
- "@vscode/vsce-sign": "^2.0.0",
|
||||
"azure-devops-node-api": "^12.5.0",
|
||||
@@ -1988,148 +2026,3 @@
|
||||
},
|
||||
- "node_modules/@vscode/vsce-sign": {
|
||||
- "version": "2.0.7",
|
||||
- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign/-/vsce-sign-2.0.7.tgz",
|
||||
- "integrity": "sha512-cz0GFW8qCxpypOy3y509u26K1FIPMlDIHBwGmDyvEbgoma2v3y5YIHHuijr8zCYBp9kzCCOJd28s/0PG7cA7ew==",
|
||||
- "dev": true,
|
||||
- "hasInstallScript": true,
|
||||
- "license": "SEE LICENSE IN LICENSE.txt",
|
||||
- "optionalDependencies": {
|
||||
- "@vscode/vsce-sign-alpine-arm64": "2.0.6",
|
||||
- "@vscode/vsce-sign-alpine-x64": "2.0.6",
|
||||
- "@vscode/vsce-sign-darwin-arm64": "2.0.6",
|
||||
- "@vscode/vsce-sign-darwin-x64": "2.0.6",
|
||||
- "@vscode/vsce-sign-linux-arm": "2.0.6",
|
||||
- "@vscode/vsce-sign-linux-arm64": "2.0.6",
|
||||
- "@vscode/vsce-sign-linux-x64": "2.0.6",
|
||||
- "@vscode/vsce-sign-win32-arm64": "2.0.6",
|
||||
- "@vscode/vsce-sign-win32-x64": "2.0.6"
|
||||
- }
|
||||
- },
|
||||
- "node_modules/@vscode/vsce-sign-alpine-arm64": {
|
||||
- "version": "2.0.6",
|
||||
- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-alpine-arm64/-/vsce-sign-alpine-arm64-2.0.6.tgz",
|
||||
- "integrity": "sha512-wKkJBsvKF+f0GfsUuGT0tSW0kZL87QggEiqNqK6/8hvqsXvpx8OsTEc3mnE1kejkh5r+qUyQ7PtF8jZYN0mo8Q==",
|
||||
- "cpu": [
|
||||
- "arm64"
|
||||
- ],
|
||||
- "dev": true,
|
||||
- "license": "SEE LICENSE IN LICENSE.txt",
|
||||
- "optional": true,
|
||||
- "os": [
|
||||
- "alpine"
|
||||
- ]
|
||||
- },
|
||||
- "node_modules/@vscode/vsce-sign-alpine-x64": {
|
||||
- "version": "2.0.6",
|
||||
- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-alpine-x64/-/vsce-sign-alpine-x64-2.0.6.tgz",
|
||||
- "integrity": "sha512-YoAGlmdK39vKi9jA18i4ufBbd95OqGJxRvF3n6ZbCyziwy3O+JgOpIUPxv5tjeO6gQfx29qBivQ8ZZTUF2Ba0w==",
|
||||
- "cpu": [
|
||||
- "x64"
|
||||
- ],
|
||||
- "dev": true,
|
||||
- "license": "SEE LICENSE IN LICENSE.txt",
|
||||
- "optional": true,
|
||||
- "os": [
|
||||
- "alpine"
|
||||
- ]
|
||||
- },
|
||||
- "node_modules/@vscode/vsce-sign-darwin-arm64": {
|
||||
- "version": "2.0.6",
|
||||
- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-darwin-arm64/-/vsce-sign-darwin-arm64-2.0.6.tgz",
|
||||
- "integrity": "sha512-5HMHaJRIQuozm/XQIiJiA0W9uhdblwwl2ZNDSSAeXGO9YhB9MH5C4KIHOmvyjUnKy4UCuiP43VKpIxW1VWP4tQ==",
|
||||
- "cpu": [
|
||||
- "arm64"
|
||||
- ],
|
||||
- "dev": true,
|
||||
- "license": "SEE LICENSE IN LICENSE.txt",
|
||||
- "optional": true,
|
||||
- "os": [
|
||||
- "darwin"
|
||||
- ]
|
||||
- },
|
||||
- "node_modules/@vscode/vsce-sign-darwin-x64": {
|
||||
- "version": "2.0.6",
|
||||
- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-darwin-x64/-/vsce-sign-darwin-x64-2.0.6.tgz",
|
||||
- "integrity": "sha512-25GsUbTAiNfHSuRItoQafXOIpxlYj+IXb4/qarrXu7kmbH94jlm5sdWSCKrrREs8+GsXF1b+l3OB7VJy5jsykw==",
|
||||
- "cpu": [
|
||||
- "x64"
|
||||
- ],
|
||||
- "dev": true,
|
||||
- "license": "SEE LICENSE IN LICENSE.txt",
|
||||
- "optional": true,
|
||||
- "os": [
|
||||
- "darwin"
|
||||
- ]
|
||||
- },
|
||||
- "node_modules/@vscode/vsce-sign-linux-arm": {
|
||||
- "version": "2.0.6",
|
||||
- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-arm/-/vsce-sign-linux-arm-2.0.6.tgz",
|
||||
- "integrity": "sha512-UndEc2Xlq4HsuMPnwu7420uqceXjs4yb5W8E2/UkaHBB9OWCwMd3/bRe/1eLe3D8kPpxzcaeTyXiK3RdzS/1CA==",
|
||||
- "cpu": [
|
||||
- "arm"
|
||||
- ],
|
||||
- "dev": true,
|
||||
- "license": "SEE LICENSE IN LICENSE.txt",
|
||||
- "optional": true,
|
||||
- "os": [
|
||||
- "linux"
|
||||
- ]
|
||||
- },
|
||||
- "node_modules/@vscode/vsce-sign-linux-arm64": {
|
||||
- "version": "2.0.6",
|
||||
- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-arm64/-/vsce-sign-linux-arm64-2.0.6.tgz",
|
||||
- "integrity": "sha512-cfb1qK7lygtMa4NUl2582nP7aliLYuDEVpAbXJMkDq1qE+olIw/es+C8j1LJwvcRq1I2yWGtSn3EkDp9Dq5FdA==",
|
||||
- "cpu": [
|
||||
- "arm64"
|
||||
- ],
|
||||
- "dev": true,
|
||||
- "license": "SEE LICENSE IN LICENSE.txt",
|
||||
- "optional": true,
|
||||
- "os": [
|
||||
- "linux"
|
||||
- ]
|
||||
- },
|
||||
- "node_modules/@vscode/vsce-sign-linux-x64": {
|
||||
- "version": "2.0.6",
|
||||
- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-x64/-/vsce-sign-linux-x64-2.0.6.tgz",
|
||||
- "integrity": "sha512-/olerl1A4sOqdP+hjvJ1sbQjKN07Y3DVnxO4gnbn/ahtQvFrdhUi0G1VsZXDNjfqmXw57DmPi5ASnj/8PGZhAA==",
|
||||
- "cpu": [
|
||||
- "x64"
|
||||
- ],
|
||||
- "dev": true,
|
||||
- "license": "SEE LICENSE IN LICENSE.txt",
|
||||
- "optional": true,
|
||||
- "os": [
|
||||
- "linux"
|
||||
- ]
|
||||
- },
|
||||
- "node_modules/@vscode/vsce-sign-win32-arm64": {
|
||||
- "version": "2.0.6",
|
||||
- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-win32-arm64/-/vsce-sign-win32-arm64-2.0.6.tgz",
|
||||
- "integrity": "sha512-ivM/MiGIY0PJNZBoGtlRBM/xDpwbdlCWomUWuLmIxbi1Cxe/1nooYrEQoaHD8ojVRgzdQEUzMsRbyF5cJJgYOg==",
|
||||
- "cpu": [
|
||||
- "arm64"
|
||||
- ],
|
||||
- "dev": true,
|
||||
- "license": "SEE LICENSE IN LICENSE.txt",
|
||||
- "optional": true,
|
||||
- "os": [
|
||||
- "win32"
|
||||
- ]
|
||||
- },
|
||||
- "node_modules/@vscode/vsce-sign-win32-x64": {
|
||||
- "version": "2.0.6",
|
||||
- "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-win32-x64/-/vsce-sign-win32-x64-2.0.6.tgz",
|
||||
- "integrity": "sha512-mgth9Kvze+u8CruYMmhHw6Zgy3GRX2S+Ed5oSokDEK5vPEwGGKnmuXua9tmFhomeAnhgJnL4DCna3TiNuGrBTQ==",
|
||||
- "cpu": [
|
||||
- "x64"
|
||||
- ],
|
||||
- "dev": true,
|
||||
- "license": "SEE LICENSE IN LICENSE.txt",
|
||||
- "optional": true,
|
||||
- "os": [
|
||||
- "win32"
|
||||
- ]
|
||||
- },
|
||||
- "node_modules/@vscode/vsce/node_modules/ansi-styles": {
|
||||
+ "node_modules/@vscodium/vsce/node_modules/ansi-styles": {
|
||||
"version": "4.3.0",
|
||||
@@ -2149,3 +2042,3 @@
|
||||
},
|
||||
- "node_modules/@vscode/vsce/node_modules/balanced-match": {
|
||||
+ "node_modules/@vscodium/vsce/node_modules/balanced-match": {
|
||||
"version": "4.0.4",
|
||||
@@ -2159,3 +2052,3 @@
|
||||
},
|
||||
- "node_modules/@vscode/vsce/node_modules/brace-expansion": {
|
||||
+ "node_modules/@vscodium/vsce/node_modules/brace-expansion": {
|
||||
"version": "5.0.4",
|
||||
@@ -2172,3 +2065,3 @@
|
||||
},
|
||||
- "node_modules/@vscode/vsce/node_modules/chalk": {
|
||||
+ "node_modules/@vscodium/vsce/node_modules/chalk": {
|
||||
"version": "4.1.2",
|
||||
@@ -2189,3 +2082,3 @@
|
||||
},
|
||||
- "node_modules/@vscode/vsce/node_modules/color-convert": {
|
||||
+ "node_modules/@vscodium/vsce/node_modules/color-convert": {
|
||||
"version": "2.0.1",
|
||||
@@ -2202,3 +2095,3 @@
|
||||
},
|
||||
- "node_modules/@vscode/vsce/node_modules/color-name": {
|
||||
+ "node_modules/@vscodium/vsce/node_modules/color-name": {
|
||||
"version": "1.1.4",
|
||||
@@ -2209,3 +2102,3 @@
|
||||
},
|
||||
- "node_modules/@vscode/vsce/node_modules/glob": {
|
||||
+ "node_modules/@vscodium/vsce/node_modules/glob": {
|
||||
"version": "11.1.0",
|
||||
@@ -2233,3 +2126,3 @@
|
||||
},
|
||||
- "node_modules/@vscode/vsce/node_modules/glob/node_modules/minimatch": {
|
||||
+ "node_modules/@vscodium/vsce/node_modules/glob/node_modules/minimatch": {
|
||||
"version": "10.2.4",
|
||||
@@ -2249,3 +2142,3 @@
|
||||
},
|
||||
- "node_modules/@vscode/vsce/node_modules/has-flag": {
|
||||
+ "node_modules/@vscodium/vsce/node_modules/has-flag": {
|
||||
"version": "4.0.0",
|
||||
@@ -2259,3 +2152,3 @@
|
||||
},
|
||||
- "node_modules/@vscode/vsce/node_modules/jsonc-parser": {
|
||||
+ "node_modules/@vscodium/vsce/node_modules/jsonc-parser": {
|
||||
"version": "3.3.1",
|
||||
@@ -2263,9 +2156,11 @@
|
||||
"integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
|
||||
- "dev": true
|
||||
+ "dev": true,
|
||||
+ "license": "MIT"
|
||||
},
|
||||
- "node_modules/@vscode/vsce/node_modules/semver": {
|
||||
- "version": "7.6.3",
|
||||
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
|
||||
- "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
|
||||
+ "node_modules/@vscodium/vsce/node_modules/semver": {
|
||||
+ "version": "7.7.3",
|
||||
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
|
||||
+ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
|
||||
"dev": true,
|
||||
+ "license": "ISC",
|
||||
"bin": {
|
||||
@@ -2277,3 +2172,3 @@
|
||||
},
|
||||
- "node_modules/@vscode/vsce/node_modules/supports-color": {
|
||||
+ "node_modules/@vscodium/vsce/node_modules/supports-color": {
|
||||
"version": "7.2.0",
|
||||
@@ -2290,12 +2185,2 @@
|
||||
},
|
||||
- "node_modules/@vscode/vsce/node_modules/yazl": {
|
||||
- "version": "2.5.1",
|
||||
- "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz",
|
||||
- "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==",
|
||||
- "dev": true,
|
||||
- "license": "MIT",
|
||||
- "dependencies": {
|
||||
- "buffer-crc32": "~0.2.3"
|
||||
- }
|
||||
- },
|
||||
"node_modules/@xmldom/xmldom": {
|
||||
@@ -7001,2 +6886,12 @@
|
||||
},
|
||||
+ "node_modules/yazl": {
|
||||
+ "version": "2.5.1",
|
||||
+ "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz",
|
||||
+ "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==",
|
||||
+ "dev": true,
|
||||
+ "license": "MIT",
|
||||
+ "dependencies": {
|
||||
+ "buffer-crc32": "~0.2.3"
|
||||
+ }
|
||||
+ },
|
||||
"node_modules/yocto-queue": {
|
||||
diff --git a/build/package.json b/build/package.json
|
||||
index 8a65120..a36d5c4 100644
|
||||
--- a/build/package.json
|
||||
+++ b/build/package.json
|
||||
@@ -45,3 +45,3 @@
|
||||
"@vscode/ripgrep": "^1.17.1",
|
||||
- "@vscode/vsce": "3.6.1",
|
||||
+ "@vscodium/vsce": "3.6.1-258428",
|
||||
"ansi-colors": "^3.2.3",
|
||||
diff --git a/src/vs/platform/extensionManagement/node/extensionSignatureVerificationService.ts b/src/vs/platform/extensionManagement/node/extensionSignatureVerificationService.ts
|
||||
index 98535c5..cc37d7b 100644
|
||||
--- a/src/vs/platform/extensionManagement/node/extensionSignatureVerificationService.ts
|
||||
+++ b/src/vs/platform/extensionManagement/node/extensionSignatureVerificationService.ts
|
||||
@@ -69,3 +69,3 @@ export class ExtensionSignatureVerificationService implements IExtensionSignatur
|
||||
private async resolveVsceSign(): Promise<typeof vsceSign> {
|
||||
- const mod = '@vscode/vsce-sign';
|
||||
+ const mod = '@vscodium/vsce-sign';
|
||||
return import(mod);
|
||||
20
patches/fix-extensions-control-connection.patch
Normal file
20
patches/fix-extensions-control-connection.patch
Normal file
@@ -0,0 +1,20 @@
|
||||
diff --git a/src/vs/platform/extensionManagement/common/extensionGalleryService.ts b/src/vs/platform/extensionManagement/common/extensionGalleryService.ts
|
||||
index 6414a46..0bdc5a2 100644
|
||||
--- a/src/vs/platform/extensionManagement/common/extensionGalleryService.ts
|
||||
+++ b/src/vs/platform/extensionManagement/common/extensionGalleryService.ts
|
||||
@@ -1944,3 +1944,3 @@ export abstract class AbstractExtensionGalleryService implements IExtensionGalle
|
||||
|
||||
- const context = await this.requestService.request({
|
||||
+ const requestOptions: IRequestOptions = {
|
||||
type: 'GET',
|
||||
@@ -1949,3 +1949,9 @@ export abstract class AbstractExtensionGalleryService implements IExtensionGalle
|
||||
callSite: 'extensionGalleryService.getExtensionsControlManifest'
|
||||
- }, CancellationToken.None);
|
||||
+ };
|
||||
+
|
||||
+ if (!isWeb) {
|
||||
+ requestOptions.headers = { Connection: 'close' };
|
||||
+ }
|
||||
+
|
||||
+ const context = await this.requestService.request(requestOptions, CancellationToken.None);
|
||||
|
||||
42
patches/fix-gallery.patch
Normal file
42
patches/fix-gallery.patch
Normal file
@@ -0,0 +1,42 @@
|
||||
diff --git a/src/vs/base/common/product.ts b/src/vs/base/common/product.ts
|
||||
index 3954823..f8026cd 100644
|
||||
--- a/src/vs/base/common/product.ts
|
||||
+++ b/src/vs/base/common/product.ts
|
||||
@@ -112,2 +112,4 @@ export interface IProductConfiguration {
|
||||
readonly accessSKUs?: string[];
|
||||
+ readonly itemUrl: string;
|
||||
+ readonly latestUrlTemplate?: string;
|
||||
};
|
||||
diff --git a/src/vs/platform/extensionManagement/common/extensionGalleryManifestService.ts b/src/vs/platform/extensionManagement/common/extensionGalleryManifestService.ts
|
||||
index 658219e..d1bf7a9 100644
|
||||
--- a/src/vs/platform/extensionManagement/common/extensionGalleryManifestService.ts
|
||||
+++ b/src/vs/platform/extensionManagement/common/extensionGalleryManifestService.ts
|
||||
@@ -19,2 +19,3 @@ type ExtensionGalleryConfig = {
|
||||
readonly nlsBaseUrl: string;
|
||||
+ readonly latestUrlTemplate?: string;
|
||||
};
|
||||
@@ -49,3 +50,3 @@ export class ExtensionGalleryManifestService extends Disposable implements IExte
|
||||
{
|
||||
- id: `${extensionsGallery.serviceUrl}/vscode/{publisher}/{name}/latest`,
|
||||
+ id: extensionsGallery.latestUrlTemplate ?? `${extensionsGallery.serviceUrl}/vscode/{publisher}/{name}/latest`,
|
||||
type: ExtensionGalleryResourceType.ExtensionLatestVersionUri
|
||||
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
|
||||
index 5a6c171..112b31b 100644
|
||||
--- a/src/vs/platform/product/common/product.ts
|
||||
+++ b/src/vs/platform/product/common/product.ts
|
||||
@@ -31,2 +31,15 @@ else if (globalThis._VSCODE_PRODUCT_JSON && globalThis._VSCODE_PACKAGE_JSON) {
|
||||
|
||||
+ const { serviceUrl, controlUrl, itemUrl, latestUrlTemplate, extensionUrlTemplate, resourceUrlTemplate } = product.extensionsGallery || {};
|
||||
+
|
||||
+ Object.assign(product, {
|
||||
+ extensionsGallery: {
|
||||
+ serviceUrl: env['VSCODE_GALLERY_SERVICE_URL'] || serviceUrl,
|
||||
+ controlUrl: env['VSCODE_GALLERY_CONTROL_URL'] || controlUrl,
|
||||
+ itemUrl: env['VSCODE_GALLERY_ITEM_URL'] || itemUrl,
|
||||
+ latestUrlTemplate: env['VSCODE_GALLERY_LATEST_URL_TEMPLATE'] || latestUrlTemplate,
|
||||
+ extensionUrlTemplate: env['VSCODE_GALLERY_EXTENSION_URL_TEMPLATE'] || extensionUrlTemplate,
|
||||
+ resourceUrlTemplate: env['VSCODE_GALLERY_RESOURCE_URL_TEMPLATE'] || resourceUrlTemplate,
|
||||
+ }
|
||||
+ });
|
||||
+
|
||||
// Running out of sources
|
||||
131
patches/fix-keymap.patch
Normal file
131
patches/fix-keymap.patch
Normal file
@@ -0,0 +1,131 @@
|
||||
diff --git a/.npmrc b/.npmrc
|
||||
index a275846..87f881f 100644
|
||||
--- a/.npmrc
|
||||
+++ b/.npmrc
|
||||
@@ -6,2 +6,3 @@ ignore-scripts=false
|
||||
build_from_source="true"
|
||||
+build_from_source_native_keymap="no"
|
||||
legacy-peer-deps="true"
|
||||
diff --git a/build/.moduleignore b/build/.moduleignore
|
||||
index ed36151..5b040cc 100644
|
||||
--- a/build/.moduleignore
|
||||
+++ b/build/.moduleignore
|
||||
@@ -65,7 +65,7 @@ fsevents/test/**
|
||||
|
||||
-native-keymap/binding.gyp
|
||||
-native-keymap/build/**
|
||||
-native-keymap/src/**
|
||||
-native-keymap/deps/**
|
||||
-!native-keymap/build/Release/*.node
|
||||
+@vscodium/native-keymap/binding.gyp
|
||||
+@vscodium/native-keymap/build/**
|
||||
+@vscodium/native-keymap/src/**
|
||||
+@vscodium/native-keymap/deps/**
|
||||
+!@vscodium/native-keymap/build/Release/*.node
|
||||
|
||||
diff --git a/eslint.config.js b/eslint.config.js
|
||||
index 73f062a..f008259 100644
|
||||
--- a/eslint.config.js
|
||||
+++ b/eslint.config.js
|
||||
@@ -1481,3 +1481,3 @@ export default tseslint.config(
|
||||
'node:module',
|
||||
- 'native-keymap',
|
||||
+ '@vscodium/native-keymap',
|
||||
'net',
|
||||
diff --git a/package-lock.json b/package-lock.json
|
||||
index bc72a21..ae566c1 100644
|
||||
--- a/package-lock.json
|
||||
+++ b/package-lock.json
|
||||
@@ -32,2 +32,3 @@
|
||||
"@vscode/windows-registry": "^1.2.0",
|
||||
+ "@vscodium/native-keymap": "3.3.7-258424",
|
||||
"@xterm/addon-clipboard": "^0.3.0-beta.191",
|
||||
@@ -49,3 +50,2 @@
|
||||
"native-is-elevated": "0.9.0",
|
||||
- "native-keymap": "^3.3.5",
|
||||
"node-pty": "^1.2.0-beta.10",
|
||||
@@ -4862,2 +4862,9 @@
|
||||
},
|
||||
+ "node_modules/@vscodium/native-keymap": {
|
||||
+ "version": "3.3.7-258424",
|
||||
+ "resolved": "https://registry.npmjs.org/@vscodium/native-keymap/-/native-keymap-3.3.7-258424.tgz",
|
||||
+ "integrity": "sha512-HZ20QfExV0kE2l939yE3wn0LezSV7BcpxOFmlUMUHBQbdANMSLkwzo6Zw1xOEZDoYm3VTDHt8/+WwLBR2MpA3A==",
|
||||
+ "hasInstallScript": true,
|
||||
+ "license": "MIT"
|
||||
+ },
|
||||
"node_modules/@wdio/config": {
|
||||
@@ -15159,5 +15166,6 @@
|
||||
"node_modules/napi-build-utils": {
|
||||
- "version": "1.0.2",
|
||||
- "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
|
||||
- "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg=="
|
||||
+ "version": "2.0.0",
|
||||
+ "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz",
|
||||
+ "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==",
|
||||
+ "license": "MIT"
|
||||
},
|
||||
@@ -15170,9 +15178,2 @@
|
||||
},
|
||||
- "node_modules/native-keymap": {
|
||||
- "version": "3.3.9",
|
||||
- "resolved": "https://registry.npmjs.org/native-keymap/-/native-keymap-3.3.9.tgz",
|
||||
- "integrity": "sha512-d/ydQ5x+GM5W0dyAjFPwexhtc9CDH1g/xWZESS5CXk16ThyFzSBLvlBJq1+FyzUIFf/F2g1MaHdOpa6G9150YQ==",
|
||||
- "hasInstallScript": true,
|
||||
- "license": "MIT"
|
||||
- },
|
||||
"node_modules/natural-compare": {
|
||||
@@ -16693,5 +16694,6 @@
|
||||
"node_modules/prebuild-install": {
|
||||
- "version": "7.1.2",
|
||||
- "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz",
|
||||
- "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==",
|
||||
+ "version": "7.1.3",
|
||||
+ "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz",
|
||||
+ "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==",
|
||||
+ "license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -16702,3 +16704,3 @@
|
||||
"mkdirp-classic": "^0.5.3",
|
||||
- "napi-build-utils": "^1.0.1",
|
||||
+ "napi-build-utils": "^2.0.0",
|
||||
"node-abi": "^3.3.0",
|
||||
diff --git a/package.json b/package.json
|
||||
index d727d5a..54d14ad 100644
|
||||
--- a/package.json
|
||||
+++ b/package.json
|
||||
@@ -119,3 +119,3 @@
|
||||
"native-is-elevated": "0.9.0",
|
||||
- "native-keymap": "^3.3.5",
|
||||
+ "@vscodium/native-keymap": "3.3.7-258424",
|
||||
"node-pty": "^1.2.0-beta.10",
|
||||
diff --git a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts
|
||||
index c30c6da..ca6cea2 100644
|
||||
--- a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts
|
||||
+++ b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts
|
||||
@@ -44,8 +44,8 @@ flakySuite('Native Modules (all platforms)', () => {
|
||||
test('native-keymap', async () => {
|
||||
- const keyMap = await import('native-keymap');
|
||||
- assert.ok(typeof keyMap.onDidChangeKeyboardLayout === 'function', testErrorMessage('native-keymap'));
|
||||
- assert.ok(typeof keyMap.getCurrentKeyboardLayout === 'function', testErrorMessage('native-keymap'));
|
||||
+ const keyMap = await import('@vscodium/native-keymap');
|
||||
+ assert.ok(typeof keyMap.onDidChangeKeyboardLayout === 'function', testErrorMessage('@vscodium/native-keymap'));
|
||||
+ assert.ok(typeof keyMap.getCurrentKeyboardLayout === 'function', testErrorMessage('@vscodium/native-keymap'));
|
||||
|
||||
const result = keyMap.getCurrentKeyboardLayout();
|
||||
- assert.ok(result, testErrorMessage('native-keymap'));
|
||||
+ assert.ok(result, testErrorMessage('@vscodium/native-keymap'));
|
||||
});
|
||||
diff --git a/src/vs/platform/keyboardLayout/electron-main/keyboardLayoutMainService.ts b/src/vs/platform/keyboardLayout/electron-main/keyboardLayoutMainService.ts
|
||||
index 8950ce2..f31cea6 100644
|
||||
--- a/src/vs/platform/keyboardLayout/electron-main/keyboardLayoutMainService.ts
|
||||
+++ b/src/vs/platform/keyboardLayout/electron-main/keyboardLayoutMainService.ts
|
||||
@@ -5,3 +5,3 @@
|
||||
|
||||
-import type * as nativeKeymap from 'native-keymap';
|
||||
+import type * as nativeKeymap from '@vscodium/native-keymap';
|
||||
import * as platform from '../../../base/common/platform.js';
|
||||
@@ -48,3 +48,3 @@ export class KeyboardLayoutMainService extends Disposable implements INativeKeyb
|
||||
private async _doInitialize(): Promise<void> {
|
||||
- const nativeKeymapMod = await import('native-keymap');
|
||||
+ const nativeKeymapMod = await import('@vscodium/native-keymap');
|
||||
|
||||
14
patches/fix-npm-preinstall.patch
Normal file
14
patches/fix-npm-preinstall.patch
Normal file
@@ -0,0 +1,14 @@
|
||||
diff --git a/build/npm/preinstall.ts b/build/npm/preinstall.ts
|
||||
index 3476fca..e23329f 100644
|
||||
--- a/build/npm/preinstall.ts
|
||||
+++ b/build/npm/preinstall.ts
|
||||
@@ -129,3 +129,3 @@ function installHeaders() {
|
||||
// Refs https://chromium-review.googlesource.com/c/v8/v8/+/6879784
|
||||
- if (process.platform === 'linux') {
|
||||
+ if (process.platform === 'linux' && local) {
|
||||
const homedir = os.homedir();
|
||||
@@ -133,3 +133,3 @@ function installHeaders() {
|
||||
const nodeGypCache = path.join(cachePath, 'node-gyp');
|
||||
- const localHeaderPath = path.join(nodeGypCache, local!.target, 'include', 'node');
|
||||
+ const localHeaderPath = path.join(nodeGypCache, local.target, 'include', 'node');
|
||||
if (fs.existsSync(localHeaderPath)) {
|
||||
@@ -1,8 +1,10 @@
|
||||
# Fix: Replace @vscode/policy-watcher with @vscodium/policy-watcher
|
||||
# Documentation: docs/patches.md#fix-policies
|
||||
diff --git a/build/.moduleignore b/build/.moduleignore
|
||||
index 3e654cf..d9ee9f5 100644
|
||||
index 5b040cc..8d5fd71 100644
|
||||
--- a/build/.moduleignore
|
||||
+++ b/build/.moduleignore
|
||||
@@ -126,9 +126,11 @@ vsda/**
|
||||
@@ -128,9 +128,11 @@ vsda/**
|
||||
|
||||
-@vscode/policy-watcher/build/**
|
||||
-@vscode/policy-watcher/.husky/**
|
||||
@@ -21,61 +23,76 @@ index 3e654cf..d9ee9f5 100644
|
||||
+@vscodium/policy-watcher/index.d.ts
|
||||
+!@vscodium/policy-watcher/build/Release/vscodium-policy-watcher.node
|
||||
|
||||
diff --git a/build/lib/policies.js b/build/lib/policies.js
|
||||
index b6b5200..ae80196 100644
|
||||
--- a/build/lib/policies.js
|
||||
+++ b/build/lib/policies.js
|
||||
@@ -81,3 +81,3 @@ class BasePolicy {
|
||||
return [
|
||||
- `<policy name="${this.name}" class="Both" displayName="$(string.${this.name})" explainText="$(string.${this.name}_${this.description.nlsKey.replace(/\./g, '_')})" key="Software\\Policies\\Microsoft\\${regKey}" presentation="$(presentation.${this.name})">`,
|
||||
+ `<policy name="${this.name}" class="Both" displayName="$(string.${this.name})" explainText="$(string.${this.name}_${this.description.nlsKey.replace(/\./g, '_')})" key="Software\\Policies\\!!ORG_NAME!!\\${regKey}" presentation="$(presentation.${this.name})">`,
|
||||
` <parentCategory ref="${this.category.name.nlsKey}" />`,
|
||||
@@ -501,3 +501,3 @@ function renderADMX(regKey, versions, categories, policies) {
|
||||
<policyNamespaces>
|
||||
- <target prefix="${regKey}" namespace="Microsoft.Policies.${regKey}" />
|
||||
+ <target prefix="${regKey}" namespace="!!ORG_NAME!!.Policies.${regKey}" />
|
||||
</policyNamespaces>
|
||||
diff --git a/build/lib/policies.ts b/build/lib/policies.ts
|
||||
index 381d2f4..9cdec71 100644
|
||||
--- a/build/lib/policies.ts
|
||||
+++ b/build/lib/policies.ts
|
||||
@@ -107,3 +107,3 @@ abstract class BasePolicy implements Policy {
|
||||
diff --git a/build/lib/policies/basePolicy.ts b/build/lib/policies/basePolicy.ts
|
||||
index 7f650ba..db927cb 100644
|
||||
--- a/build/lib/policies/basePolicy.ts
|
||||
+++ b/build/lib/policies/basePolicy.ts
|
||||
@@ -38,3 +38,3 @@ export abstract class BasePolicy implements Policy {
|
||||
return [
|
||||
- `<policy name="${this.name}" class="Both" displayName="$(string.${this.name})" explainText="$(string.${this.name}_${this.description.nlsKey.replace(/\./g, '_')})" key="Software\\Policies\\Microsoft\\${regKey}" presentation="$(presentation.${this.name})">`,
|
||||
+ `<policy name="${this.name}" class="Both" displayName="$(string.${this.name})" explainText="$(string.${this.name}_${this.description.nlsKey.replace(/\./g, '_')})" key="Software\\Policies\\!!ORG_NAME!!\\${regKey}" presentation="$(presentation.${this.name})">`,
|
||||
` <parentCategory ref="${this.category.name.nlsKey}" />`,
|
||||
@@ -703,3 +703,3 @@ function renderADMX(regKey: string, versions: string[], categories: Category[],
|
||||
diff --git a/build/lib/policies/render.ts b/build/lib/policies/render.ts
|
||||
index 47b485d..8437fd4 100644
|
||||
--- a/build/lib/policies/render.ts
|
||||
+++ b/build/lib/policies/render.ts
|
||||
@@ -49,3 +49,3 @@ export function renderADMX(regKey: string, versions: string[], categories: Categ
|
||||
<policyNamespaces>
|
||||
- <target prefix="${regKey}" namespace="Microsoft.Policies.${regKey}" />
|
||||
+ <target prefix="${regKey}" namespace="!!ORG_NAME!!.Policies.${regKey}" />
|
||||
</policyNamespaces>
|
||||
@@ -167,3 +167,3 @@ export function renderProfileManifest(appName: string, bundleIdentifier: string,
|
||||
<key>pfm_default</key>
|
||||
- <string>Microsoft</string>
|
||||
+ <string>!!ORG_NAME!!</string>
|
||||
<key>pfm_name</key>
|
||||
@@ -185,3 +185,3 @@ export function renderProfileManifest(appName: string, bundleIdentifier: string,
|
||||
<key>pfm_app_url</key>
|
||||
- <string>https://code.visualstudio.com/</string>
|
||||
+ <string>https://github.com/VSCodium/vscodium</string>
|
||||
<key>pfm_description</key>
|
||||
@@ -189,3 +189,3 @@ export function renderProfileManifest(appName: string, bundleIdentifier: string,
|
||||
<key>pfm_documentation_url</key>
|
||||
- <string>https://code.visualstudio.com/docs/setup/enterprise</string>
|
||||
+ <string>https://github.com/VSCodium/vscodium</string>
|
||||
<key>pfm_domain</key>
|
||||
@@ -255,3 +255,3 @@ ${policyEntries}
|
||||
<key>PayloadDescription</key>
|
||||
- <string>This profile manages ${appName}. For more information see https://code.visualstudio.com/docs/setup/enterprise</string>
|
||||
+ <string>This profile manages ${appName}. For more information see https://github.com/VSCodium/vscodium</string>
|
||||
<key>PayloadDisplayName</key>
|
||||
@@ -261,3 +261,3 @@ ${policyEntries}
|
||||
<key>PayloadOrganization</key>
|
||||
- <string>Microsoft</string>
|
||||
+ <string>!!ORG_NAME!!</string>
|
||||
<key>PayloadType</key>
|
||||
diff --git a/eslint.config.js b/eslint.config.js
|
||||
index dde2477..3701668 100644
|
||||
index f008259..f87fda1 100644
|
||||
--- a/eslint.config.js
|
||||
+++ b/eslint.config.js
|
||||
@@ -788,3 +788,3 @@ export default tseslint.config(
|
||||
'@vscode/iconv-lite-umd',
|
||||
@@ -1464,3 +1464,3 @@ export default tseslint.config(
|
||||
'@vscode/native-watchdog',
|
||||
- '@vscode/policy-watcher',
|
||||
+ '@vscodium/policy-watcher',
|
||||
'@vscode/proxy-agent',
|
||||
diff --git a/package-lock.json b/package-lock.json
|
||||
index f86132d..5f92dd2 100644
|
||||
index ae566c1..3b3a5dd 100644
|
||||
--- a/package-lock.json
|
||||
+++ b/package-lock.json
|
||||
@@ -18,3 +18,2 @@
|
||||
"@vscode/iconv-lite-umd": "0.7.0",
|
||||
@@ -21,3 +21,2 @@
|
||||
"@vscode/native-watchdog": "^1.4.6",
|
||||
- "@vscode/policy-watcher": "^1.3.2",
|
||||
"@vscode/proxy-agent": "^0.32.0",
|
||||
@@ -29,2 +28,3 @@
|
||||
"@vscode/windows-registry": "^1.1.0",
|
||||
"@vscode/proxy-agent": "^0.39.1",
|
||||
@@ -33,2 +32,3 @@
|
||||
"@vscodium/native-keymap": "3.3.7-258424",
|
||||
+ "@vscodium/policy-watcher": "^1.3.2-252465",
|
||||
"@xterm/addon-clipboard": "^0.2.0-beta.95",
|
||||
@@ -2943,22 +2943,2 @@
|
||||
"@xterm/addon-clipboard": "^0.3.0-beta.191",
|
||||
@@ -4538,22 +4538,2 @@
|
||||
},
|
||||
- "node_modules/@vscode/policy-watcher": {
|
||||
- "version": "1.3.2",
|
||||
- "resolved": "https://registry.npmjs.org/@vscode/policy-watcher/-/policy-watcher-1.3.2.tgz",
|
||||
- "integrity": "sha512-fmNPYysU2ioH99uCaBPiRblEZSnir5cTmc7w91hAxAoYoGpHt2PZPxT5eIOn7FGmPOsjLdQcd6fduFJGYVD4Mw==",
|
||||
- "version": "1.3.7",
|
||||
- "resolved": "https://registry.npmjs.org/@vscode/policy-watcher/-/policy-watcher-1.3.7.tgz",
|
||||
- "integrity": "sha512-OvIczTbtGLZs7YU0ResbjM0KEB2ORBnlJ4ICxaB9fKHNVBwNVp4i2qIkDQGp3UBGtu7P8/+eg4/ZKk2oJGFcug==",
|
||||
- "hasInstallScript": true,
|
||||
- "license": "MIT",
|
||||
- "dependencies": {
|
||||
@@ -93,12 +110,12 @@ index f86132d..5f92dd2 100644
|
||||
- }
|
||||
- },
|
||||
"node_modules/@vscode/proxy-agent": {
|
||||
@@ -3361,2 +3341,22 @@
|
||||
@@ -4869,2 +4849,22 @@
|
||||
},
|
||||
+ "node_modules/@vscodium/policy-watcher": {
|
||||
+ "version": "1.3.2-252465",
|
||||
+ "resolved": "https://registry.npmjs.org/@vscodium/policy-watcher/-/policy-watcher-1.3.2-252465.tgz",
|
||||
+ "integrity": "sha512-kpnb656HMteBIm8d9LhBpQ5gL2A/4rJrsaLCF0D8IWyrZAQ0UR9EzXM6tZ6p5H+KWot3QUjm0Gry6vMV1yye5Q==",
|
||||
+ "version": "1.3.2-255408",
|
||||
+ "resolved": "https://registry.npmjs.org/@vscodium/policy-watcher/-/policy-watcher-1.3.2-255408.tgz",
|
||||
+ "integrity": "sha512-0KERmB+VkSz9hvFWEDGalCpxQ9+qjLaUazXMBkzWQ9SjKPaD6zU9u6wA4/OUu816JnvCFEeJYEe9WcDZPnKQ1w==",
|
||||
+ "hasInstallScript": true,
|
||||
+ "license": "MIT",
|
||||
+ "dependencies": {
|
||||
@@ -107,24 +124,24 @@ index f86132d..5f92dd2 100644
|
||||
+ }
|
||||
+ },
|
||||
+ "node_modules/@vscodium/policy-watcher/node_modules/node-addon-api": {
|
||||
+ "version": "8.3.0",
|
||||
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.3.0.tgz",
|
||||
+ "integrity": "sha512-8VOpLHFrOQlAH+qA0ZzuGRlALRA6/LVh8QJldbrC4DY0hXoMP0l4Acq8TzFC018HztWiRqyCEj2aTWY2UvnJUg==",
|
||||
+ "version": "8.6.0",
|
||||
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.6.0.tgz",
|
||||
+ "integrity": "sha512-gBVjCaqDlRUk0EwoPNKzIr9KkS9041G/q31IBShPs1Xz6UTA+EXdZADbzqAJQrpDRq71CIMnOP5VMut3SL0z5Q==",
|
||||
+ "license": "MIT",
|
||||
+ "engines": {
|
||||
+ "node": "^18 || ^20 || >= 21"
|
||||
+ }
|
||||
+ },
|
||||
"node_modules/@webassemblyjs/ast": {
|
||||
"node_modules/@wdio/config": {
|
||||
diff --git a/package.json b/package.json
|
||||
index 5501dd8..f3f6b15 100644
|
||||
index 54d14ad..47778c2 100644
|
||||
--- a/package.json
|
||||
+++ b/package.json
|
||||
@@ -77,3 +77,3 @@
|
||||
"@vscode/iconv-lite-umd": "0.7.0",
|
||||
@@ -91,3 +91,3 @@
|
||||
"@vscode/native-watchdog": "^1.4.6",
|
||||
- "@vscode/policy-watcher": "^1.3.2",
|
||||
+ "@vscodium/policy-watcher": "^1.3.2-252465",
|
||||
"@vscode/proxy-agent": "^0.32.0",
|
||||
"@vscode/proxy-agent": "^0.39.1",
|
||||
diff --git a/src/vs/base/test/node/uri.perf.data.txt b/src/vs/base/test/node/uri.perf.data.txt
|
||||
index ee0a24b..881ce36 100644
|
||||
--- a/src/vs/base/test/node/uri.perf.data.txt
|
||||
@@ -225,7 +242,7 @@ index ee0a24b..881ce36 100644
|
||||
+/Users/example/node_modules/@vscodium/policy-watcher/src/windows/NumberPolicy.hh
|
||||
/Users/example/node_modules/@vscode/vscode-languagedetection/CODE_OF_CONDUCT.md
|
||||
diff --git a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts
|
||||
index 2a6acba..167d759 100644
|
||||
index ca6cea2..32b22fe 100644
|
||||
--- a/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts
|
||||
+++ b/src/vs/platform/environment/test/node/nativeModules.integrationTest.ts
|
||||
@@ -62,5 +62,5 @@ flakySuite('Native Modules (all platforms)', () => {
|
||||
@@ -238,7 +255,7 @@ index 2a6acba..167d759 100644
|
||||
+ assert.ok(typeof watcher.createWatcher === 'function', testErrorMessage('@vscodium/policy-watcher'));
|
||||
});
|
||||
diff --git a/src/vs/platform/policy/node/nativePolicyService.ts b/src/vs/platform/policy/node/nativePolicyService.ts
|
||||
index 67f7892..840d655 100644
|
||||
index feb4ba1..4d9e0c3 100644
|
||||
--- a/src/vs/platform/policy/node/nativePolicyService.ts
|
||||
+++ b/src/vs/platform/policy/node/nativePolicyService.ts
|
||||
@@ -8,3 +8,3 @@ import { IStringDictionary } from '../../../base/common/collections.js';
|
||||
@@ -254,5 +271,5 @@ index 67f7892..840d655 100644
|
||||
@@ -31,3 +31,3 @@ export class NativePolicyService extends AbstractPolicyService implements IPolic
|
||||
try {
|
||||
- this.watcher.value = createWatcher(this.productName, policyDefinitions, update => {
|
||||
+ this.watcher.value = createWatcher('!!ORG_NAME!!', this.productName, policyDefinitions, update => {
|
||||
+ this.watcher.value = createWatcher('VSCodium', this.productName, policyDefinitions, update => {
|
||||
this._onDidPolicyChange(update);
|
||||
@@ -1,12 +1,8 @@
|
||||
diff --git a/remote/package-lock.json b/remote/package-lock.json
|
||||
index f0ed1cc..a973af3 100644
|
||||
index 30a7391..94f839a 100644
|
||||
--- a/remote/package-lock.json
|
||||
+++ b/remote/package-lock.json
|
||||
@@ -40,2 +40,3 @@
|
||||
"tas-client-umd": "0.2.0",
|
||||
+ "tslib": "^2.6.3",
|
||||
"vscode-oniguruma": "1.7.0",
|
||||
@@ -1109,2 +1110,8 @@
|
||||
@@ -1155,2 +1155,8 @@
|
||||
},
|
||||
+ "node_modules/tslib": {
|
||||
+ "version": "2.7.0",
|
||||
@@ -16,10 +12,10 @@ index f0ed1cc..a973af3 100644
|
||||
+ },
|
||||
"node_modules/tunnel-agent": {
|
||||
diff --git a/remote/package.json b/remote/package.json
|
||||
index 33afee9..525ed07 100644
|
||||
index 119d62c..9ef9624 100644
|
||||
--- a/remote/package.json
|
||||
+++ b/remote/package.json
|
||||
@@ -35,2 +35,3 @@
|
||||
"tas-client-umd": "0.2.0",
|
||||
@@ -37,2 +37,3 @@
|
||||
"tas-client": "0.3.1",
|
||||
+ "tslib": "^2.6.3",
|
||||
"vscode-oniguruma": "1.7.0",
|
||||
|
||||
10
patches/fix-tunnel-extension-recommendation.patch
Normal file
10
patches/fix-tunnel-extension-recommendation.patch
Normal file
@@ -0,0 +1,10 @@
|
||||
diff --git a/src/vs/workbench/contrib/remoteTunnel/electron-browser/remoteTunnel.contribution.ts b/src/vs/workbench/contrib/remoteTunnel/electron-browser/remoteTunnel.contribution.ts
|
||||
index 0eaa650..43eeee6 100644
|
||||
--- a/src/vs/workbench/contrib/remoteTunnel/electron-browser/remoteTunnel.contribution.ts
|
||||
+++ b/src/vs/workbench/contrib/remoteTunnel/electron-browser/remoteTunnel.contribution.ts
|
||||
@@ -152,2 +152,5 @@ export class RemoteTunnelWorkbenchContribution extends Disposable implements IWo
|
||||
const shouldRecommend = async () => {
|
||||
+ if (!Boolean(remoteExtension)) {
|
||||
+ return false;
|
||||
+ }
|
||||
if (this.storageService.getBoolean(REMOTE_TUNNEL_EXTENSION_RECOMMENDED_KEY, StorageScope.APPLICATION)) {
|
||||
@@ -1,63 +1,25 @@
|
||||
diff --git a/.vscode/settings.json b/.vscode/settings.json
|
||||
index 31b1c4a..f808aa6 100644
|
||||
index 7434345..f870f59 100644
|
||||
--- a/.vscode/settings.json
|
||||
+++ b/.vscode/settings.json
|
||||
@@ -17,23 +17,23 @@
|
||||
},
|
||||
@@ -29,6 +29,6 @@
|
||||
"[typescript]": {
|
||||
"editor.defaultFormatter": "vscode.typescript-language-features",
|
||||
- "editor.formatOnSave": true
|
||||
+ // "editor.formatOnSave": true
|
||||
},
|
||||
"[javascript]": {
|
||||
"editor.defaultFormatter": "vscode.typescript-language-features",
|
||||
- "editor.formatOnSave": true
|
||||
+ // "editor.formatOnSave": true
|
||||
},
|
||||
"[rust]": {
|
||||
@@ -36,3 +36,3 @@
|
||||
"editor.defaultFormatter": "rust-lang.rust-analyzer",
|
||||
- "editor.formatOnSave": true,
|
||||
+ // "editor.formatOnSave": true,
|
||||
},
|
||||
"[github-issues]": {
|
||||
"editor.wordWrap": "on"
|
||||
},
|
||||
|
||||
@@ -42,4 +42,4 @@
|
||||
// --- Files ---
|
||||
- "files.trimTrailingWhitespace": true,
|
||||
- "files.insertFinalNewline": true,
|
||||
+ // "files.trimTrailingWhitespace": true,
|
||||
+ // "files.insertFinalNewline": true,
|
||||
"files.exclude": {
|
||||
".git": true,
|
||||
".build": true,
|
||||
@@ -42,9 +42,9 @@
|
||||
".vscode-test": true,
|
||||
"cli/target": true,
|
||||
"build/**/*.js.map": true,
|
||||
- "build/**/*.js": {
|
||||
- "when": "$(basename).ts"
|
||||
- }
|
||||
+ // "build/**/*.js": {
|
||||
+ // "when": "$(basename).ts"
|
||||
+ // }
|
||||
},
|
||||
"files.associations": {
|
||||
"cglicenses.json": "jsonc",
|
||||
@@ -55,7 +55,7 @@
|
||||
"**/yarn.lock": true,
|
||||
"**/package-lock.json": true,
|
||||
"**/Cargo.lock": true,
|
||||
- "build/**/*.js": true,
|
||||
+ // "build/**/*.js": true,
|
||||
"out/**": true,
|
||||
"out-build/**": true,
|
||||
"out-vscode/**": true,
|
||||
@@ -71,6 +71,7 @@
|
||||
"build/builtin/*.js": true,
|
||||
"build/monaco/*.js": true,
|
||||
"build/npm/*.js": true,
|
||||
+ "build/**/*.js": true,
|
||||
"build/*.js": true
|
||||
},
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh
|
||||
index a148d51..fb2f8ff 100755
|
||||
index f0d5fe6..fdb3707 100755
|
||||
--- a/build/azure-pipelines/linux/setup-env.sh
|
||||
+++ b/build/azure-pipelines/linux/setup-env.sh
|
||||
@@ -2,3 +2,3 @@
|
||||
@@ -9,17 +9,17 @@ index a148d51..fb2f8ff 100755
|
||||
|
||||
@@ -22,3 +22,3 @@ else
|
||||
echo "Downloading remote sysroot"
|
||||
- SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_REMOTE_SYSROOT_DIR" VSCODE_SYSROOT_PREFIX="-glibc-2.28-gcc-8.5.0" node -e '(async () => { const { getVSCodeSysroot } = require("./build/linux/debian/install-sysroot.js"); await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()'
|
||||
+ SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_REMOTE_SYSROOT_DIR" node -e '(async () => { const { getVSCodeSysroot } = require("./build/linux/debian/install-sysroot.js"); await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()'
|
||||
- SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_REMOTE_SYSROOT_DIR" VSCODE_SYSROOT_PREFIX="-glibc-2.28-gcc-8.5.0" node -e 'import { getVSCodeSysroot } from "./build/linux/debian/install-sysroot.ts"; (async () => { await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()'
|
||||
+ SYSROOT_ARCH="$SYSROOT_ARCH" VSCODE_SYSROOT_DIR="$VSCODE_REMOTE_SYSROOT_DIR" node -e 'import { getVSCodeSysroot } from "./build/linux/debian/install-sysroot.ts"; (async () => { await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()'
|
||||
fi
|
||||
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
|
||||
index c1d64c0..5ac9f95 100644
|
||||
--- a/build/gulpfile.reh.js
|
||||
+++ b/build/gulpfile.reh.js
|
||||
@@ -232,9 +232,23 @@ function nodejs(platform, arch) {
|
||||
diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts
|
||||
index 8e7f6bb..0874203 100644
|
||||
--- a/build/gulpfile.reh.ts
|
||||
+++ b/build/gulpfile.reh.ts
|
||||
@@ -239,9 +239,23 @@ function nodejs(platform: string, arch: string): NodeJS.ReadWriteStream | undefi
|
||||
case 'linux':
|
||||
- return (product.nodejsRepository !== 'https://nodejs.org' ?
|
||||
- fetchGithub(product.nodejsRepository, { version: `${nodeVersion}-${internalNodeVersion}`, name: expectedName, checksumSha256 }) :
|
||||
- fetchGithub(product.nodejsRepository, { version: `${nodeVersion}-${internalNodeVersion}`, name: expectedName!, checksumSha256 }) :
|
||||
- fetchUrls(`/dist/v${nodeVersion}/node-v${nodeVersion}-${platform}-${arch}.tar.gz`, { base: 'https://nodejs.org', checksumSha256 })
|
||||
- ).pipe(flatmap(stream => stream.pipe(gunzip()).pipe(untar())))
|
||||
- .pipe(filter('**/node'))
|
||||
@@ -33,7 +33,7 @@ index c1d64c0..5ac9f95 100644
|
||||
+ .pipe(rename('node'));
|
||||
+ }
|
||||
+ if (product.nodejsRepository !== 'https://nodejs.org') {
|
||||
+ return fetchGithub(product.nodejsRepository, { version: `${nodeVersion}-${internalNodeVersion}`, name: expectedName, checksumSha256 })
|
||||
+ return fetchGithub(product.nodejsRepository, { version: `${nodeVersion}-${internalNodeVersion}`, name: expectedName!, checksumSha256 })
|
||||
+ .pipe(flatmap(stream => stream.pipe(gunzip()).pipe(untar())))
|
||||
+ .pipe(filter('**/node'))
|
||||
+ .pipe(util.setExecutableBit('**'))
|
||||
@@ -47,13 +47,13 @@ index c1d64c0..5ac9f95 100644
|
||||
+ .pipe(rename('node'));
|
||||
+ }
|
||||
case 'alpine':
|
||||
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
|
||||
index 26a6287..004417f 100644
|
||||
--- a/build/gulpfile.vscode.js
|
||||
+++ b/build/gulpfile.vscode.js
|
||||
@@ -366,2 +366,12 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||
diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts
|
||||
index 25a3600..c9402f3 100644
|
||||
--- a/build/gulpfile.vscode.ts
|
||||
+++ b/build/gulpfile.vscode.ts
|
||||
@@ -516,4 +516,15 @@ function packageTask(platform: string, arch: string, sourceFolderName: string, d
|
||||
|
||||
+ const electronOverride = {};
|
||||
+ const electronOverride: { repo?: string; tag?: string } = {};
|
||||
+ if (process.env.VSCODE_ELECTRON_REPOSITORY) {
|
||||
+ // official electron doesn't support all arch, override the repo with `VSCODE_ELECTRON_REPOSITORY`.
|
||||
+ electronOverride.repo = process.env.VSCODE_ELECTRON_REPOSITORY;
|
||||
@@ -63,58 +63,31 @@ index 26a6287..004417f 100644
|
||||
+ electronOverride.tag = process.env.VSCODE_ELECTRON_TAG;
|
||||
+ }
|
||||
+
|
||||
let result = all
|
||||
@@ -370,3 +380,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||
.pipe(filter(['**', '!**/.github/**'], { dot: true })) // https://github.com/microsoft/vscode/issues/116523
|
||||
- .pipe(electron({ ...config, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false }))
|
||||
+ .pipe(electron({ ...config, ...electronOverride, platform, arch: arch === 'armhf' ? 'arm' : arch, ffmpegChromium: false }))
|
||||
.pipe(filter(['**', '!LICENSE', '!version'], { dot: true }));
|
||||
diff --git a/build/linux/debian/dep-lists.js b/build/linux/debian/dep-lists.js
|
||||
index 4ef448d..057961c 100644
|
||||
--- a/build/linux/debian/dep-lists.js
|
||||
+++ b/build/linux/debian/dep-lists.js
|
||||
@@ -140,3 +140,3 @@ exports.referenceGeneratedDepsByArch = {
|
||||
'xdg-utils (>= 1.0.2)'
|
||||
- ]
|
||||
+ ],
|
||||
};
|
||||
const electronConfig = {
|
||||
...config,
|
||||
+ ...electronOverride,
|
||||
platform,
|
||||
diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts
|
||||
index 5b7ccd5..707129f 100644
|
||||
index 46c257d..78bfb66 100644
|
||||
--- a/build/linux/debian/dep-lists.ts
|
||||
+++ b/build/linux/debian/dep-lists.ts
|
||||
@@ -140,3 +140,3 @@ export const referenceGeneratedDepsByArch = {
|
||||
@@ -141,3 +141,3 @@ export const referenceGeneratedDepsByArch = {
|
||||
'xdg-utils (>= 1.0.2)'
|
||||
- ]
|
||||
+ ],
|
||||
};
|
||||
diff --git a/build/linux/debian/install-sysroot.js b/build/linux/debian/install-sysroot.js
|
||||
index 612d0a3..8fbdf3d 100644
|
||||
--- a/build/linux/debian/install-sysroot.js
|
||||
+++ b/build/linux/debian/install-sysroot.js
|
||||
@@ -74,3 +74,5 @@ async function fetchUrl(options, retries = 10, retryDelay = 1000) {
|
||||
try {
|
||||
- const response = await fetch(`https://api.github.com/repos/Microsoft/vscode-linux-build-agent/releases/tags/v${version}`, {
|
||||
+ const repository = process.env['VSCODE_SYSROOT_REPOSITORY'] ?? 'Microsoft/vscode-linux-build-agent';
|
||||
+ const actualVersion = process.env['VSCODE_SYSROOT_VERSION'] ?? version;
|
||||
+ const response = await fetch(`https://api.github.com/repos/${repository}/releases/tags/v${actualVersion}`, {
|
||||
headers: ghApiHeaders,
|
||||
@@ -83,3 +85,3 @@ async function fetchUrl(options, retries = 10, retryDelay = 1000) {
|
||||
if (!asset) {
|
||||
- throw new Error(`Could not find asset in release of Microsoft/vscode-linux-build-agent @ ${version}`);
|
||||
+ throw new Error(`Could not find asset in release of ${repository} @ ${actualVersion}`);
|
||||
}
|
||||
diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts
|
||||
index 8a61159..9f3fd15 100644
|
||||
index 0dfc69a..7b6ac8b 100644
|
||||
--- a/build/linux/debian/install-sysroot.ts
|
||||
+++ b/build/linux/debian/install-sysroot.ts
|
||||
@@ -83,3 +83,5 @@ async function fetchUrl(options: IFetchOptions, retries = 10, retryDelay = 1000)
|
||||
@@ -82,3 +82,5 @@ async function fetchUrl(options: IFetchOptions, retries = 10, retryDelay = 1000)
|
||||
try {
|
||||
- const response = await fetch(`https://api.github.com/repos/Microsoft/vscode-linux-build-agent/releases/tags/v${version}`, {
|
||||
+ const repository = process.env['VSCODE_SYSROOT_REPOSITORY'] ?? 'Microsoft/vscode-linux-build-agent';
|
||||
+ const actualVersion = process.env['VSCODE_SYSROOT_VERSION'] ?? version;
|
||||
+ const response = await fetch(`https://api.github.com/repos/${repository}/releases/tags/v${actualVersion}`, {
|
||||
headers: ghApiHeaders,
|
||||
@@ -92,3 +94,3 @@ async function fetchUrl(options: IFetchOptions, retries = 10, retryDelay = 1000)
|
||||
@@ -91,3 +93,3 @@ async function fetchUrl(options: IFetchOptions, retries = 10, retryDelay = 1000)
|
||||
if (!asset) {
|
||||
- throw new Error(`Could not find asset in release of Microsoft/vscode-linux-build-agent @ ${version}`);
|
||||
+ throw new Error(`Could not find asset in release of ${repository} @ ${actualVersion}`);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh
|
||||
index c27358a..3e33f75 100755
|
||||
index fdb3707..67bc741 100755
|
||||
--- a/build/azure-pipelines/linux/setup-env.sh
|
||||
+++ b/build/azure-pipelines/linux/setup-env.sh
|
||||
@@ -76,2 +76,14 @@ elif [ "$npm_config_arch" == "arm" ]; then
|
||||
@@ -27,128 +27,72 @@ index 5294177..1e33aeb 100755
|
||||
+ TRIPLE="powerpc64le-linux-gnu"
|
||||
fi
|
||||
diff --git a/build/checksums/vscode-sysroot.txt b/build/checksums/vscode-sysroot.txt
|
||||
index 5744a5f..3fedbe9 100644
|
||||
index 847383e..04962e7 100644
|
||||
--- a/build/checksums/vscode-sysroot.txt
|
||||
+++ b/build/checksums/vscode-sysroot.txt
|
||||
@@ -7 +7,2 @@ f82c8dacbb9dd85819e4801909eb4e842ac12c899632aa75b4839383a18c7501 arm-rpi-linux-
|
||||
84acc5a15566c98ddf80631731d672e0ce9febcf3f2e969101e0dfd7ef2405e3 x86_64-linux-gnu-glibc-2.28-gcc-8.5.0.tar.gz
|
||||
@@ -7 +7,3 @@ ac4b6b14b4cec027a22a51bbbb049b3504958a78106c8a8d5cec144206b767d1 x86_64-linux-g
|
||||
1ebb6ef1fe2983269fd0855a88f9c9a37f9b515d16524a9146198e4cabdf34f7 x86_64-linux-gnu-glibc-2.28-gcc-8.5.0.tar.gz
|
||||
+fa8176d27be18bb0eeb7f55b0fa22255050b430ef68c29136599f02976eb0b1b powerpc64le-linux-gnu-glibc-2.28.tar.gz
|
||||
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
|
||||
index 5ac9f95..cd04bdf 100644
|
||||
--- a/build/gulpfile.reh.js
|
||||
+++ b/build/gulpfile.reh.js
|
||||
@@ -50,2 +50,3 @@ const BUILD_TARGETS = [
|
||||
+bdab0a372cf5bfdc154226cc5ed72d417096c725085d193509d1f12e0debec66 powerpc64le-linux-gnu-glibc-2.28-gcc-10.5.0.tar.gz
|
||||
diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts
|
||||
index 904130f..42888f0 100644
|
||||
--- a/build/gulpfile.reh.ts
|
||||
+++ b/build/gulpfile.reh.ts
|
||||
@@ -56,2 +56,3 @@ const BUILD_TARGETS = [
|
||||
{ platform: 'linux', arch: 'arm64' },
|
||||
+ { platform: 'linux', arch: 'ppc64le' },
|
||||
{ platform: 'alpine', arch: 'arm64' },
|
||||
diff --git a/build/gulpfile.scan.js b/build/gulpfile.scan.js
|
||||
index aafc64e..484d5f4 100644
|
||||
--- a/build/gulpfile.scan.js
|
||||
+++ b/build/gulpfile.scan.js
|
||||
@@ -26,2 +26,3 @@ const BUILD_TARGETS = [
|
||||
diff --git a/build/gulpfile.scan.ts b/build/gulpfile.scan.ts
|
||||
index 19e50c0..47b25cf 100644
|
||||
--- a/build/gulpfile.scan.ts
|
||||
+++ b/build/gulpfile.scan.ts
|
||||
@@ -24,2 +24,3 @@ const BUILD_TARGETS = [
|
||||
{ platform: 'linux', arch: 'arm64' },
|
||||
+ { platform: 'linux', arch: 'ppc64le' },
|
||||
];
|
||||
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
|
||||
index 004417f..c38fc1a 100644
|
||||
--- a/build/gulpfile.vscode.js
|
||||
+++ b/build/gulpfile.vscode.js
|
||||
@@ -475,2 +475,3 @@ const BUILD_TARGETS = [
|
||||
{ platform: 'linux', arch: 'arm64' },
|
||||
+ { platform: 'linux', arch: 'ppc64le' },
|
||||
];
|
||||
diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js
|
||||
index cd8610d..707581d 100644
|
||||
--- a/build/gulpfile.vscode.linux.js
|
||||
+++ b/build/gulpfile.vscode.linux.js
|
||||
@@ -33,3 +33,3 @@ const linuxPackageRevision = Math.floor(new Date().getTime() / 1000);
|
||||
function getDebPackageArch(arch) {
|
||||
- return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64' }[arch];
|
||||
+ return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64', ppc64le: 'ppc64el' }[arch];
|
||||
}
|
||||
@@ -146,3 +146,3 @@ function getRpmBuildPath(rpmArch) {
|
||||
function getRpmPackageArch(arch) {
|
||||
- return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64' }[arch];
|
||||
+ return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64', ppc64le: 'ppc64le' }[arch];
|
||||
}
|
||||
@@ -304,2 +304,3 @@ const BUILD_TARGETS = [
|
||||
diff --git a/build/gulpfile.vscode.linux.ts b/build/gulpfile.vscode.linux.ts
|
||||
index c5d2163..da4fc1f 100644
|
||||
--- a/build/gulpfile.vscode.linux.ts
|
||||
+++ b/build/gulpfile.vscode.linux.ts
|
||||
@@ -32,2 +32,3 @@ function getDebPackageArch(arch: string): string {
|
||||
case 'arm64': return 'arm64';
|
||||
+ case 'ppc64le': return 'ppc64el';
|
||||
default: throw new Error(`Unknown arch: ${arch}`);
|
||||
@@ -142,2 +143,3 @@ function getRpmPackageArch(arch: string): string {
|
||||
case 'arm64': return 'aarch64';
|
||||
+ case 'ppc64le': return 'ppc64le';
|
||||
default: throw new Error(`Unknown arch: ${arch}`);
|
||||
@@ -286,2 +288,3 @@ const BUILD_TARGETS = [
|
||||
{ arch: 'arm64' },
|
||||
+ { arch: 'ppc64le' },
|
||||
];
|
||||
diff --git a/build/linux/debian/calculate-deps.js b/build/linux/debian/calculate-deps.js
|
||||
index 34276ce..fdae163 100644
|
||||
--- a/build/linux/debian/calculate-deps.js
|
||||
+++ b/build/linux/debian/calculate-deps.js
|
||||
@@ -54,2 +54,5 @@ function calculatePackageDeps(binaryPath, arch, chromiumSysroot, vscodeSysroot)
|
||||
break;
|
||||
+ case 'ppc64el':
|
||||
+ cmd.push(`-l${chromiumSysroot}/usr/lib/powerpc64le-linux-gnu`, `-l${chromiumSysroot}/lib/powerpc64le-linux-gnu`, `-l${vscodeSysroot}/usr/lib/powerpc64le-linux-gnu`, `-l${vscodeSysroot}/lib/powerpc64le-linux-gnu`);
|
||||
+ break;
|
||||
}
|
||||
diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts
|
||||
index 5e373f6..4e1fcf6 100644
|
||||
--- a/build/gulpfile.vscode.ts
|
||||
+++ b/build/gulpfile.vscode.ts
|
||||
@@ -702,2 +702,3 @@ const BUILD_TARGETS = [
|
||||
{ platform: 'linux', arch: 'arm64' },
|
||||
+ { platform: 'linux', arch: 'ppc64le' },
|
||||
];
|
||||
diff --git a/build/linux/debian/calculate-deps.ts b/build/linux/debian/calculate-deps.ts
|
||||
index addc386..423c415 100644
|
||||
index 98a9630..6c6bbf5 100644
|
||||
--- a/build/linux/debian/calculate-deps.ts
|
||||
+++ b/build/linux/debian/calculate-deps.ts
|
||||
@@ -61,2 +61,8 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi
|
||||
@@ -61,2 +61,9 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi
|
||||
break;
|
||||
+ case 'ppc64el':
|
||||
+ case 'ppc64le':
|
||||
+ cmd.push(`-l${chromiumSysroot}/usr/lib/powerpc64le-linux-gnu`,
|
||||
+ `-l${chromiumSysroot}/lib/powerpc64le-linux-gnu`,
|
||||
+ `-l${vscodeSysroot}/usr/lib/powerpc64le-linux-gnu`,
|
||||
+ `-l${vscodeSysroot}/lib/powerpc64le-linux-gnu`);
|
||||
+ break;
|
||||
}
|
||||
diff --git a/build/linux/debian/dep-lists.js b/build/linux/debian/dep-lists.js
|
||||
index 057961c..ed10661 100644
|
||||
--- a/build/linux/debian/dep-lists.js
|
||||
+++ b/build/linux/debian/dep-lists.js
|
||||
@@ -141,2 +141,41 @@ exports.referenceGeneratedDepsByArch = {
|
||||
],
|
||||
+ 'ppc64el': [
|
||||
+ 'ca-certificates',
|
||||
+ 'libasound2 (>= 1.0.17)',
|
||||
+ 'libatk-bridge2.0-0 (>= 2.5.3)',
|
||||
+ 'libatk1.0-0 (>= 2.2.0)',
|
||||
+ 'libatspi2.0-0 (>= 2.9.90)',
|
||||
+ 'libc6 (>= 2.17)',
|
||||
+ 'libc6 (>= 2.28)',
|
||||
+ 'libcairo2 (>= 1.6.0)',
|
||||
+ 'libcurl3-gnutls | libcurl3-nss | libcurl4 | libcurl3',
|
||||
+ 'libdbus-1-3 (>= 1.9.14)',
|
||||
+ 'libdrm2 (>= 2.4.75)',
|
||||
+ 'libexpat1 (>= 2.1~beta3)',
|
||||
+ 'libgbm1 (>= 17.1.0~rc2)',
|
||||
+ 'libglib2.0-0 (>= 2.37.3)',
|
||||
+ 'libgssapi-krb5-2 (>= 1.17)',
|
||||
+ 'libgtk-3-0 (>= 3.9.10)',
|
||||
+ 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
|
||||
+ 'libkrb5-3 (>= 1.6.dfsg.2)',
|
||||
+ 'libnspr4 (>= 2:4.9-2~)',
|
||||
+ 'libnss3 (>= 2:3.30)',
|
||||
+ 'libnss3 (>= 3.26)',
|
||||
+ 'libpango-1.0-0 (>= 1.14.0)',
|
||||
+ 'libstdc++6 (>= 4.1.1)',
|
||||
+ 'libstdc++6 (>= 5)',
|
||||
+ 'libstdc++6 (>= 5.2)',
|
||||
+ 'libstdc++6 (>= 6)',
|
||||
+ 'libx11-6',
|
||||
+ 'libx11-6 (>= 2:1.4.99.1)',
|
||||
+ 'libxcb1 (>= 1.9.2)',
|
||||
+ 'libxcomposite1 (>= 1:0.4.4-1)',
|
||||
+ 'libxdamage1 (>= 1:1.1)',
|
||||
+ 'libxext6',
|
||||
+ 'libxfixes3',
|
||||
+ 'libxkbcommon0 (>= 0.5.0)',
|
||||
+ 'libxkbfile1 (>= 1:1.1.0)',
|
||||
+ 'libxrandr2',
|
||||
+ 'xdg-utils (>= 1.0.2)'
|
||||
+ ],
|
||||
};
|
||||
diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts
|
||||
index 707129f..7fe60be 100644
|
||||
index 78bfb66..5acd3a0 100644
|
||||
--- a/build/linux/debian/dep-lists.ts
|
||||
+++ b/build/linux/debian/dep-lists.ts
|
||||
@@ -141,2 +141,41 @@ export const referenceGeneratedDepsByArch = {
|
||||
@@ -142,2 +142,41 @@ export const referenceGeneratedDepsByArch = {
|
||||
],
|
||||
+ 'ppc64el': [
|
||||
+ 'ca-certificates',
|
||||
@@ -190,162 +134,36 @@ index 707129f..7fe60be 100644
|
||||
+ 'xdg-utils (>= 1.0.2)'
|
||||
+ ],
|
||||
};
|
||||
diff --git a/build/linux/debian/install-sysroot.js b/build/linux/debian/install-sysroot.js
|
||||
index 8fbdf3d..011b36f 100644
|
||||
--- a/build/linux/debian/install-sysroot.js
|
||||
+++ b/build/linux/debian/install-sysroot.js
|
||||
@@ -146,2 +146,6 @@ async function getVSCodeSysroot(arch, isMusl = false) {
|
||||
break;
|
||||
+ case 'ppc64le':
|
||||
+ expectedName = `powerpc64le-linux-gnu${prefix}.tar.gz`;
|
||||
+ triple = `powerpc64le-linux-gnu`;
|
||||
+ break;
|
||||
}
|
||||
diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts
|
||||
index 9f3fd15..756b7fd 100644
|
||||
index 7b6ac8b..ef7dd2b 100644
|
||||
--- a/build/linux/debian/install-sysroot.ts
|
||||
+++ b/build/linux/debian/install-sysroot.ts
|
||||
@@ -159,2 +159,6 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean =
|
||||
@@ -158,2 +158,7 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean =
|
||||
break;
|
||||
+ case 'ppc64le':
|
||||
+ case 'ppc64el':
|
||||
+ expectedName = `powerpc64le-linux-gnu${prefix}.tar.gz`;
|
||||
+ triple = `powerpc64le-linux-gnu`;
|
||||
+ break;
|
||||
}
|
||||
diff --git a/build/linux/debian/types.js b/build/linux/debian/types.js
|
||||
index ce21d50..2c56b9c 100644
|
||||
--- a/build/linux/debian/types.js
|
||||
+++ b/build/linux/debian/types.js
|
||||
@@ -8,3 +8,3 @@ exports.isDebianArchString = isDebianArchString;
|
||||
function isDebianArchString(s) {
|
||||
- return ['amd64', 'armhf', 'arm64'].includes(s);
|
||||
+ return ['amd64', 'armhf', 'arm64', 'ppc64el'].includes(s);
|
||||
}
|
||||
diff --git a/build/linux/debian/types.ts b/build/linux/debian/types.ts
|
||||
index e97485e..43f2434 100644
|
||||
index e97485e..c56d067 100644
|
||||
--- a/build/linux/debian/types.ts
|
||||
+++ b/build/linux/debian/types.ts
|
||||
@@ -5,6 +5,6 @@
|
||||
|
||||
-export type DebianArchString = 'amd64' | 'armhf' | 'arm64';
|
||||
+export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el';
|
||||
+export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'ppc64le';
|
||||
|
||||
export function isDebianArchString(s: string): s is DebianArchString {
|
||||
- return ['amd64', 'armhf', 'arm64'].includes(s);
|
||||
+ return ['amd64', 'armhf', 'arm64', 'ppc64el'].includes(s);
|
||||
+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'ppc64le'].includes(s);
|
||||
}
|
||||
diff --git a/build/linux/rpm/dep-lists.js b/build/linux/rpm/dep-lists.js
|
||||
index 1f19c85..43ac5a0 100644
|
||||
--- a/build/linux/rpm/dep-lists.js
|
||||
+++ b/build/linux/rpm/dep-lists.js
|
||||
@@ -316,2 +316,102 @@ exports.referenceGeneratedDepsByArch = {
|
||||
'xdg-utils'
|
||||
+ ],
|
||||
+ "ppc64le": [
|
||||
+ 'ca-certificates',
|
||||
+ 'ld-linux-x86-64.so.2()(64bit)',
|
||||
+ 'ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)',
|
||||
+ 'ld64.so.2()(64bit)',
|
||||
+ 'ld64.so.2(GLIBC_2.17)(64bit)',
|
||||
+ 'libX11.so.6()(64bit)',
|
||||
+ 'libXcomposite.so.1()(64bit)',
|
||||
+ 'libXdamage.so.1()(64bit)',
|
||||
+ 'libXext.so.6()(64bit)',
|
||||
+ 'libXfixes.so.3()(64bit)',
|
||||
+ 'libXrandr.so.2()(64bit)',
|
||||
+ 'libasound.so.2()(64bit)',
|
||||
+ 'libasound.so.2(ALSA_0.9)(64bit)',
|
||||
+ 'libasound.so.2(ALSA_0.9.0rc4)(64bit)',
|
||||
+ 'libatk-1.0.so.0()(64bit)',
|
||||
+ 'libatk-bridge-2.0.so.0()(64bit)',
|
||||
+ 'libatspi.so.0()(64bit)',
|
||||
+ 'libc.so.6()(64bit)',
|
||||
+ 'libc.so.6(GLIBC_2.14)(64bit)',
|
||||
+ 'libc.so.6(GLIBC_2.17)(64bit)',
|
||||
+ 'libc.so.6(GLIBC_2.2.5)(64bit)',
|
||||
+ 'libc.so.6(GLIBC_2.28)(64bit)',
|
||||
+ 'libc.so.6(GLIBC_2.4)(64bit)',
|
||||
+ 'libc.so.6(GLIBC_2.9)(64bit)',
|
||||
+ 'libcairo.so.2()(64bit)',
|
||||
+ 'libcups.so.2()(64bit)',
|
||||
+ 'libcurl.so.4()(64bit)',
|
||||
+ 'libdbus-1.so.3()(64bit)',
|
||||
+ 'libdbus-1.so.3(LIBDBUS_1_3)(64bit)',
|
||||
+ 'libdl.so.2()(64bit)',
|
||||
+ 'libdl.so.2(GLIBC_2.17)(64bit)',
|
||||
+ 'libdrm.so.2()(64bit)',
|
||||
+ 'libexpat.so.1()(64bit)',
|
||||
+ 'libgbm.so.1()(64bit)',
|
||||
+ 'libgcc_s.so.1()(64bit)',
|
||||
+ 'libgcc_s.so.1(GCC_3.0)(64bit)',
|
||||
+ 'libgcc_s.so.1(GCC_3.4.4)(64bit)',
|
||||
+ 'libgio-2.0.so.0()(64bit)',
|
||||
+ 'libglib-2.0.so.0()(64bit)',
|
||||
+ 'libgobject-2.0.so.0()(64bit)',
|
||||
+ 'libgssapi_krb5.so.2()(64bit)',
|
||||
+ 'libgssapi_krb5.so.2(gssapi_krb5_2_MIT)(64bit)',
|
||||
+ 'libgtk-3.so.0()(64bit)',
|
||||
+ 'libkrb5.so.3()(64bit)',
|
||||
+ 'libkrb5.so.3(krb5_3_MIT)(64bit)',
|
||||
+ 'libm.so.6()(64bit)',
|
||||
+ 'libm.so.6(GLIBC_2.17)(64bit)',
|
||||
+ 'libm.so.6(GLIBC_2.2.5)(64bit)',
|
||||
+ 'libm.so.6(GLIBC_2.27)(64bit)',
|
||||
+ 'libnspr4.so()(64bit)',
|
||||
+ 'libnss3.so()(64bit)',
|
||||
+ 'libnss3.so(NSS_3.11)(64bit)',
|
||||
+ 'libnss3.so(NSS_3.12)(64bit)',
|
||||
+ 'libnss3.so(NSS_3.12.1)(64bit)',
|
||||
+ 'libnss3.so(NSS_3.2)(64bit)',
|
||||
+ 'libnss3.so(NSS_3.22)(64bit)',
|
||||
+ 'libnss3.so(NSS_3.3)(64bit)',
|
||||
+ 'libnss3.so(NSS_3.30)(64bit)',
|
||||
+ 'libnss3.so(NSS_3.4)(64bit)',
|
||||
+ 'libnss3.so(NSS_3.5)(64bit)',
|
||||
+ 'libnss3.so(NSS_3.9.2)(64bit)',
|
||||
+ 'libnssutil3.so()(64bit)',
|
||||
+ 'libnssutil3.so(NSSUTIL_3.12.3)(64bit)',
|
||||
+ 'libpango-1.0.so.0()(64bit)',
|
||||
+ 'libpthread.so.0()(64bit)',
|
||||
+ 'libpthread.so.0(GLIBC_2.17)(64bit)',
|
||||
+ 'libpthread.so.0(GLIBC_2.2.5)(64bit)',
|
||||
+ 'libpthread.so.0(GLIBC_2.3.2)(64bit)',
|
||||
+ 'libpthread.so.0(GLIBC_2.3.3)(64bit)',
|
||||
+ 'libsmime3.so()(64bit)',
|
||||
+ 'libsmime3.so(NSS_3.10)(64bit)',
|
||||
+ 'libsmime3.so(NSS_3.2)(64bit)',
|
||||
+ 'libssl3.so(NSS_3.28)(64bit)',
|
||||
+ 'libstdc++.so.6()(64bit)',
|
||||
+ 'libstdc++.so.6(CXXABI_1.3)(64bit)',
|
||||
+ 'libstdc++.so.6(CXXABI_1.3.5)(64bit)',
|
||||
+ 'libstdc++.so.6(CXXABI_1.3.8)(64bit)',
|
||||
+ 'libstdc++.so.6(CXXABI_1.3.9)(64bit)',
|
||||
+ 'libstdc++.so.6(GLIBCXX_3.4)(64bit)',
|
||||
+ 'libstdc++.so.6(GLIBCXX_3.4.11)(64bit)',
|
||||
+ 'libstdc++.so.6(GLIBCXX_3.4.14)(64bit)',
|
||||
+ 'libstdc++.so.6(GLIBCXX_3.4.15)(64bit)',
|
||||
+ 'libstdc++.so.6(GLIBCXX_3.4.18)(64bit)',
|
||||
+ 'libstdc++.so.6(GLIBCXX_3.4.19)(64bit)',
|
||||
+ 'libstdc++.so.6(GLIBCXX_3.4.20)(64bit)',
|
||||
+ 'libstdc++.so.6(GLIBCXX_3.4.21)(64bit)',
|
||||
+ 'libstdc++.so.6(GLIBCXX_3.4.22)(64bit)',
|
||||
+ 'libstdc++.so.6(GLIBCXX_3.4.5)(64bit)',
|
||||
+ 'libstdc++.so.6(GLIBCXX_3.4.9)(64bit)',
|
||||
+ 'libutil.so.1()(64bit)',
|
||||
+ 'libutil.so.1(GLIBC_2.2.5)(64bit)',
|
||||
+ 'libxcb.so.1()(64bit)',
|
||||
+ 'libxkbcommon.so.0()(64bit)',
|
||||
+ 'libxkbcommon.so.0(V_0.5.0)(64bit)',
|
||||
+ 'libxkbfile.so.1()(64bit)',
|
||||
+ 'rpmlib(FileDigests) <= 4.6.0-1',
|
||||
+ 'rtld(GNU_HASH)',
|
||||
+ 'xdg-utils'
|
||||
]
|
||||
diff --git a/build/linux/rpm/dep-lists.ts b/build/linux/rpm/dep-lists.ts
|
||||
index db52338..4231f09 100644
|
||||
index 0424c8d..c7e0820 100644
|
||||
--- a/build/linux/rpm/dep-lists.ts
|
||||
+++ b/build/linux/rpm/dep-lists.ts
|
||||
@@ -315,2 +315,102 @@ export const referenceGeneratedDepsByArch = {
|
||||
@@ -318,2 +318,102 @@ export const referenceGeneratedDepsByArch = {
|
||||
'xdg-utils'
|
||||
+ ],
|
||||
+ "ppc64le": [
|
||||
@@ -448,15 +266,6 @@ index db52338..4231f09 100644
|
||||
+ 'rtld(GNU_HASH)',
|
||||
+ 'xdg-utils'
|
||||
]
|
||||
diff --git a/build/linux/rpm/types.js b/build/linux/rpm/types.js
|
||||
index a20b9c2..7b58961 100644
|
||||
--- a/build/linux/rpm/types.js
|
||||
+++ b/build/linux/rpm/types.js
|
||||
@@ -8,3 +8,3 @@ exports.isRpmArchString = isRpmArchString;
|
||||
function isRpmArchString(s) {
|
||||
- return ['x86_64', 'armv7hl', 'aarch64'].includes(s);
|
||||
+ return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le'].includes(s);
|
||||
}
|
||||
diff --git a/build/linux/rpm/types.ts b/build/linux/rpm/types.ts
|
||||
index c6a01da..3f3c3f5 100644
|
||||
--- a/build/linux/rpm/types.ts
|
||||
@@ -470,33 +279,46 @@ index c6a01da..3f3c3f5 100644
|
||||
- return ['x86_64', 'armv7hl', 'aarch64'].includes(s);
|
||||
+ return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le'].includes(s);
|
||||
}
|
||||
diff --git a/build/npm/preinstall.ts b/build/npm/preinstall.ts
|
||||
index dd53ff4..ca427d9 100644
|
||||
--- a/build/npm/preinstall.ts
|
||||
+++ b/build/npm/preinstall.ts
|
||||
@@ -149,3 +149,7 @@ function installHeaders() {
|
||||
} catch (error) {
|
||||
- throw new Error(`Error applying v8-source-location.patch: ${(error as Error).message}`);
|
||||
+ if (process.env['VSCODE_ARCH'] === 'ppc64le') {
|
||||
+ console.log('Ignoring patch error for ppc64le architecture');
|
||||
+ } else {
|
||||
+ throw new Error(`Error applying v8-source-location.patch: ${(error as Error).message}`);
|
||||
+ }
|
||||
}
|
||||
diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs
|
||||
index a39bbf7..84d3efe 100644
|
||||
index 3b7ef5c..ec97760 100644
|
||||
--- a/cli/src/update_service.rs
|
||||
+++ b/cli/src/update_service.rs
|
||||
@@ -176,2 +176,3 @@ pub enum Platform {
|
||||
@@ -183,2 +183,3 @@ pub enum Platform {
|
||||
LinuxARM32Legacy,
|
||||
+ LinuxPPC64LE,
|
||||
DarwinX64,
|
||||
@@ -194,2 +195,3 @@ impl Platform {
|
||||
@@ -201,2 +202,3 @@ impl Platform {
|
||||
Platform::LinuxARM32Legacy => "armhf",
|
||||
+ Platform::LinuxPPC64LE => "ppc64le",
|
||||
Platform::DarwinX64 => "x64",
|
||||
@@ -213,2 +215,3 @@ impl Platform {
|
||||
@@ -220,2 +222,3 @@ impl Platform {
|
||||
Platform::LinuxARM32Legacy => "linux",
|
||||
+ Platform::LinuxPPC64LE => "linux",
|
||||
Platform::DarwinX64 => "darwin",
|
||||
@@ -241,2 +244,4 @@ impl Platform {
|
||||
@@ -248,2 +251,4 @@ impl Platform {
|
||||
Some(Platform::LinuxARM64)
|
||||
+ } else if cfg!(all(target_os = "linux", target_arch = "powerpc64")) {
|
||||
+ Some(Platform::LinuxPPC64LE)
|
||||
} else if cfg!(all(target_os = "macos", target_arch = "x86_64")) {
|
||||
@@ -268,2 +273,3 @@ impl fmt::Display for Platform {
|
||||
@@ -275,2 +280,3 @@ impl fmt::Display for Platform {
|
||||
Platform::LinuxARM32Legacy => "LinuxARM32Legacy",
|
||||
+ Platform::LinuxPPC64LE => "LinuxPPC64LE",
|
||||
Platform::DarwinX64 => "DarwinX64",
|
||||
diff --git a/cli/src/util/prereqs.rs b/cli/src/util/prereqs.rs
|
||||
index 44c8597..679aacb 100644
|
||||
index 44c8597..205c274 100644
|
||||
--- a/cli/src/util/prereqs.rs
|
||||
+++ b/cli/src/util/prereqs.rs
|
||||
@@ -82,2 +82,4 @@ impl PreReqChecker {
|
||||
@@ -504,37 +326,42 @@ index 44c8597..679aacb 100644
|
||||
+ } else if cfg!(target_arch = "powerpc64") {
|
||||
+ Platform::LinuxPPC64LE
|
||||
} else {
|
||||
@@ -207,2 +209,4 @@ async fn check_glibcxx_version() -> Result<bool, String> {
|
||||
const DEFAULT_LIB_PATH: &str = "/usr/lib64/libstdc++.so.6";
|
||||
+ #[cfg(target_arch = "powerpc64")]
|
||||
+ const DEFAULT_LIB_PATH: &str = "/usr/lib64/libstdc++.so.6";
|
||||
#[cfg(any(target_arch = "x86", target_arch = "arm"))]
|
||||
diff --git a/resources/server/bin/helpers/check-requirements-linux.sh b/resources/server/bin/helpers/check-requirements-linux.sh
|
||||
index 8ea4c0b..b9d3b47 100644
|
||||
index 8ea4c0b..94028e3 100644
|
||||
--- a/resources/server/bin/helpers/check-requirements-linux.sh
|
||||
+++ b/resources/server/bin/helpers/check-requirements-linux.sh
|
||||
@@ -55,2 +55,3 @@ case $ARCH in
|
||||
;;
|
||||
+ ppc64el) LDCONFIG_ARCH="64bit";;
|
||||
+ ppc64le) LDCONFIG_ARCH="64bit";;
|
||||
esac
|
||||
diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts
|
||||
index e91310f..a28beef 100644
|
||||
index ab11f6b..fd1ec31 100644
|
||||
--- a/src/vs/platform/extensionManagement/common/extensionManagement.ts
|
||||
+++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts
|
||||
@@ -47,2 +47,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
|
||||
@@ -48,2 +48,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
|
||||
case TargetPlatform.LINUX_ARMHF: return 'Linux ARM';
|
||||
+ case TargetPlatform.LINUX_PPC64LE: return 'Linux PowerPC64';
|
||||
|
||||
@@ -70,2 +71,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
|
||||
@@ -71,2 +72,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
|
||||
case TargetPlatform.LINUX_ARMHF: return TargetPlatform.LINUX_ARMHF;
|
||||
+ case TargetPlatform.LINUX_PPC64LE: return TargetPlatform.LINUX_PPC64LE;
|
||||
|
||||
@@ -105,2 +107,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
|
||||
@@ -106,2 +108,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
|
||||
}
|
||||
+ if (arch === 'ppc64le') {
|
||||
+ return TargetPlatform.LINUX_PPC64LE;
|
||||
+ }
|
||||
return TargetPlatform.UNKNOWN;
|
||||
diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts
|
||||
index 0b42527..69d6eb3 100644
|
||||
index 3e5b309..0fbbb67 100644
|
||||
--- a/src/vs/platform/extensions/common/extensions.ts
|
||||
+++ b/src/vs/platform/extensions/common/extensions.ts
|
||||
@@ -329,2 +329,3 @@ export const enum TargetPlatform {
|
||||
@@ -343,2 +343,3 @@ export const enum TargetPlatform {
|
||||
LINUX_ARMHF = 'linux-armhf',
|
||||
+ LINUX_PPC64LE = 'linux-ppc64le',
|
||||
|
||||
|
||||
@@ -1,60 +1,48 @@
|
||||
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
|
||||
index cd04bdf..e284026 100644
|
||||
--- a/build/gulpfile.reh.js
|
||||
+++ b/build/gulpfile.reh.js
|
||||
@@ -51,2 +51,3 @@ const BUILD_TARGETS = [
|
||||
diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts
|
||||
index f986b4e..557990e 100644
|
||||
--- a/build/gulpfile.reh.ts
|
||||
+++ b/build/gulpfile.reh.ts
|
||||
@@ -53,2 +53,3 @@ const BUILD_TARGETS = [
|
||||
{ platform: 'linux', arch: 'ppc64le' },
|
||||
+ { platform: 'linux', arch: 'riscv64' },
|
||||
{ platform: 'alpine', arch: 'arm64' },
|
||||
diff --git a/build/gulpfile.scan.js b/build/gulpfile.scan.js
|
||||
index 484d5f4..66c8e1f 100644
|
||||
--- a/build/gulpfile.scan.js
|
||||
+++ b/build/gulpfile.scan.js
|
||||
@@ -27,2 +27,3 @@ const BUILD_TARGETS = [
|
||||
diff --git a/build/gulpfile.scan.ts b/build/gulpfile.scan.ts
|
||||
index 47b25cf..dd5bb56 100644
|
||||
--- a/build/gulpfile.scan.ts
|
||||
+++ b/build/gulpfile.scan.ts
|
||||
@@ -25,2 +25,3 @@ const BUILD_TARGETS = [
|
||||
{ platform: 'linux', arch: 'ppc64le' },
|
||||
+ { platform: 'linux', arch: 'riscv64' },
|
||||
];
|
||||
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
|
||||
index 3ed2182..f0614d0 100644
|
||||
--- a/build/gulpfile.vscode.js
|
||||
+++ b/build/gulpfile.vscode.js
|
||||
@@ -492,2 +492,3 @@ const BUILD_TARGETS = [
|
||||
{ platform: 'linux', arch: 'ppc64le' },
|
||||
+ { platform: 'linux', arch: 'riscv64' },
|
||||
];
|
||||
diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js
|
||||
index 707581d..298181d 100644
|
||||
--- a/build/gulpfile.vscode.linux.js
|
||||
+++ b/build/gulpfile.vscode.linux.js
|
||||
@@ -33,3 +33,3 @@ const linuxPackageRevision = Math.floor(new Date().getTime() / 1000);
|
||||
function getDebPackageArch(arch) {
|
||||
- return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64', ppc64le: 'ppc64el' }[arch];
|
||||
+ return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64', ppc64le: 'ppc64el', riscv64: 'riscv64' }[arch];
|
||||
}
|
||||
@@ -146,3 +146,3 @@ function getRpmBuildPath(rpmArch) {
|
||||
function getRpmPackageArch(arch) {
|
||||
- return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64', ppc64le: 'ppc64le' }[arch];
|
||||
+ return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64', ppc64le: 'ppc64le', riscv64: 'riscv64' }[arch];
|
||||
}
|
||||
@@ -305,2 +305,3 @@ const BUILD_TARGETS = [
|
||||
diff --git a/build/gulpfile.vscode.linux.ts b/build/gulpfile.vscode.linux.ts
|
||||
index da4fc1f..b64dd9a 100644
|
||||
--- a/build/gulpfile.vscode.linux.ts
|
||||
+++ b/build/gulpfile.vscode.linux.ts
|
||||
@@ -33,2 +33,3 @@ function getDebPackageArch(arch: string): string {
|
||||
case 'ppc64le': return 'ppc64el';
|
||||
+ case 'riscv64': return 'riscv64';
|
||||
default: throw new Error(`Unknown arch: ${arch}`);
|
||||
@@ -144,2 +145,3 @@ function getRpmPackageArch(arch: string): string {
|
||||
case 'ppc64le': return 'ppc64le';
|
||||
+ case 'riscv64': return 'riscv64';
|
||||
default: throw new Error(`Unknown arch: ${arch}`);
|
||||
@@ -289,2 +291,3 @@ const BUILD_TARGETS = [
|
||||
{ arch: 'ppc64le' },
|
||||
+ { arch: 'riscv64' },
|
||||
];
|
||||
diff --git a/build/linux/debian/calculate-deps.js b/build/linux/debian/calculate-deps.js
|
||||
index fdae163..a08ebda 100644
|
||||
--- a/build/linux/debian/calculate-deps.js
|
||||
+++ b/build/linux/debian/calculate-deps.js
|
||||
@@ -57,2 +57,5 @@ function calculatePackageDeps(binaryPath, arch, chromiumSysroot, vscodeSysroot)
|
||||
break;
|
||||
+ case 'riscv64':
|
||||
+ cmd.push(`-l${chromiumSysroot}/usr/lib/riscv64-linux-gnu`, `-l${chromiumSysroot}/lib/riscv64-linux-gnu`, `-l${vscodeSysroot}/usr/lib/riscv64-linux-gnu`, `-l${vscodeSysroot}/lib/riscv64-linux-gnu`);
|
||||
+ break;
|
||||
}
|
||||
diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts
|
||||
index 1d7e9d5..3a5a9ca 100644
|
||||
--- a/build/gulpfile.vscode.ts
|
||||
+++ b/build/gulpfile.vscode.ts
|
||||
@@ -518,2 +518,3 @@ const BUILD_TARGETS = [
|
||||
{ platform: 'linux', arch: 'ppc64le' },
|
||||
+ { platform: 'linux', arch: 'riscv64' },
|
||||
];
|
||||
diff --git a/build/linux/debian/calculate-deps.ts b/build/linux/debian/calculate-deps.ts
|
||||
index 423c415..88ee2f0 100644
|
||||
index 6c6bbf5..5ee005e 100644
|
||||
--- a/build/linux/debian/calculate-deps.ts
|
||||
+++ b/build/linux/debian/calculate-deps.ts
|
||||
@@ -67,2 +67,8 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi
|
||||
@@ -68,2 +68,8 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi
|
||||
break;
|
||||
+ case 'riscv64':
|
||||
+ cmd.push(`-l${chromiumSysroot}/usr/lib/riscv64-linux-gnu`,
|
||||
@@ -63,58 +51,11 @@ index 423c415..88ee2f0 100644
|
||||
+ `-l${vscodeSysroot}/lib/riscv64-linux-gnu`);
|
||||
+ break;
|
||||
}
|
||||
diff --git a/build/linux/debian/dep-lists.js b/build/linux/debian/dep-lists.js
|
||||
index a85352e..4ccdcd9 100644
|
||||
--- a/build/linux/debian/dep-lists.js
|
||||
+++ b/build/linux/debian/dep-lists.js
|
||||
@@ -178,2 +178,42 @@ exports.referenceGeneratedDepsByArch = {
|
||||
],
|
||||
+ 'riscv64': [
|
||||
+ 'ca-certificates',
|
||||
+ 'libatomic1',
|
||||
+ 'libasound2 (>= 1.0.17)',
|
||||
+ 'libatk-bridge2.0-0 (>= 2.5.3)',
|
||||
+ 'libatk1.0-0 (>= 2.2.0)',
|
||||
+ 'libatspi2.0-0 (>= 2.9.90)',
|
||||
+ 'libc6 (>= 2.17)',
|
||||
+ 'libc6 (>= 2.28)',
|
||||
+ 'libcairo2 (>= 1.6.0)',
|
||||
+ 'libcurl3-gnutls | libcurl3-nss | libcurl4 | libcurl3',
|
||||
+ 'libdbus-1-3 (>= 1.0.2)',
|
||||
+ 'libdrm2 (>= 2.4.60)',
|
||||
+ 'libexpat1 (>= 2.0.1)',
|
||||
+ 'libgbm1 (>= 17.1.0~rc2)',
|
||||
+ 'libglib2.0-0 (>= 2.16.0)',
|
||||
+ 'libglib2.0-0 (>= 2.39.4)',
|
||||
+ 'libgtk-3-0 (>= 3.9.10)',
|
||||
+ 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
|
||||
+ 'libnspr4 (>= 2:4.9-2~)',
|
||||
+ 'libnss3 (>= 2:3.22)',
|
||||
+ 'libnss3 (>= 3.26)',
|
||||
+ 'libpango-1.0-0 (>= 1.14.0)',
|
||||
+ 'libsecret-1-0 (>= 0.18)',
|
||||
+ 'libstdc++6 (>= 4.1.1)',
|
||||
+ 'libstdc++6 (>= 5)',
|
||||
+ 'libstdc++6 (>= 5.2)',
|
||||
+ 'libstdc++6 (>= 6)',
|
||||
+ 'libx11-6',
|
||||
+ 'libx11-6 (>= 2:1.4.99.1)',
|
||||
+ 'libxcb1 (>= 1.9.2)',
|
||||
+ 'libxcomposite1 (>= 1:0.4.4-1)',
|
||||
+ 'libxdamage1 (>= 1:1.1)',
|
||||
+ 'libxext6',
|
||||
+ 'libxfixes3',
|
||||
+ 'libxkbcommon0 (>= 0.4.1)',
|
||||
+ 'libxkbfile1',
|
||||
+ 'libxrandr2',
|
||||
+ 'xdg-utils (>= 1.0.2)'
|
||||
+ ],
|
||||
};
|
||||
diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts
|
||||
index 0d0f11b..b765492 100644
|
||||
index 73d451f..7ea5910 100644
|
||||
--- a/build/linux/debian/dep-lists.ts
|
||||
+++ b/build/linux/debian/dep-lists.ts
|
||||
@@ -178,2 +178,42 @@ export const referenceGeneratedDepsByArch = {
|
||||
@@ -181,2 +181,42 @@ export const referenceGeneratedDepsByArch = {
|
||||
],
|
||||
+ 'riscv64': [
|
||||
+ 'ca-certificates',
|
||||
@@ -157,58 +98,29 @@ index 0d0f11b..b765492 100644
|
||||
+ 'xdg-utils (>= 1.0.2)'
|
||||
+ ],
|
||||
};
|
||||
diff --git a/build/linux/debian/install-sysroot.js b/build/linux/debian/install-sysroot.js
|
||||
index ab6b826..fc2817a 100644
|
||||
--- a/build/linux/debian/install-sysroot.js
|
||||
+++ b/build/linux/debian/install-sysroot.js
|
||||
@@ -144,2 +144,6 @@ async function getVSCodeSysroot(arch) {
|
||||
break;
|
||||
+ case 'riscv64':
|
||||
+ expectedName = `riscv64-linux-gnu${prefix}.tar.gz`;
|
||||
+ triple = 'riscv64-linux-gnu';
|
||||
+ break;
|
||||
}
|
||||
diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts
|
||||
index c23db0f..50c28b2 100644
|
||||
index 3086928..6e5246c 100644
|
||||
--- a/build/linux/debian/install-sysroot.ts
|
||||
+++ b/build/linux/debian/install-sysroot.ts
|
||||
@@ -158,2 +158,6 @@ export async function getVSCodeSysroot(arch: DebianArchString): Promise<string>
|
||||
@@ -162,2 +162,6 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean =
|
||||
break;
|
||||
+ case 'riscv64':
|
||||
+ expectedName = `riscv64-linux-gnu${prefix}.tar.gz`;
|
||||
+ triple = 'riscv64-linux-gnu';
|
||||
+ break;
|
||||
}
|
||||
diff --git a/build/linux/debian/types.js b/build/linux/debian/types.js
|
||||
index 2c56b9c..cadefc2 100644
|
||||
--- a/build/linux/debian/types.js
|
||||
+++ b/build/linux/debian/types.js
|
||||
@@ -8,3 +8,3 @@ exports.isDebianArchString = isDebianArchString;
|
||||
function isDebianArchString(s) {
|
||||
- return ['amd64', 'armhf', 'arm64', 'ppc64el'].includes(s);
|
||||
+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64'].includes(s);
|
||||
}
|
||||
diff --git a/build/linux/debian/types.ts b/build/linux/debian/types.ts
|
||||
index 43f2434..24fe452 100644
|
||||
index c56d067..5d63ed2 100644
|
||||
--- a/build/linux/debian/types.ts
|
||||
+++ b/build/linux/debian/types.ts
|
||||
@@ -5,6 +5,6 @@
|
||||
|
||||
-export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el';
|
||||
+export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'riscv64';
|
||||
-export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'ppc64le';
|
||||
+export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'ppc64le' | 'riscv64';
|
||||
|
||||
export function isDebianArchString(s: string): s is DebianArchString {
|
||||
- return ['amd64', 'armhf', 'arm64', 'ppc64el'].includes(s);
|
||||
+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64'].includes(s);
|
||||
}
|
||||
diff --git a/build/linux/rpm/types.js b/build/linux/rpm/types.js
|
||||
index 7b58961..99a8cff 100644
|
||||
--- a/build/linux/rpm/types.js
|
||||
+++ b/build/linux/rpm/types.js
|
||||
@@ -8,3 +8,3 @@ exports.isRpmArchString = isRpmArchString;
|
||||
function isRpmArchString(s) {
|
||||
- return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le'].includes(s);
|
||||
+ return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64'].includes(s);
|
||||
- return ['amd64', 'armhf', 'arm64', 'ppc64el', 'ppc64le'].includes(s);
|
||||
+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'ppc64le', 'riscv64'].includes(s);
|
||||
}
|
||||
diff --git a/build/linux/rpm/types.ts b/build/linux/rpm/types.ts
|
||||
index 3f3c3f5..d94537e 100644
|
||||
@@ -224,27 +136,27 @@ index 3f3c3f5..d94537e 100644
|
||||
+ return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64'].includes(s);
|
||||
}
|
||||
diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs
|
||||
index 84d3efe..4f2c8c2 100644
|
||||
index ec97760..de9ca72 100644
|
||||
--- a/cli/src/update_service.rs
|
||||
+++ b/cli/src/update_service.rs
|
||||
@@ -177,2 +177,3 @@ pub enum Platform {
|
||||
@@ -184,2 +184,3 @@ pub enum Platform {
|
||||
LinuxPPC64LE,
|
||||
+ LinuxRISCV64,
|
||||
DarwinX64,
|
||||
@@ -196,2 +197,3 @@ impl Platform {
|
||||
@@ -203,2 +204,3 @@ impl Platform {
|
||||
Platform::LinuxPPC64LE => "ppc64le",
|
||||
+ Platform::LinuxRISCV64 => "riscv64",
|
||||
Platform::DarwinX64 => "x64",
|
||||
@@ -216,2 +218,3 @@ impl Platform {
|
||||
@@ -223,2 +225,3 @@ impl Platform {
|
||||
Platform::LinuxPPC64LE => "linux",
|
||||
+ Platform::LinuxRISCV64 => "linux",
|
||||
Platform::DarwinX64 => "darwin",
|
||||
@@ -246,2 +249,4 @@ impl Platform {
|
||||
@@ -253,2 +256,4 @@ impl Platform {
|
||||
Some(Platform::LinuxPPC64LE)
|
||||
+ } else if cfg!(all(target_os = "linux", target_arch = "riscv64")) {
|
||||
+ Some(Platform::LinuxRISCV64)
|
||||
} else if cfg!(all(target_os = "macos", target_arch = "x86_64")) {
|
||||
@@ -274,2 +279,3 @@ impl fmt::Display for Platform {
|
||||
@@ -281,2 +286,3 @@ impl fmt::Display for Platform {
|
||||
Platform::LinuxPPC64LE => "LinuxPPC64LE",
|
||||
+ Platform::LinuxRISCV64 => "LinuxRISCV64",
|
||||
Platform::DarwinX64 => "DarwinX64",
|
||||
@@ -258,36 +170,36 @@ index 679aacb..1a37552 100644
|
||||
+ Platform::LinuxRISCV64
|
||||
} else {
|
||||
diff --git a/resources/server/bin/helpers/check-requirements-linux.sh b/resources/server/bin/helpers/check-requirements-linux.sh
|
||||
index b9d3b47..b18e402 100644
|
||||
index 94028e3..c41cce7 100644
|
||||
--- a/resources/server/bin/helpers/check-requirements-linux.sh
|
||||
+++ b/resources/server/bin/helpers/check-requirements-linux.sh
|
||||
@@ -56,2 +56,3 @@ case $ARCH in
|
||||
ppc64el) LDCONFIG_ARCH="64bit";;
|
||||
ppc64le) LDCONFIG_ARCH="64bit";;
|
||||
+ riscv64) LDCONFIG_ARCH="RISC-V";;
|
||||
esac
|
||||
diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts
|
||||
index 5400065..be95b04 100644
|
||||
index a754ff3..b607327 100644
|
||||
--- a/src/vs/platform/extensionManagement/common/extensionManagement.ts
|
||||
+++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts
|
||||
@@ -45,2 +45,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
|
||||
@@ -49,2 +49,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
|
||||
case TargetPlatform.LINUX_PPC64LE: return 'Linux PowerPC64';
|
||||
+ case TargetPlatform.LINUX_RISCV64: return 'Linux RISC-V 64';
|
||||
|
||||
@@ -69,2 +70,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
|
||||
@@ -73,2 +74,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
|
||||
case TargetPlatform.LINUX_PPC64LE: return TargetPlatform.LINUX_PPC64LE;
|
||||
+ case TargetPlatform.LINUX_RISCV64: return TargetPlatform.LINUX_RISCV64;
|
||||
|
||||
@@ -107,2 +109,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
|
||||
@@ -111,2 +113,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
|
||||
}
|
||||
+ if (arch === 'riscv64') {
|
||||
+ return TargetPlatform.LINUX_RISCV64;
|
||||
+ }
|
||||
return TargetPlatform.UNKNOWN;
|
||||
diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts
|
||||
index 23f1bea..10152de 100644
|
||||
index b605be0..22d2206 100644
|
||||
--- a/src/vs/platform/extensions/common/extensions.ts
|
||||
+++ b/src/vs/platform/extensions/common/extensions.ts
|
||||
@@ -320,2 +320,3 @@ export const enum TargetPlatform {
|
||||
@@ -332,2 +332,3 @@ export const enum TargetPlatform {
|
||||
LINUX_PPC64LE = 'linux-ppc64le',
|
||||
+ LINUX_RISCV64 = 'linux-riscv64',
|
||||
|
||||
|
||||
@@ -1,49 +1,65 @@
|
||||
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
|
||||
index e284026..52f9a12 100644
|
||||
--- a/build/gulpfile.reh.js
|
||||
+++ b/build/gulpfile.reh.js
|
||||
@@ -52,2 +52,3 @@ const BUILD_TARGETS = [
|
||||
diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts
|
||||
index ff202a7..74bd1bc 100644
|
||||
--- a/build/gulpfile.reh.ts
|
||||
+++ b/build/gulpfile.reh.ts
|
||||
@@ -54,2 +54,3 @@ const BUILD_TARGETS = [
|
||||
{ platform: 'linux', arch: 'riscv64' },
|
||||
+ { platform: 'linux', arch: 'loong64' },
|
||||
{ platform: 'alpine', arch: 'arm64' },
|
||||
diff --git a/build/gulpfile.scan.js b/build/gulpfile.scan.js
|
||||
index 66c8e1f..8a8c1eb 100644
|
||||
--- a/build/gulpfile.scan.js
|
||||
+++ b/build/gulpfile.scan.js
|
||||
@@ -28,2 +28,3 @@ const BUILD_TARGETS = [
|
||||
diff --git a/build/gulpfile.scan.ts b/build/gulpfile.scan.ts
|
||||
index dd5bb56..e7881de 100644
|
||||
--- a/build/gulpfile.scan.ts
|
||||
+++ b/build/gulpfile.scan.ts
|
||||
@@ -26,2 +26,3 @@ const BUILD_TARGETS = [
|
||||
{ platform: 'linux', arch: 'riscv64' },
|
||||
+ { platform: 'linux', arch: 'loong64' },
|
||||
];
|
||||
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
|
||||
index f0614d0..1438867 100644
|
||||
--- a/build/gulpfile.vscode.js
|
||||
+++ b/build/gulpfile.vscode.js
|
||||
@@ -493,2 +493,3 @@ const BUILD_TARGETS = [
|
||||
diff --git a/build/gulpfile.vscode.linux.ts b/build/gulpfile.vscode.linux.ts
|
||||
index b64dd9a..e146586 100644
|
||||
--- a/build/gulpfile.vscode.linux.ts
|
||||
+++ b/build/gulpfile.vscode.linux.ts
|
||||
@@ -34,2 +34,3 @@ function getDebPackageArch(arch: string): string {
|
||||
case 'riscv64': return 'riscv64';
|
||||
+ case 'loong64': return 'loong64';
|
||||
default: throw new Error(`Unknown arch: ${arch}`);
|
||||
@@ -146,2 +147,3 @@ function getRpmPackageArch(arch: string): string {
|
||||
case 'riscv64': return 'riscv64';
|
||||
+ case 'loong64': return 'loong64';
|
||||
default: throw new Error(`Unknown arch: ${arch}`);
|
||||
@@ -292,2 +294,3 @@ const BUILD_TARGETS = [
|
||||
{ arch: 'riscv64' },
|
||||
+ { arch: 'loong64' },
|
||||
];
|
||||
diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts
|
||||
index 15bd141..cabe16f 100644
|
||||
--- a/build/gulpfile.vscode.ts
|
||||
+++ b/build/gulpfile.vscode.ts
|
||||
@@ -509,2 +509,3 @@ const BUILD_TARGETS = [
|
||||
{ platform: 'linux', arch: 'riscv64' },
|
||||
+ { platform: 'linux', arch: 'loong64' },
|
||||
];
|
||||
diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs
|
||||
index 4f2c8c2..4ea1bd2 100644
|
||||
index f1afd87..0a5e6df 100644
|
||||
--- a/cli/src/update_service.rs
|
||||
+++ b/cli/src/update_service.rs
|
||||
@@ -178,2 +178,3 @@ pub enum Platform {
|
||||
@@ -188,2 +188,3 @@ pub enum Platform {
|
||||
LinuxRISCV64,
|
||||
+ LinuxLoong64,
|
||||
DarwinX64,
|
||||
@@ -198,2 +199,3 @@ impl Platform {
|
||||
@@ -208,2 +209,3 @@ impl Platform {
|
||||
Platform::LinuxRISCV64 => "riscv64",
|
||||
+ Platform::LinuxLoong64 => "loong64",
|
||||
Platform::DarwinX64 => "x64",
|
||||
@@ -219,2 +221,3 @@ impl Platform {
|
||||
@@ -229,2 +231,3 @@ impl Platform {
|
||||
Platform::LinuxRISCV64 => "linux",
|
||||
+ Platform::LinuxLoong64 => "linux",
|
||||
Platform::DarwinX64 => "darwin",
|
||||
@@ -251,2 +254,4 @@ impl Platform {
|
||||
@@ -261,2 +264,4 @@ impl Platform {
|
||||
Some(Platform::LinuxRISCV64)
|
||||
+ } else if cfg!(all(target_os = "linux", target_arch = "loongarch64")) {
|
||||
+ Some(Platform::LinuxLoong64)
|
||||
} else if cfg!(all(target_os = "macos", target_arch = "x86_64")) {
|
||||
@@ -280,2 +285,3 @@ impl fmt::Display for Platform {
|
||||
@@ -290,2 +295,3 @@ impl fmt::Display for Platform {
|
||||
Platform::LinuxRISCV64 => "LinuxRISCV64",
|
||||
+ Platform::LinuxLoong64 => "LinuxLoong64",
|
||||
Platform::DarwinX64 => "DarwinX64",
|
||||
@@ -65,28 +81,28 @@ index b18e402..0b7aa4e 100644
|
||||
+ loongarch64) LDCONFIG_ARCH="double-float";;
|
||||
esac
|
||||
diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts
|
||||
index be95b04..1a0decd 100644
|
||||
index b607327..7162d83 100644
|
||||
--- a/src/vs/platform/extensionManagement/common/extensionManagement.ts
|
||||
+++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts
|
||||
@@ -46,2 +46,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
|
||||
@@ -50,2 +50,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
|
||||
case TargetPlatform.LINUX_RISCV64: return 'Linux RISC-V 64';
|
||||
+ case TargetPlatform.LINUX_LOONG64: return 'Linux Loong64';
|
||||
|
||||
@@ -71,2 +72,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
|
||||
@@ -75,2 +76,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
|
||||
case TargetPlatform.LINUX_RISCV64: return TargetPlatform.LINUX_RISCV64;
|
||||
+ case TargetPlatform.LINUX_LOONG64: return TargetPlatform.LINUX_LOONG64;
|
||||
|
||||
@@ -112,2 +114,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
|
||||
@@ -116,2 +118,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
|
||||
}
|
||||
+ if (arch === 'loong64') {
|
||||
+ return TargetPlatform.LINUX_LOONG64;
|
||||
+ }
|
||||
return TargetPlatform.UNKNOWN;
|
||||
diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts
|
||||
index 10152de..3eb0412 100644
|
||||
index 96d08cb..51e67ea 100644
|
||||
--- a/src/vs/platform/extensions/common/extensions.ts
|
||||
+++ b/src/vs/platform/extensions/common/extensions.ts
|
||||
@@ -321,2 +321,3 @@ export const enum TargetPlatform {
|
||||
@@ -332,2 +332,3 @@ export const enum TargetPlatform {
|
||||
LINUX_RISCV64 = 'linux-riscv64',
|
||||
+ LINUX_LOONG64 = 'linux-loong64',
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
diff --git a/build/azure-pipelines/linux/setup-env.sh b/build/azure-pipelines/linux/setup-env.sh
|
||||
index 3e33f75..052b38f 100755
|
||||
index 67bc741..4f0521b 100755
|
||||
--- a/build/azure-pipelines/linux/setup-env.sh
|
||||
+++ b/build/azure-pipelines/linux/setup-env.sh
|
||||
@@ -88,2 +88,14 @@ elif [ "$npm_config_arch" == "ppc64" ]; then
|
||||
@@ -18,69 +18,57 @@ index 3e33f75..052b38f 100755
|
||||
+ export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_REMOTE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot -L$VSCODE_REMOTE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot/usr/lib/s390x-linux-gnu -L$VSCODE_REMOTE_SYSROOT_DIR/s390x-linux-gnu/s390x-linux-gnu/sysroot/lib/s390x-linux-gnu"
|
||||
fi
|
||||
diff --git a/build/checksums/vscode-sysroot.txt b/build/checksums/vscode-sysroot.txt
|
||||
index 3fedbe9..3c4e291 100644
|
||||
index dd159f8..8e8cbe9 100644
|
||||
--- a/build/checksums/vscode-sysroot.txt
|
||||
+++ b/build/checksums/vscode-sysroot.txt
|
||||
@@ -8 +8,2 @@ f82c8dacbb9dd85819e4801909eb4e842ac12c899632aa75b4839383a18c7501 arm-rpi-linux-
|
||||
fa8176d27be18bb0eeb7f55b0fa22255050b430ef68c29136599f02976eb0b1b powerpc64le-linux-gnu-glibc-2.28.tar.gz
|
||||
@@ -8 +8,2 @@ ac4b6b14b4cec027a22a51bbbb049b3504958a78106c8a8d5cec144206b767d1 x86_64-linux-g
|
||||
bdab0a372cf5bfdc154226cc5ed72d417096c725085d193509d1f12e0debec66 powerpc64le-linux-gnu-glibc-2.28-gcc-10.5.0.tar.gz
|
||||
+7055f3d40e7195fb1e13f0fbaf5ffadf781bddaca5fd5e0d9972f4157a203fb5 s390x-linux-gnu-glibc-2.28.tar.gz
|
||||
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
|
||||
index 52f9a12..4b890f4 100644
|
||||
--- a/build/gulpfile.reh.js
|
||||
+++ b/build/gulpfile.reh.js
|
||||
@@ -53,2 +53,3 @@ const BUILD_TARGETS = [
|
||||
diff --git a/build/gulpfile.reh.ts b/build/gulpfile.reh.ts
|
||||
index e6ff02c..65f7efe 100644
|
||||
--- a/build/gulpfile.reh.ts
|
||||
+++ b/build/gulpfile.reh.ts
|
||||
@@ -59,2 +59,3 @@ const BUILD_TARGETS = [
|
||||
{ platform: 'linux', arch: 'loong64' },
|
||||
+ { platform: 'linux', arch: 's390x' },
|
||||
{ platform: 'alpine', arch: 'arm64' },
|
||||
diff --git a/build/gulpfile.scan.js b/build/gulpfile.scan.js
|
||||
index 8a8c1eb..1ef390b 100644
|
||||
--- a/build/gulpfile.scan.js
|
||||
+++ b/build/gulpfile.scan.js
|
||||
@@ -29,2 +29,3 @@ const BUILD_TARGETS = [
|
||||
diff --git a/build/gulpfile.scan.ts b/build/gulpfile.scan.ts
|
||||
index e7881de..affa8df 100644
|
||||
--- a/build/gulpfile.scan.ts
|
||||
+++ b/build/gulpfile.scan.ts
|
||||
@@ -27,2 +27,3 @@ const BUILD_TARGETS = [
|
||||
{ platform: 'linux', arch: 'loong64' },
|
||||
+ { platform: 'linux', arch: 's390x' },
|
||||
];
|
||||
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
|
||||
index ee66585..c9f9ceb 100644
|
||||
--- a/build/gulpfile.vscode.js
|
||||
+++ b/build/gulpfile.vscode.js
|
||||
@@ -478,2 +478,3 @@ const BUILD_TARGETS = [
|
||||
{ platform: 'linux', arch: 'loong64' },
|
||||
+ { platform: 'linux', arch: 's390x' },
|
||||
];
|
||||
diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js
|
||||
index 298181d..dcc42a8 100644
|
||||
--- a/build/gulpfile.vscode.linux.js
|
||||
+++ b/build/gulpfile.vscode.linux.js
|
||||
@@ -33,3 +33,3 @@ const linuxPackageRevision = Math.floor(new Date().getTime() / 1000);
|
||||
function getDebPackageArch(arch) {
|
||||
- return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64', ppc64le: 'ppc64el', riscv64: 'riscv64' }[arch];
|
||||
+ return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64', ppc64le: 'ppc64el', riscv64: 'riscv64', s390x: 's390x' }[arch];
|
||||
}
|
||||
@@ -146,3 +146,3 @@ function getRpmBuildPath(rpmArch) {
|
||||
function getRpmPackageArch(arch) {
|
||||
- return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64', ppc64le: 'ppc64le', riscv64: 'riscv64' }[arch];
|
||||
+ return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64', ppc64le: 'ppc64le', riscv64: 'riscv64', s390x: 's390x' }[arch];
|
||||
}
|
||||
@@ -306,2 +306,3 @@ const BUILD_TARGETS = [
|
||||
{ arch: 'riscv64' },
|
||||
diff --git a/build/gulpfile.vscode.linux.ts b/build/gulpfile.vscode.linux.ts
|
||||
index e146586..ca18865 100644
|
||||
--- a/build/gulpfile.vscode.linux.ts
|
||||
+++ b/build/gulpfile.vscode.linux.ts
|
||||
@@ -35,2 +35,3 @@ function getDebPackageArch(arch: string): string {
|
||||
case 'loong64': return 'loong64';
|
||||
+ case 's390x': return 's390x';
|
||||
default: throw new Error(`Unknown arch: ${arch}`);
|
||||
@@ -148,2 +149,3 @@ function getRpmPackageArch(arch: string): string {
|
||||
case 'loong64': return 'loong64';
|
||||
+ case 's390x': return 's390x';
|
||||
default: throw new Error(`Unknown arch: ${arch}`);
|
||||
@@ -295,2 +297,3 @@ const BUILD_TARGETS = [
|
||||
{ arch: 'loong64' },
|
||||
+ { arch: 's390x' },
|
||||
];
|
||||
diff --git a/build/linux/debian/calculate-deps.js b/build/linux/debian/calculate-deps.js
|
||||
index a08ebda..9527119 100644
|
||||
--- a/build/linux/debian/calculate-deps.js
|
||||
+++ b/build/linux/debian/calculate-deps.js
|
||||
@@ -60,2 +60,5 @@ function calculatePackageDeps(binaryPath, arch, chromiumSysroot, vscodeSysroot)
|
||||
break;
|
||||
+ case 's390x':
|
||||
+ cmd.push(`-l${chromiumSysroot}/usr/lib/s390x-linux-gnu`, `-l${chromiumSysroot}/lib/s390x-linux-gnu`, `-l${vscodeSysroot}/usr/lib/s390x-linux-gnu`, `-l${vscodeSysroot}/lib/s390x-linux-gnu`);
|
||||
+ break;
|
||||
}
|
||||
diff --git a/build/gulpfile.vscode.ts b/build/gulpfile.vscode.ts
|
||||
index e1e5265..295a755 100644
|
||||
--- a/build/gulpfile.vscode.ts
|
||||
+++ b/build/gulpfile.vscode.ts
|
||||
@@ -705,2 +705,3 @@ const BUILD_TARGETS = [
|
||||
{ platform: 'linux', arch: 'loong64' },
|
||||
+ { platform: 'linux', arch: 's390x' },
|
||||
];
|
||||
diff --git a/build/linux/debian/calculate-deps.ts b/build/linux/debian/calculate-deps.ts
|
||||
index 88ee2f0..8037cf2 100644
|
||||
index 5ee005e..71fb92e 100644
|
||||
--- a/build/linux/debian/calculate-deps.ts
|
||||
+++ b/build/linux/debian/calculate-deps.ts
|
||||
@@ -73,2 +73,8 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi
|
||||
@@ -74,2 +74,8 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, chromi
|
||||
break;
|
||||
+ case 's390x':
|
||||
+ cmd.push(`-l${chromiumSysroot}/usr/lib/s390x-linux-gnu`,
|
||||
@@ -89,58 +77,11 @@ index 88ee2f0..8037cf2 100644
|
||||
+ `-l${vscodeSysroot}/lib/s390x-linux-gnu`);
|
||||
+ break;
|
||||
}
|
||||
diff --git a/build/linux/debian/dep-lists.js b/build/linux/debian/dep-lists.js
|
||||
index 13cf8f0..9ffd805 100644
|
||||
--- a/build/linux/debian/dep-lists.js
|
||||
+++ b/build/linux/debian/dep-lists.js
|
||||
@@ -220,2 +220,42 @@ exports.referenceGeneratedDepsByArch = {
|
||||
],
|
||||
+ 's390x': [
|
||||
+ 'ca-certificates',
|
||||
+ 'libatomic1',
|
||||
+ 'libasound2 (>= 1.0.17)',
|
||||
+ 'libatk-bridge2.0-0 (>= 2.5.3)',
|
||||
+ 'libatk1.0-0 (>= 2.2.0)',
|
||||
+ 'libatspi2.0-0 (>= 2.9.90)',
|
||||
+ 'libc6 (>= 2.17)',
|
||||
+ 'libc6 (>= 2.28)',
|
||||
+ 'libcairo2 (>= 1.6.0)',
|
||||
+ 'libcurl3-gnutls | libcurl3-nss | libcurl4 | libcurl3',
|
||||
+ 'libdbus-1-3 (>= 1.0.2)',
|
||||
+ 'libdrm2 (>= 2.4.60)',
|
||||
+ 'libexpat1 (>= 2.0.1)',
|
||||
+ 'libgbm1 (>= 17.1.0~rc2)',
|
||||
+ 'libglib2.0-0 (>= 2.16.0)',
|
||||
+ 'libglib2.0-0 (>= 2.39.4)',
|
||||
+ 'libgtk-3-0 (>= 3.9.10)',
|
||||
+ 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
|
||||
+ 'libnspr4 (>= 2:4.9-2~)',
|
||||
+ 'libnss3 (>= 2:3.22)',
|
||||
+ 'libnss3 (>= 3.26)',
|
||||
+ 'libpango-1.0-0 (>= 1.14.0)',
|
||||
+ 'libsecret-1-0 (>= 0.18)',
|
||||
+ 'libstdc++6 (>= 4.1.1)',
|
||||
+ 'libstdc++6 (>= 5)',
|
||||
+ 'libstdc++6 (>= 5.2)',
|
||||
+ 'libstdc++6 (>= 6)',
|
||||
+ 'libx11-6',
|
||||
+ 'libx11-6 (>= 2:1.4.99.1)',
|
||||
+ 'libxcb1 (>= 1.9.2)',
|
||||
+ 'libxcomposite1 (>= 1:0.4.4-1)',
|
||||
+ 'libxdamage1 (>= 1:1.1)',
|
||||
+ 'libxext6',
|
||||
+ 'libxfixes3',
|
||||
+ 'libxkbcommon0 (>= 0.4.1)',
|
||||
+ 'libxkbfile1',
|
||||
+ 'libxrandr2',
|
||||
+ 'xdg-utils (>= 1.0.2)'
|
||||
+ ],
|
||||
};
|
||||
diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts
|
||||
index 7e6938a..8a314ec 100644
|
||||
index 0e28f90..6e81b12 100644
|
||||
--- a/build/linux/debian/dep-lists.ts
|
||||
+++ b/build/linux/debian/dep-lists.ts
|
||||
@@ -220,2 +220,42 @@ export const referenceGeneratedDepsByArch = {
|
||||
@@ -221,2 +221,42 @@ export const referenceGeneratedDepsByArch = {
|
||||
],
|
||||
+ 's390x': [
|
||||
+ 'ca-certificates',
|
||||
@@ -183,19 +124,8 @@ index 7e6938a..8a314ec 100644
|
||||
+ 'xdg-utils (>= 1.0.2)'
|
||||
+ ],
|
||||
};
|
||||
diff --git a/build/linux/debian/install-sysroot.js b/build/linux/debian/install-sysroot.js
|
||||
index e510426..ce7c75b 100644
|
||||
--- a/build/linux/debian/install-sysroot.js
|
||||
+++ b/build/linux/debian/install-sysroot.js
|
||||
@@ -154,2 +154,6 @@ async function getVSCodeSysroot(arch, isMusl = false) {
|
||||
break;
|
||||
+ case 's390x':
|
||||
+ expectedName = `s390x-linux-gnu${prefix}.tar.gz`;
|
||||
+ triple = 's390x-linux-gnu';
|
||||
+ break;
|
||||
}
|
||||
diff --git a/build/linux/debian/install-sysroot.ts b/build/linux/debian/install-sysroot.ts
|
||||
index 42841f6..cffae59 100644
|
||||
index aece9b9..52a25ce 100644
|
||||
--- a/build/linux/debian/install-sysroot.ts
|
||||
+++ b/build/linux/debian/install-sysroot.ts
|
||||
@@ -167,2 +167,6 @@ export async function getVSCodeSysroot(arch: DebianArchString, isMusl: boolean =
|
||||
@@ -205,33 +135,24 @@ index 42841f6..cffae59 100644
|
||||
+ triple = 's390x-linux-gnu';
|
||||
+ break;
|
||||
}
|
||||
diff --git a/build/linux/debian/types.js b/build/linux/debian/types.js
|
||||
index cadefc2..8132812 100644
|
||||
--- a/build/linux/debian/types.js
|
||||
+++ b/build/linux/debian/types.js
|
||||
@@ -8,3 +8,3 @@ exports.isDebianArchString = isDebianArchString;
|
||||
function isDebianArchString(s) {
|
||||
- return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64'].includes(s);
|
||||
+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64', 's390x'].includes(s);
|
||||
}
|
||||
diff --git a/build/linux/debian/types.ts b/build/linux/debian/types.ts
|
||||
index 24fe452..9efba5b 100644
|
||||
index 5d63ed2..5f793e2 100644
|
||||
--- a/build/linux/debian/types.ts
|
||||
+++ b/build/linux/debian/types.ts
|
||||
@@ -5,6 +5,6 @@
|
||||
|
||||
-export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'riscv64';
|
||||
+export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'riscv64' | 's390x';
|
||||
-export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'ppc64le' | 'riscv64';
|
||||
+export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64el' | 'ppc64le' | 'riscv64' | 's390x';
|
||||
|
||||
export function isDebianArchString(s: string): s is DebianArchString {
|
||||
- return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64'].includes(s);
|
||||
+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'riscv64', 's390x'].includes(s);
|
||||
- return ['amd64', 'armhf', 'arm64', 'ppc64el', 'ppc64le', 'riscv64'].includes(s);
|
||||
+ return ['amd64', 'armhf', 'arm64', 'ppc64el', 'ppc64le', 'riscv64', 's390x'].includes(s);
|
||||
}
|
||||
diff --git a/build/linux/rpm/dep-lists.ts b/build/linux/rpm/dep-lists.ts
|
||||
index 4231f09..fc70433 100644
|
||||
index c7e0820..03528c0 100644
|
||||
--- a/build/linux/rpm/dep-lists.ts
|
||||
+++ b/build/linux/rpm/dep-lists.ts
|
||||
@@ -415,2 +415,102 @@ export const referenceGeneratedDepsByArch = {
|
||||
@@ -418,2 +418,102 @@ export const referenceGeneratedDepsByArch = {
|
||||
'xdg-utils'
|
||||
+ ],
|
||||
+ "s390x": [
|
||||
@@ -334,15 +255,6 @@ index 4231f09..fc70433 100644
|
||||
+ 'rtld(GNU_HASH)',
|
||||
+ 'xdg-utils'
|
||||
]
|
||||
diff --git a/build/linux/rpm/types.js b/build/linux/rpm/types.js
|
||||
index 99a8cff..e2f3548 100644
|
||||
--- a/build/linux/rpm/types.js
|
||||
+++ b/build/linux/rpm/types.js
|
||||
@@ -8,3 +8,3 @@ exports.isRpmArchString = isRpmArchString;
|
||||
function isRpmArchString(s) {
|
||||
- return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64'].includes(s);
|
||||
+ return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64', 's390x'].includes(s);
|
||||
}
|
||||
diff --git a/build/linux/rpm/types.ts b/build/linux/rpm/types.ts
|
||||
index d94537e..3834b94 100644
|
||||
--- a/build/linux/rpm/types.ts
|
||||
@@ -357,7 +269,7 @@ index d94537e..3834b94 100644
|
||||
+ return ['x86_64', 'armv7hl', 'aarch64', 'ppc64le', 'riscv64', 's390x'].includes(s);
|
||||
}
|
||||
diff --git a/resources/server/bin/helpers/check-requirements-linux.sh b/resources/server/bin/helpers/check-requirements-linux.sh
|
||||
index 0b7aa4e..e8b7ce0 100644
|
||||
index dc9faac..9078cc9 100644
|
||||
--- a/resources/server/bin/helpers/check-requirements-linux.sh
|
||||
+++ b/resources/server/bin/helpers/check-requirements-linux.sh
|
||||
@@ -58,2 +58,3 @@ case $ARCH in
|
||||
@@ -365,28 +277,28 @@ index 0b7aa4e..e8b7ce0 100644
|
||||
+ s390x) LDCONFIG_ARCH="64bit";;
|
||||
esac
|
||||
diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts
|
||||
index dedea4c..1043fe4 100644
|
||||
index 9a67e9d..aeb7dc0 100644
|
||||
--- a/src/vs/platform/extensionManagement/common/extensionManagement.ts
|
||||
+++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts
|
||||
@@ -50,2 +50,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
|
||||
@@ -51,2 +51,3 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
|
||||
case TargetPlatform.LINUX_LOONG64: return 'Linux Loong64';
|
||||
+ case TargetPlatform.LINUX_S390X: return 'Linux S390X';
|
||||
|
||||
@@ -76,2 +77,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
|
||||
@@ -77,2 +78,3 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
|
||||
case TargetPlatform.LINUX_LOONG64: return TargetPlatform.LINUX_LOONG64;
|
||||
+ case TargetPlatform.LINUX_S390X: return TargetPlatform.LINUX_S390X;
|
||||
|
||||
@@ -120,2 +122,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
|
||||
@@ -121,2 +123,5 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
|
||||
}
|
||||
+ if (arch === 's390x') {
|
||||
+ return TargetPlatform.LINUX_S390X;
|
||||
+ }
|
||||
return TargetPlatform.UNKNOWN;
|
||||
diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts
|
||||
index 6d554ce..51d23fa 100644
|
||||
index 7b11edb..b8a6193 100644
|
||||
--- a/src/vs/platform/extensions/common/extensions.ts
|
||||
+++ b/src/vs/platform/extensions/common/extensions.ts
|
||||
@@ -332,2 +332,3 @@ export const enum TargetPlatform {
|
||||
@@ -346,2 +346,3 @@ export const enum TargetPlatform {
|
||||
LINUX_LOONG64 = 'linux-loong64',
|
||||
+ LINUX_S390X = 'linux-s390x',
|
||||
|
||||
|
||||
26
patches/linux/cli.patch
Normal file
26
patches/linux/cli.patch
Normal file
@@ -0,0 +1,26 @@
|
||||
diff --git a/cli/src/tunnels/code_server.rs b/cli/src/tunnels/code_server.rs
|
||||
index bbabadc..08af0df 100644
|
||||
--- a/cli/src/tunnels/code_server.rs
|
||||
+++ b/cli/src/tunnels/code_server.rs
|
||||
@@ -4,2 +4,4 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
+#![allow(unused_imports)]
|
||||
+
|
||||
use super::paths::{InstalledServer, ServerPaths};
|
||||
diff --git a/cli/src/tunnels/dev_tunnels.rs b/cli/src/tunnels/dev_tunnels.rs
|
||||
index 0168ee6..5d0d8d4 100644
|
||||
--- a/cli/src/tunnels/dev_tunnels.rs
|
||||
+++ b/cli/src/tunnels/dev_tunnels.rs
|
||||
@@ -4,2 +4,4 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
+#![allow(unused_imports)]
|
||||
+
|
||||
use super::protocol::{self, PortPrivacy, PortProtocol};
|
||||
diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs
|
||||
index 55f1dad..f22a83c 100644
|
||||
--- a/cli/src/update_service.rs
|
||||
+++ b/cli/src/update_service.rs
|
||||
@@ -4,2 +4,3 @@
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
+#![allow(unused_imports)]
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
diff --git a/build/npm/dirs.js b/build/npm/dirs.js
|
||||
index b9645e6..22f3450 100644
|
||||
--- a/build/npm/dirs.js
|
||||
+++ b/build/npm/dirs.js
|
||||
@@ -47,4 +47,2 @@ const dirs = [
|
||||
diff --git a/build/npm/dirs.ts b/build/npm/dirs.ts
|
||||
index 48d76e2..270b078 100644
|
||||
--- a/build/npm/dirs.ts
|
||||
+++ b/build/npm/dirs.ts
|
||||
@@ -53,4 +53,2 @@ export const dirs = [
|
||||
'extensions/vscode-test-resolver',
|
||||
- 'remote',
|
||||
- 'remote/web',
|
||||
'test/automation',
|
||||
@@ -59,4 +57,2 @@ if (fs.existsSync(`${__dirname}/../../.build/distro/npm`)) {
|
||||
@@ -66,4 +64,2 @@ if (existsSync(`${import.meta.dirname}/../../.build/distro/npm`)) {
|
||||
dirs.push('.build/distro/npm');
|
||||
- dirs.push('.build/distro/npm/remote');
|
||||
- dirs.push('.build/distro/npm/remote/web');
|
||||
|
||||
123
patches/linux/feat-logs-home.patch
Normal file
123
patches/linux/feat-logs-home.patch
Normal file
@@ -0,0 +1,123 @@
|
||||
diff --git a/src/vs/platform/environment/common/environment.ts b/src/vs/platform/environment/common/environment.ts
|
||||
index 4a14c83..59c963b 100644
|
||||
--- a/src/vs/platform/environment/common/environment.ts
|
||||
+++ b/src/vs/platform/environment/common/environment.ts
|
||||
@@ -137,2 +137,3 @@ export interface INativeEnvironmentService extends IEnvironmentService {
|
||||
userDataPath: string;
|
||||
+ userStatePath: string;
|
||||
|
||||
diff --git a/src/vs/platform/environment/common/environmentService.ts b/src/vs/platform/environment/common/environmentService.ts
|
||||
index 535132f..edd76bc 100644
|
||||
--- a/src/vs/platform/environment/common/environmentService.ts
|
||||
+++ b/src/vs/platform/environment/common/environmentService.ts
|
||||
@@ -28,2 +28,4 @@ export interface INativeEnvironmentPaths {
|
||||
|
||||
+ userStateDir: string;
|
||||
+
|
||||
/**
|
||||
@@ -54,2 +56,5 @@ export abstract class AbstractNativeEnvironmentService implements INativeEnviron
|
||||
|
||||
+ @memoize
|
||||
+ get userStatePath(): string { return this.paths.userStateDir; }
|
||||
+
|
||||
@memoize
|
||||
@@ -75,3 +80,3 @@ export abstract class AbstractNativeEnvironmentService implements INativeEnviron
|
||||
const key = toLocalISOString(new Date()).replace(/-|:|\.\d+Z$/g, '');
|
||||
- this.args.logsPath = join(this.userDataPath, 'logs', key);
|
||||
+ this.args.logsPath = join(this.userStatePath, key);
|
||||
}
|
||||
diff --git a/src/vs/platform/environment/node/environmentService.ts b/src/vs/platform/environment/node/environmentService.ts
|
||||
index ae9e7e1..3c6c6c5 100644
|
||||
--- a/src/vs/platform/environment/node/environmentService.ts
|
||||
+++ b/src/vs/platform/environment/node/environmentService.ts
|
||||
@@ -11,2 +11,3 @@ import { getUserDataPath } from './userDataPath.js';
|
||||
import { IProductService } from '../../product/common/productService.js';
|
||||
+import { getUserStatePath } from './userStatePath.js';
|
||||
|
||||
@@ -18,3 +19,4 @@ export class NativeEnvironmentService extends AbstractNativeEnvironmentService {
|
||||
tmpDir: tmpdir(),
|
||||
- userDataDir: getUserDataPath(args, productService.nameShort)
|
||||
+ userDataDir: getUserDataPath(args, productService.nameShort),
|
||||
+ userStateDir: getUserStatePath(args, productService.nameShort)
|
||||
}, productService);
|
||||
diff --git a/src/vs/platform/environment/node/userStatePath.ts b/src/vs/platform/environment/node/userStatePath.ts
|
||||
new file mode 100644
|
||||
index 0000000..53f9e2f
|
||||
--- /dev/null
|
||||
+++ b/src/vs/platform/environment/node/userStatePath.ts
|
||||
@@ -0,0 +1,42 @@
|
||||
+import { homedir } from 'os';
|
||||
+import { NativeParsedArgs } from '../common/argv.js';
|
||||
+
|
||||
+import { resolve, isAbsolute, join } from 'path';
|
||||
+
|
||||
+const cwd = process.env['VSCODE_CWD'] || process.cwd();
|
||||
+
|
||||
+export function getUserStatePath(cliArgs: NativeParsedArgs, productName: string): string {
|
||||
+ const userStatePath = doGetUserStatePath(cliArgs, productName);
|
||||
+ const pathsToResolve = [userStatePath];
|
||||
+
|
||||
+ if (!isAbsolute(userStatePath)) {
|
||||
+ pathsToResolve.unshift(cwd);
|
||||
+ }
|
||||
+
|
||||
+ return resolve(...pathsToResolve);
|
||||
+}
|
||||
+
|
||||
+function doGetUserStatePath(cliArgs: NativeParsedArgs, productName: string): string {
|
||||
+
|
||||
+ // 0. Running out of sources has a fixed productName
|
||||
+ if (process.env['VSCODE_DEV']) {
|
||||
+ productName = 'code-oss-dev';
|
||||
+ }
|
||||
+
|
||||
+ // 1. Support portable mode
|
||||
+ const portablePath = process.env['VSCODE_PORTABLE'];
|
||||
+ if (portablePath) {
|
||||
+ return join(portablePath, 'user-state');
|
||||
+ }
|
||||
+
|
||||
+ // 2. Support global VSCODE_APPSTATE environment variable
|
||||
+ let appStatePath = process.env['VSCODE_APPSTATE'];
|
||||
+ if (appStatePath) {
|
||||
+ return join(appStatePath, productName);
|
||||
+ }
|
||||
+
|
||||
+ // 4. Otherwise
|
||||
+ appStatePath = process.env['XDG_STATE_HOME'] || join(homedir(), '.local', 'state');
|
||||
+
|
||||
+ return join(appStatePath, productName);
|
||||
+}
|
||||
diff --git a/src/vs/platform/window/common/window.ts b/src/vs/platform/window/common/window.ts
|
||||
index fa297d1..839fd60 100644
|
||||
--- a/src/vs/platform/window/common/window.ts
|
||||
+++ b/src/vs/platform/window/common/window.ts
|
||||
@@ -443,2 +443,3 @@ export interface INativeWindowConfiguration extends IWindowConfiguration, Native
|
||||
userDataDir: string;
|
||||
+ userStateDir: string;
|
||||
|
||||
diff --git a/src/vs/platform/windows/electron-main/windowsMainService.ts b/src/vs/platform/windows/electron-main/windowsMainService.ts
|
||||
index 117dfd2..6b0458b 100644
|
||||
--- a/src/vs/platform/windows/electron-main/windowsMainService.ts
|
||||
+++ b/src/vs/platform/windows/electron-main/windowsMainService.ts
|
||||
@@ -1511,2 +1511,3 @@ export class WindowsMainService extends Disposable implements IWindowsMainServic
|
||||
userDataDir: this.environmentMainService.userDataPath,
|
||||
+ userStateDir: this.environmentMainService.userStatePath,
|
||||
|
||||
diff --git a/src/vs/workbench/services/environment/electron-browser/environmentService.ts b/src/vs/workbench/services/environment/electron-browser/environmentService.ts
|
||||
index 6cfa517..46286c6 100644
|
||||
--- a/src/vs/workbench/services/environment/electron-browser/environmentService.ts
|
||||
+++ b/src/vs/workbench/services/environment/electron-browser/environmentService.ts
|
||||
@@ -153,3 +153,3 @@ export class NativeWorkbenchEnvironmentService extends AbstractNativeEnvironment
|
||||
) {
|
||||
- super(configuration, { homeDir: configuration.homeDir, tmpDir: configuration.tmpDir, userDataDir: configuration.userDataDir }, productService);
|
||||
+ super(configuration, { homeDir: configuration.homeDir, tmpDir: configuration.tmpDir, userDataDir: configuration.userDataDir, userStateDir: configuration.userStateDir }, productService);
|
||||
}
|
||||
diff --git a/src/vs/workbench/services/workingCopy/test/electron-browser/workingCopyBackupService.test.ts b/src/vs/workbench/services/workingCopy/test/electron-browser/workingCopyBackupService.test.ts
|
||||
index 6b7307e..c74476a 100644
|
||||
--- a/src/vs/workbench/services/workingCopy/test/electron-browser/workingCopyBackupService.test.ts
|
||||
+++ b/src/vs/workbench/services/workingCopy/test/electron-browser/workingCopyBackupService.test.ts
|
||||
@@ -74,2 +74,3 @@ const TestNativeWindowConfiguration: INativeWindowConfiguration = {
|
||||
userDataDir: joinPath(homeDir, product.nameShort).fsPath,
|
||||
+ userStateDir: joinPath(homeDir, product.nameShort).fsPath,
|
||||
profiles: { profile: NULL_PROFILE, all: [NULL_PROFILE], home: homeDir },
|
||||
File diff suppressed because it is too large
Load Diff
9
patches/linux/fix-global-policy.patch
Normal file
9
patches/linux/fix-global-policy.patch
Normal file
@@ -0,0 +1,9 @@
|
||||
diff --git a/src/vs/base/common/policy.ts b/src/vs/base/common/policy.ts
|
||||
index 8141b0f..33599d9 100644
|
||||
--- a/src/vs/base/common/policy.ts
|
||||
+++ b/src/vs/base/common/policy.ts
|
||||
@@ -11,3 +11,3 @@ import { IDefaultAccount } from './defaultAccount.js';
|
||||
*/
|
||||
-export const LINUX_SYSTEM_POLICY_FILE_PATH = '/etc/vscode/policy.json';
|
||||
+export const LINUX_SYSTEM_POLICY_FILE_PATH = '/etc/!!GLOBAL_DIRNAME!!/policy.json';
|
||||
|
||||
15
patches/linux/fix-npm-postinstall.patch
Normal file
15
patches/linux/fix-npm-postinstall.patch
Normal file
@@ -0,0 +1,15 @@
|
||||
diff --git a/build/npm/postinstall.ts b/build/npm/postinstall.ts
|
||||
index ae2651c..3bc46fa 100644
|
||||
--- a/build/npm/postinstall.ts
|
||||
+++ b/build/npm/postinstall.ts
|
||||
@@ -74,5 +74,7 @@ async function npmInstallAsync(dir: string, opts?: child_process.SpawnOptions):
|
||||
|
||||
- if (process.env['npm_config_arch'] === 'arm64') {
|
||||
- run('sudo', ['docker', 'run', '--rm', '--privileged', 'multiarch/qemu-user-static', '--reset', '-p', 'yes'], syncOpts);
|
||||
- }
|
||||
+ const emulateArchList = ['arm64', 'arm', 'ppc64', 'riscv64', 's390x', 'loong64'];
|
||||
+ if (process.env['DISABLE_QEMU'] !== 'true' && !!process.env['npm_config_arch'] && emulateArchList.includes(process.env['npm_config_arch'])) {
|
||||
+ run('sudo', ['docker', 'run', '--rm', '--privileged', 'tonistiigi/binfmt:latest', '--install', 'all'], syncOpts);
|
||||
+ }
|
||||
+
|
||||
run('sudo', [
|
||||
@@ -1,25 +1,18 @@
|
||||
diff --git a/src/bootstrap-esm.ts b/src/bootstrap-esm.ts
|
||||
index f2cf101..d974f65 100644
|
||||
index 54681a2..39f72ad 100644
|
||||
--- a/src/bootstrap-esm.ts
|
||||
+++ b/src/bootstrap-esm.ts
|
||||
@@ -8,3 +8,3 @@ import * as fs from 'fs';
|
||||
import { fileURLToPath } from 'url';
|
||||
-import { createRequire, register } from 'node:module';
|
||||
@@ -6,3 +6,3 @@
|
||||
import * as fs from 'node:fs';
|
||||
-import { register } from 'node:module';
|
||||
+import * as Module from 'node:module';
|
||||
import { product, pkg } from './bootstrap-meta.js';
|
||||
@@ -14,3 +14,4 @@ import { INLSConfiguration } from './vs/nls.js';
|
||||
|
||||
-const require = createRequire(import.meta.url);
|
||||
+// @ts-ignore
|
||||
+const require = Module.createRequire(import.meta.url);
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
@@ -18,3 +19,4 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
@@ -13,3 +13,3 @@ import { INLSConfiguration } from './vs/nls.js';
|
||||
// Install a hook to module resolution to map 'fs' to 'original-fs'
|
||||
-if (process.env['ELECTRON_RUN_AS_NODE'] || process.versions['electron']) {
|
||||
+// @ts-ignore
|
||||
+if (Module.register && (process.env['ELECTRON_RUN_AS_NODE'] || process.versions['electron'])) {
|
||||
const jsCode = `
|
||||
@@ -33,3 +35,4 @@ if (process.env['ELECTRON_RUN_AS_NODE'] || process.versions['electron']) {
|
||||
@@ -28,3 +28,4 @@ if (process.env['ELECTRON_RUN_AS_NODE'] || process.versions['electron']) {
|
||||
}`;
|
||||
- register(`data:text/javascript;base64,${Buffer.from(jsCode).toString('base64')}`, import.meta.url);
|
||||
+ // @ts-ignore
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user