Compare commits

...

173 Commits

Author SHA1 Message Date
Baptiste Augrain
fc8e62c908 fix: correctly generate src archives [skip ci] 2022-10-11 21:58:57 +02:00
Baptiste Augrain
c14e5d4a97 fix(ci): use secret variable [skip ci] 2022-10-09 19:56:36 +02:00
Pavlo Rudy
2c17eed9d3 add deb-rpm-repo-hook (#1284) 2022-10-09 20:17:21 +03:00
Baptiste Augrain
1aeca3ebce ci(winget): releaser version has being renamed as v1 [skip ci] 2022-10-08 10:16:24 +02:00
Baptiste Augrain
ce4af41a4a ci: fix winget & stale workflows [skip ci] 2022-10-07 21:24:10 +02:00
Baptiste Augrain
bba3e74815 ci(aur): the version is automatically determined [skip ci] 2022-10-06 23:52:38 +02:00
Baptiste Augrain
9f2a6fe772 ci(linux): disable aur [skip ci] 2022-10-06 23:32:13 +02:00
Baptiste Augrain
ac01dd9d0e fix: stable version should also generate src asset [skip ci] 2022-10-06 23:04:00 +02:00
Baptiste Augrain
10582b3c86 fix: update api [skip ci] 2022-10-06 22:18:18 +02:00
Baptiste Augrain
fed608b13e feat: make build more generic (#1279) 2022-10-06 22:15:41 +02:00
Baptiste Augrain
6cb5e52ffe ci: fix stale workflow [skip ci] 2022-10-06 21:29:08 +02:00
Baptiste Augrain
59e72eed70 Merge branch 'master' into insider 2022-10-06 20:24:19 +02:00
Baptiste Augrain
6fa185f59e ci: stale only issues [skip ci] 2022-10-05 15:19:08 +02:00
Baptiste Augrain
10143fdee2 ci: stale issues [skip ci] 2022-10-05 13:56:58 +02:00
VSCodium CI
fa73d77b97 build(insider): update to commit 64bbfbf 2022-10-05 08:19:10 +02:00
Baptiste Augrain
8335ca9c14 ci: prepare 3rd parties releases [skip ci] 2022-10-04 21:57:06 +02:00
Baptiste Augrain
983eefdc2e feat: update announcements [skip ci] 2022-10-04 21:39:53 +02:00
Baptiste Augrain
633e46eede feat: show announcements to welcome page (#1274) 2022-10-04 19:01:54 +02:00
VSCodium CI
5d3d8c3fb7 build(insider): update to commit 9fb452c 2022-10-04 08:17:18 +02:00
Baptiste Augrain
ae2b84df50 feat: dev build script can build only packages 2022-10-02 10:39:39 +02:00
VSCodium CI
d7450f5afe build(insider): update to commit bcb6c9b 2022-10-01 09:19:18 +02:00
Baptiste Augrain
b87deb8af1 feat: add annoucements 2022-09-30 19:50:49 +02:00
VSCodium CI
4a41898d02 build(insider): update to commit 2c80125 2022-09-30 10:44:22 +02:00
Baptiste Augrain
97eb57c196 fix(msi): launch installer [skip ci] 2022-09-30 08:44:14 +02:00
VSCodium CI
0b4c409685 build(insider): update to commit 96dda01 2022-09-29 09:27:33 +02:00
Baptiste Augrain
d91dc90a71 fix(msi): update shortcuts and context menus 2022-09-28 12:32:19 +02:00
VSCodium CI
8d74a04beb build(insider): update to commit 835d39c 2022-09-28 08:36:49 +02:00
Baptiste Augrain
3f6a260aa3 fix: use official winget-releaser 2022-09-27 20:17:42 +02:00
Baptiste Augrain
b5b3376645 fix: update msi (#1270) 2022-09-27 20:14:27 +02:00
Baptiste Augrain
ecd187faa2 feat(issue): add app manager info 2022-09-27 12:08:27 +02:00
Baptiste Augrain
9f887867a9 fix(ci): delay spearhead because it didn't catch today updates [skip ci] 2022-09-27 12:07:35 +02:00
VSCodium CI
d9b0bdb1fc build(insider): update to commit 36b1398 2022-09-27 12:00:39 +02:00
Baptiste Augrain
81eb0c7da3 fix(aur): rename variables [skip ci] 2022-09-27 00:16:46 +02:00
Baptiste Augrain
fadc24f733 feat(issue): add app manager info 2022-09-26 18:16:19 +02:00
Baptiste Augrain
6023f014bf fix(aur): pass version for insiders 2022-09-26 15:43:56 +02:00
Baptiste Augrain
0671054494 feat(linux): add AUR releases 2022-09-26 14:42:54 +02:00
Baptiste Augrain
87aaa7131e fix(linux): appimage 2022-09-26 11:42:26 +02:00
Baptiste Augrain
8a80e023ad fix: bad keyword 2022-09-26 11:13:10 +02:00
Baptiste Augrain
2f8edd92f3 feat: add DISABLE_UPDATE env to disable updates 2022-09-26 09:30:43 +02:00
miromarszal
f0d9c5aed4 fix(snap): enable wayland (#1268) 2022-09-26 09:24:00 +02:00
VSCodium CI
6b164c0699 build(insider): update to commit eeaee50 2022-09-26 08:37:13 +02:00
miromarszal
6471151e96 fix(snap): enable wayland (#1268) 2022-09-26 08:19:41 +02:00
Baptiste Augrain
aa50b4f557 fix: bad syntax [skip ci] 2022-09-25 18:40:51 +02:00
Baptiste Augrain
2b61812afb fix: generate source archives [skip ci] 2022-09-25 18:31:53 +02:00
Baptiste Augrain
abbc2cb2f1 feat: generate source archives 2022-09-25 18:07:45 +02:00
Baptiste Augrain
36c0f2a014 fix: update patches 2022-09-25 14:54:41 +02:00
VSCodium CI
5b22b7bbc8 build(insider): update to commit 333754f 2022-09-22 08:28:45 +02:00
VSCodium CI
9927efe1dc build(insider): update to commit a829fbb 2022-09-21 08:29:20 +02:00
Baptiste Augrain
d83bfdea6a refactor: worflows [skip ci] 2022-09-19 17:09:16 +02:00
Baptiste Augrain
72e723735f fix(winget): add suffix to release tag 2022-09-19 16:24:59 +02:00
Baptiste Augrain
fe9701d8ff fix(winget): use fork to set release repository [skip ci] 2022-09-19 16:08:51 +02:00
Baptiste Augrain
cd5afd6e58 fix(snap): add missing outputs [skip ci] 2022-09-19 11:43:28 +02:00
Baptiste Augrain
39fab7d947 fix(winget): run with bash [skip ci] 2022-09-19 11:12:45 +02:00
Baptiste Augrain
e87d2b2587 fix(windows): add outputs 2022-09-19 11:03:49 +02:00
Baptiste Augrain
29a963b6ea Merge branch 'master' into insider 2022-09-19 10:39:42 +02:00
VSCodium CI
6299899ee6 build(insider): update to commit bd782eb 2022-09-19 08:33:37 +02:00
Pavlo Rudy
6562d7d4a4 update the supported platform list 2022-09-19 08:36:55 +03:00
Baptiste Augrain
03be08e721 feat: automate winget release (#1260) 2022-09-19 07:27:12 +02:00
Pavlo Rudy
412ab9f469 disable Natural Language Search by default; closes #1185 (#1261) 2022-09-18 23:24:50 +03:00
Baptiste Augrain
a65ecfc37b fix: pat 2022-09-18 14:52:48 +02:00
Baptiste Augrain
1dcb1f9b1f Merge branch 'master' into insider 2022-09-18 11:41:48 +02:00
Vik
b36705ca7f feat(msi): add russian translation (#1255) 2022-09-16 14:27:17 +02:00
VSCodium CI
8fa040c46f build(insider): update to commit b3546b4 2022-09-15 08:24:48 +02:00
Baptiste Augrain
e70f1391b2 fix(ci): use macos 12 runner 2022-09-14 00:00:52 +02:00
Baptiste Augrain
397b37f54c fix(linux): correctly resolve url to get pkg2appimage (#1249) 2022-09-13 22:23:52 +02:00
VSCodium CI
44c14b62bd build(insider): update to commit 1a55beb 2022-09-13 08:32:20 +02:00
Baptiste Augrain
fa83cbc835 fix(macos): cleanup signing [skip ci] 2022-09-12 15:52:26 +02:00
Baptiste Augrain
6d716bc19c fix(macos): signing [skip ci] 2022-09-12 15:06:13 +02:00
Baptiste Augrain
e2020e7ab3 fix(macos): signing [skip ci] 2022-09-12 14:21:34 +02:00
Baptiste Augrain
fb3a6c1855 fix(macos): specify keychain to codesign [skip ci] 2022-09-12 12:37:43 +02:00
Baptiste Augrain
3863b9f70a Merge branch 'insider' of github.com:VSCodium/vscodium into insider 2022-09-12 12:14:41 +02:00
Baptiste Augrain
6567a25215 fix(macos): signing 2022-09-12 12:14:30 +02:00
VSCodium CI
f05b1dfb66 build(insider): update to commit 5cecbf4 2022-09-12 08:33:10 +02:00
Baptiste Augrain
53cb71df89 fix: replace publisher's name (#1246) 2022-09-11 14:41:20 +02:00
Baptiste Augrain
a64611ceda ci: use not deprecated macOS (#1235) 2022-09-11 14:40:30 +02:00
Baptiste Augrain
3664544e77 fix: replace publisher's name (#1246) 2022-09-11 13:08:41 +02:00
VSCodium CI
00b1c23d0b build(insider): update to commit 2d27f8d 2022-09-09 08:19:04 +02:00
Baptiste Augrain
60896956ef fix(ci): put back old keychain after signing (#1245) 2022-09-08 11:06:16 +02:00
VSCodium CI
ca9a6812fd build(insider): update to commit 0f2de31 2022-09-08 08:24:35 +02:00
VSCodium CI
400997b39a build(insider): update to commit daf5eb2 2022-09-07 08:28:56 +02:00
Baptiste Augrain
1e3c695701 fix(snap): disable until classic confinement unsealed [skip ci] 2022-09-05 15:19:04 +02:00
Baptiste Augrain
778e36d118 fix(snap): replace substitution since not in bash [skip ci] 2022-09-05 14:22:00 +02:00
Baptiste Augrain
62d6c2d4f1 fix(snap): fix substitution [skip ci] 2022-09-05 12:33:40 +02:00
Baptiste Augrain
21757c11e7 fix(snap): fix substitution 2022-09-05 12:25:59 +02:00
Baptiste Augrain
7c9d1d4e54 fix(snap): escape backslash [skip ci] 2022-09-05 12:19:09 +02:00
Baptiste Augrain
70906631fe fix(snap): close expression [skip ci] 2022-09-05 12:11:56 +02:00
Baptiste Augrain
d6c96b4533 fix(snap): escape backslash [skip ci] 2022-09-05 11:54:12 +02:00
Baptiste Augrain
2530990d15 fix(snap): rename parts and use short version (#1241) 2022-09-05 11:44:21 +02:00
Baptiste Augrain
10f95cda32 fix(snap): set correct main part and update apps (#1240) 2022-09-05 11:17:56 +02:00
Baptiste Augrain
991fbbbd32 fix(snap): update icon paths (#1239) 2022-09-05 11:03:06 +02:00
Baptiste Augrain
995081e187 fix(snap): no info if no release [skip ci] (#1238) 2022-09-05 10:33:08 +02:00
Baptiste Augrain
452550caa3 fix(snap): no info if no release [skip ci] (#1237) 2022-09-05 10:22:08 +02:00
Baptiste Augrain
315d25a735 fix(snap): version is empty if no release (#1236) 2022-09-05 10:16:08 +02:00
Baptiste Augrain
b07ec41f16 feat: publish snap to edge channel 2022-09-05 09:33:52 +02:00
VSCodium CI
50b00d3036 build(insider): update to commit d17726f 2022-09-05 09:08:10 +02:00
Baptiste Augrain
37210e8499 feat: update insider.json when manual build is ok (#1234) 2022-09-04 20:50:52 +02:00
Baptiste Augrain
b8acee21ca ci: use not deprecated macOS (#1235) 2022-09-04 20:50:32 +02:00
Baptiste Augrain
a5d89f826e fix: update patches and apis (#1231) 2022-09-04 17:39:57 +02:00
Baptiste Augrain
b90af6eda5 ci: improve schedule (#1228) 2022-09-02 17:12:41 +02:00
Baptiste Augrain
7a289a8b61 fix: update quality to stable workflows and generate notes on release [skip ci] 2022-09-02 08:21:24 +02:00
Simon Sobisch
a626779410 fix automated NOTES 2022-09-02 07:58:40 +02:00
Baptiste Augrain
8c4229d230 Merge branch 'insider' 2022-09-02 07:06:49 +02:00
Baptiste Augrain
cfd36105f5 ci: add automated note on new releases [skip ci] 2022-08-31 11:58:39 +02:00
VSCodium CI
e27c6792ce build(insider): update to commit 078f8e9 2022-08-31 11:58:39 +02:00
Baptiste Augrain
9f21a39e6f fix: remove debug [skip ci] 2022-08-31 11:58:39 +02:00
Baptiste Augrain
c35178f8b7 fix: check insider version from release note [skip ci] 2022-08-31 11:58:39 +02:00
Baptiste Augrain
f8f64410c6 fix: remove "-insider" from MS_TAG [skip ci] 2022-08-31 11:58:39 +02:00
Baptiste Augrain
ec4cc3a277 ci: add automated note on new releases [skip ci] 2022-08-31 10:37:08 +02:00
VSCodium CI
c9614d1d31 build(insider): update to commit 078f8e9 2022-08-31 10:20:23 +02:00
Baptiste Augrain
29f4df6515 fix: remove debug [skip ci] 2022-08-31 10:12:41 +02:00
Baptiste Augrain
a8cda7e118 fix: check insider version from release note [skip ci] 2022-08-31 10:10:51 +02:00
Baptiste Augrain
f8b2cc75ae fix: remove "-insider" from MS_TAG [skip ci] 2022-08-31 09:54:04 +02:00
David C
7bbad32dc8 fix: README logo (#1226) 2022-08-31 09:52:17 +02:00
David C
114f731f19 fix: README logo (#1226) 2022-08-31 07:59:51 +02:00
Baptiste Augrain
2aca4d5344 fix: remove -insider suffix and remove some debug [skip ci] 2022-08-30 15:51:28 +02:00
Baptiste Augrain
885abe36a8 fix: remove -insider suffix and remove some debug [skip ci] 2022-08-30 15:49:59 +02:00
VSCodium CI
39a2fd05aa build(insider): update to commit 16faaf4 2022-08-30 15:34:48 +02:00
Baptiste Augrain
5f3af3920b ci(spearhead): add more details [skip ci] 2022-08-30 15:26:39 +02:00
Baptiste Augrain
762cfede26 ci(spearhead): push to correct branch [skip ci] 2022-08-30 15:26:39 +02:00
Baptiste Augrain
2c429f0778 fix: update spearhead workflow [skip ci] 2022-08-30 15:26:39 +02:00
Baptiste Augrain
fa4b4caf59 ci(spearhead): add more details [skip ci] 2022-08-30 15:17:00 +02:00
Baptiste Augrain
e7e2de16ce ci(spearhead): push to correct branch [skip ci] 2022-08-30 15:01:09 +02:00
Baptiste Augrain
8737578ae5 fix: update spearhead workflow [skip ci] 2022-08-30 14:46:23 +02:00
Baptiste Augrain
6da0a42a92 feat: port back changes made inside the insider branch (#1225) 2022-08-30 13:55:17 +02:00
Baptiste Augrain
7f7f2ecdf8 fix(windows): correct msi filename [skip ci] 2022-08-30 12:01:53 +02:00
Baptiste Augrain
f212b71f2a fix: correctly get MS_COMMIT [skip ci] 2022-08-30 10:53:02 +02:00
Baptiste Augrain
ba9a6a1319 ci: add input to set a specific built version [skip ci] 2022-08-30 10:46:58 +02:00
Baptiste Augrain
b803eaaefe fix(windows): msi is correctly built [skip ci] 2022-08-30 10:39:07 +02:00
Baptiste Augrain
c655e94765 fix(windows): add insider banner [skip ci] 2022-08-30 10:14:46 +02:00
Baptiste Augrain
c808d71512 fix(windows): use variable for .exe filename [skip ci] 2022-08-30 00:45:48 +02:00
Baptiste Augrain
4e20dbd99b fix(windows): correctly replace variables [skip ci] 2022-08-29 23:55:37 +02:00
Baptiste Augrain
083e25d289 fix(linux): use find/mv instead of rename [skip ci] 2022-08-29 23:41:30 +02:00
Baptiste Augrain
a549e0bdad fix: don't recreate release [skip ci] 2022-08-29 23:23:54 +02:00
Baptiste Augrain
04f80fcd48 fix: use stronger token [skip ci] 2022-08-29 22:56:03 +02:00
Baptiste Augrain
feeb053e21 fix: appimage build 2022-08-29 22:41:43 +02:00
Baptiste Augrain
8a3d35a42d fix: add owner to gh commands [skip ci] 2022-08-29 22:36:37 +02:00
Baptiste Augrain
290fa2ff81 Merge branch 'master' into insider 2022-08-29 21:59:17 +02:00
Baptiste Augrain
39af33e65a fix: generate artifacts (#1223) 2022-08-29 21:56:51 +02:00
Baptiste Augrain
697bd5ef83 refactor: move artifacts building and signing into prepare_artifacts.sh [skip ci] (#1221) 2022-08-29 17:53:29 +02:00
Baptiste Augrain
fc9d6ae8b3 fix(linux): don't check dependencies [no ci] 2022-08-29 17:15:36 +02:00
Baptiste Augrain
430d4e3888 ci: force workflows to there respective branch when manually launched
skip-checks: true
2022-08-29 16:18:59 +02:00
Baptiste Augrain
2ce1de5f4c Merge branch 'master' into insider 2022-08-29 16:10:21 +02:00
Baptiste Augrain
3345c43231 ci: remove to much debug
skip-checks: true
2022-08-29 16:06:56 +02:00
Baptiste Augrain
78b66c8909 fix(insider): spreadhead workflow must not be executed by a push or a PR 2022-08-29 15:49:24 +02:00
Baptiste Augrain
386b08ac38 Merge branch 'master' into insider 2022-08-29 15:46:02 +02:00
Baptiste Augrain
61e880da67 feat: insider version (#1217) 2022-08-29 15:13:25 +02:00
Baptiste Augrain
91f4e79db7 feat: add green icon 2022-08-26 01:35:26 +02:00
Baptiste Augrain
58707d73ba ci(snap): re-enable arm64 (#1211) 2022-08-25 01:18:03 +02:00
Baptiste Augrain
aa508b1322 feat: build successfully with new patches 2022-08-25 00:34:28 +02:00
Baptiste Augrain
121385623c ci: update when to run workflows 2022-08-23 00:59:49 +02:00
Baptiste Augrain
4e1058ef10 refactor: rename build script 2022-08-22 15:12:30 +02:00
Baptiste Augrain
70e6f66c60 feat: build insider from saved commit or from the latest 2022-08-22 15:10:00 +02:00
Baptiste Augrain
3a0ac5f70e Merge branch 'master' into insider 2022-08-21 21:37:54 +02:00
Baptiste Augrain
f21c11dde0 fix: install checksum only when needed (#1213) 2022-08-21 19:15:37 +02:00
Baptiste Augrain
7a2a3a7ab0 ci: disable insider and reh on windows arm64 2022-08-17 07:46:48 +02:00
Baptiste Augrain
41d477decd feat: update to support insider version 2022-08-17 07:36:15 +02:00
Baptiste Augrain
637ec23444 ci: disable appimage for non-x64 (#1208) 2022-08-17 07:01:37 +02:00
Baptiste Augrain
bbddc94a72 ci: use directly boolean input (#1207) 2022-08-17 06:23:19 +02:00
Baptiste Augrain
a4e5b2a101 fix: update issue reporter (#1206) 2022-08-16 23:37:20 +02:00
Baptiste Augrain
bfdaf23c6d build(linux): use vscode's ripgrep (#1205) 2022-08-16 23:10:04 +02:00
Baptiste Augrain
98bac0c1eb doc: update build doc and add script for docker (#1204) 2022-08-16 22:39:08 +02:00
Baptiste Augrain
81d304fa37 fix: split version for vscode (#1202) 2022-08-16 19:00:11 +02:00
Baptiste Augrain
fcbf70d7ca fix: use correct url to check tags (#1201) 2022-08-16 17:03:45 +02:00
Baptiste Augrain
bffbd569a5 fix: patch all versions (for macos and reh) (#1198) 2022-08-16 16:11:08 +02:00
Baptiste Augrain
79cdcd61bf ci: add input to force new release (#1197) 2022-08-16 15:33:34 +02:00
Baptiste Augrain
7327f9910d ci: get MS_TAG from update api (#1196) 2022-08-16 14:33:30 +02:00
Baptiste Augrain
118ea7993d feat: add release number (#1192) 2022-08-16 13:51:45 +02:00
Baptiste Augrain
ed5a695d2c ci(windows): disable winget until further testing (#1193) 2022-08-14 11:22:00 +02:00
Vedant
86456d833f ci(windows): prevent winget step from running multiple times (#1186) 2022-08-14 10:04:59 +02:00
Baptiste Augrain
f05272f2d0 fix: update api proposals (#1187) 2022-08-09 15:21:59 +02:00
Vedant
383b7ef4f8 feat: publish to winget (#1174) 2022-08-09 12:06:38 +02:00
Baptiste Augrain
2874277aa4 fix: replace grep with ripgrep due to excruciating timing (#1170) 2022-08-05 13:09:02 +02:00
Baptiste Augrain
8883466ef5 fix(1.70): disable dependencies checking for .deb (#1180) 2022-08-05 12:08:36 +02:00
244 changed files with 7152 additions and 958 deletions

View File

@@ -33,6 +33,7 @@ If applicable, add screenshots to help explain your problem.
- OS: [e.g. Mac OS, Ubuntu 20.04, etc]
- Architecture [e.g. x64, ia32, arm64]
- Version [e.g. 1.33.0]
- App Manager [e.g. Winget, Homebrew, Snap, AUR, RPM, Nix, ...]
**Additional context**
Add any other context about the problem here.

200
.github/workflows/insider-linux.yml vendored Normal file
View File

@@ -0,0 +1,200 @@
name: insider-linux
on:
workflow_dispatch:
inputs:
release_version:
type: string
description: Forced release version
schedule:
- cron: '0 8 * * *'
push:
branches: [ insider ]
paths-ignore:
- '**/*.md'
pull_request:
branches: [ insider ]
paths-ignore:
- '**/*.md'
jobs:
build:
runs-on: ubuntu-latest
container:
image: ${{ matrix.image }}
env:
APP_NAME: VSCodium
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
OS_NAME: linux
VSCODE_ARCH: ${{ matrix.vscode_arch }}
VSCODE_QUALITY: insider
strategy:
fail-fast: false
matrix:
include:
- vscode_arch: x64
npm_arch: x64
image: vscodium/vscodium-linux-build-agent:bionic-x64
- vscode_arch: arm64
npm_arch: arm64
image: vscodium/vscodium-linux-build-agent:stretch-arm64
- vscode_arch: armhf
npm_arch: armv7l
image: vscodium/vscodium-linux-build-agent:stretch-armhf
outputs:
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v3
with:
ref: insider
- name: Install GH
run: ./install_gh.sh
- name: Setup Node.js environment
uses: actions/setup-node@v3
with:
node-version: 16
- name: Install Yarn
run: npm install -g yarn
- name: Clone VSCode repo
env:
RELEASE_VERSION: ${{ github.event.inputs.release_version }}
run: ./get_repo.sh
- name: Check PR or cron
run: ./check_cron_or_pr.sh
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./check_tags.sh
if: env.SHOULD_DEPLOY == 'yes'
- name: Compute cache key
id: yarnCacheKey
run: echo "::set-output name=value::$(node build/azure-pipelines/computeYarnCacheKey.js)"
if: env.SHOULD_BUILD == 'yes'
- name: Get yarn cache directory path
id: yarnCacheDirPath
run: echo "::set-output name=dir::$(yarn cache dir)"
if: env.SHOULD_BUILD == 'yes'
- name: Cache yarn directory
uses: actions/cache@v3
with:
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
key: linux-${{ matrix.npm_arch }}-yarnCacheDir-${{ steps.yarnCacheKey.outputs.value }}
restore-keys: linux-${{ matrix.npm_arch }}-yarnCacheDir-
if: env.SHOULD_BUILD == 'yes'
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
npm_config_arch: ${{ matrix.npm_arch }}
run: ./build.sh
if: env.SHOULD_BUILD == 'yes'
- name: Prepare assets
run: ./prepare_assets.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./release.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Update versions repo
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
aur:
needs: build
runs-on: ubuntu-latest
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
steps:
- name: Get version
env:
RELEASE_VERSION: ${{ needs.build.outputs.RELEASE_VERSION }}
run: echo "PACKAGE_VERSION=${RELEASE_VERSION/-*/}" >> $GITHUB_ENV
- name: Publish vscodium-insiders-bin
uses: zokugun/github-actions-aur-releaser@v1
with:
package_name: vscodium-insiders-bin
package_version: ${{ env.PACKAGE_VERSION }}
aur_private_key: ${{ secrets.AUR_PRIVATE_KEY }}
aur_username: ${{ secrets.AUR_USERNAME }}
aur_email: ${{ secrets.AUR_EMAIL }}
- name: Publish vscodium-insiders
uses: zokugun/github-actions-aur-releaser@v1
with:
package_name: vscodium-insiders
package_version: ${{ env.PACKAGE_VERSION }}
aur_private_key: ${{ secrets.AUR_PRIVATE_KEY }}
aur_username: ${{ secrets.AUR_USERNAME }}
aur_email: ${{ secrets.AUR_EMAIL }}
snap:
needs: build
runs-on: ubuntu-latest
env:
APP_NAME: codium
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
VSCODE_QUALITY: 'insider'
strategy:
fail-fast: false
matrix:
platform:
- amd64
- arm64
# if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
if: ${{ false }}
steps:
- uses: actions/checkout@v3
with:
ref: insider
- name: Check version
env:
ARCHITECTURE: ${{ matrix.platform }}
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
run: ./stores/snapcraft/check_version.sh
- uses: docker/setup-qemu-action@v1
if: env.SHOULD_DEPLOY == 'yes'
- uses: diddlesnaps/snapcraft-multiarch-action@v1
with:
path: stores/snapcraft/insider
architecture: ${{ matrix.platform }}
id: build
if: env.SHOULD_DEPLOY == 'yes'
- uses: diddlesnaps/snapcraft-review-action@v1
with:
snap: ${{ steps.build.outputs.snap }}
isClassic: 'true'
if: env.SHOULD_DEPLOY == 'yes'
- uses: snapcore/action-publish@master
env:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
with:
snap: ${{ steps.build.outputs.snap }}
release: edge
if: env.SHOULD_DEPLOY == 'yes'

117
.github/workflows/insider-macos.yml vendored Normal file
View File

@@ -0,0 +1,117 @@
name: insider-macos
on:
workflow_dispatch:
inputs:
release_version:
type: string
description: Forced release version
schedule:
- cron: '0 8 * * *'
push:
branches: [ insider ]
paths-ignore:
- '**/*.md'
pull_request:
branches: [ insider ]
paths-ignore:
- '**/*.md'
jobs:
build:
runs-on: ${{ matrix.runner }}
env:
APP_NAME: VSCodium
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
OS_NAME: osx
VSCODE_ARCH: ${{ matrix.vscode_arch }}
VSCODE_QUALITY: insider
strategy:
fail-fast: false
matrix:
include:
- runner: macos-12
vscode_arch: x64
- runner: [self-hosted, macOS, ARM64]
vscode_arch: arm64
steps:
- uses: actions/checkout@v3
with:
ref: insider
- name: Setup Node.js environment
uses: actions/setup-node@v3
with:
node-version: 16
- name: Clone VSCode repo
env:
RELEASE_VERSION: ${{ github.event.inputs.release_version }}
run: . get_repo.sh
- name: Check PR or cron
run: . check_cron_or_pr.sh
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: . check_tags.sh
if: env.SHOULD_DEPLOY == 'yes'
- name: Compute cache key
id: yarnCacheKey
run: echo "::set-output name=value::$(node build/azure-pipelines/computeYarnCacheKey.js)"
if: env.SHOULD_BUILD == 'yes'
- name: Get yarn cache directory path
id: yarnCacheDirPath
run: echo "::set-output name=dir::$(yarn cache dir)"
if: env.SHOULD_BUILD == 'yes'
- name: Cache yarn directory
uses: actions/cache@v3
with:
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
key: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-${{ steps.yarnCacheKey.outputs.value }}
restore-keys: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-
if: env.SHOULD_BUILD == 'yes'
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./build.sh
if: env.SHOULD_BUILD == 'yes'
- name: Prepare assets
env:
CERTIFICATE_OSX_P12: ${{ secrets.CERTIFICATE_OSX_P12 }}
CERTIFICATE_OSX_PASSWORD: ${{ secrets.CERTIFICATE_OSX_PASSWORD }}
CERTIFICATE_OSX_ID: ${{ secrets.CERTIFICATE_OSX_ID }}
run: ./prepare_assets.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./release.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Update versions repo
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Clean up keychain
if: always()
run: |
KEYCHAIN=$RUNNER_TEMP/build.keychain
if [ -f "$KEYCHAIN" ];
then
security delete-keychain $KEYCHAIN
fi

68
.github/workflows/insider-spearhead.yml vendored Normal file
View File

@@ -0,0 +1,68 @@
name: insider-spearhead
on:
workflow_dispatch:
schedule:
- cron: '0 7 * * *'
jobs:
build:
runs-on: [self-hosted, macOS, ARM64]
env:
APP_NAME: VSCodium
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
OS_NAME: osx
VSCODE_ARCH: arm64
VSCODE_LATEST: yes
VSCODE_QUALITY: insider
steps:
- uses: actions/checkout@v3
with:
ref: insider
- name: Setup Node.js environment
uses: actions/setup-node@v3
with:
node-version: 16
- name: Clone VSCode repo
run: . get_repo.sh
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: . check_tags.sh
- name: Compute cache key
id: yarnCacheKey
run: echo "::set-output name=value::$(node build/azure-pipelines/computeYarnCacheKey.js)"
if: env.SHOULD_BUILD == 'yes'
- name: Get yarn cache directory path
id: yarnCacheDirPath
run: echo "::set-output name=dir::$(yarn cache dir)"
if: env.SHOULD_BUILD == 'yes'
- name: Cache yarn directory
uses: actions/cache@v3
with:
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
key: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-${{ steps.yarnCacheKey.outputs.value }}
restore-keys: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-
if: env.SHOULD_BUILD == 'yes'
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./build.sh
if: env.SHOULD_BUILD == 'yes'
- name: Update insider.json
run: ./update_insider.sh
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
if: env.SHOULD_BUILD == 'yes'

150
.github/workflows/insider-windows.yml vendored Normal file
View File

@@ -0,0 +1,150 @@
name: insider-windows
on:
workflow_dispatch:
inputs:
release_version:
type: string
description: Forced release version
schedule:
- cron: '0 8 * * *'
push:
branches: [ insider ]
paths-ignore:
- '**/*.md'
pull_request:
branches: [ insider ]
paths-ignore:
- '**/*.md'
jobs:
build:
runs-on: windows-2019
defaults:
run:
shell: bash
env:
APP_NAME: VSCodium
ASSETS_REPOSITORY: ${{ github.repository }}-insiders
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
OS_NAME: windows
VSCODE_ARCH: ${{ matrix.vscode_arch }}
VSCODE_QUALITY: insider
strategy:
fail-fast: false
matrix:
vscode_arch:
- x64
- ia32
- arm64
outputs:
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v3
with:
ref: insider
- name: Setup Node.js environment
uses: actions/setup-node@v3
with:
node-version: 16
- name: Install Yarn
run: npm install -g yarn
- name: Setup Python 3
uses: actions/setup-python@v3
with:
python-version: '3.x'
- name: Clone VSCode repo
env:
RELEASE_VERSION: ${{ github.event.inputs.release_version }}
run: ./get_repo.sh
- name: Check PR or cron
run: ./check_cron_or_pr.sh
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./check_tags.sh
if: env.SHOULD_DEPLOY == 'yes'
- name: Compute cache key
id: yarnCacheKey
run: echo "::set-output name=value::$(node build/azure-pipelines/computeYarnCacheKey.js)"
if: env.SHOULD_BUILD == 'yes'
- name: Get yarn cache directory path
id: yarnCacheDirPath
run: echo "::set-output name=dir::$(yarn cache dir)"
if: env.SHOULD_BUILD == 'yes'
- name: Cache yarn directory
uses: actions/cache@v3
with:
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
key: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-${{ steps.yarnCacheKey.outputs.value }}
restore-keys: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-
if: env.SHOULD_BUILD == 'yes'
- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
npm_config_arch: ${{ matrix.vscode_arch }}
npm_config_target_arch: ${{ matrix.vscode_arch }}
run: ./build.sh
if: env.SHOULD_BUILD == 'yes'
- name: Prepare assets
run: ./prepare_assets.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./release.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Update versions repo
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
winget:
needs: build
runs-on: windows-latest
defaults:
run:
shell: bash
env:
APP_IDENTIFIER: VSCodium.VSCodium.Insiders
VSCODE_QUALITY: 'insider'
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
steps:
- uses: actions/checkout@v3
with:
ref: insider
- name: Check version
run: ./stores/winget/check_version.sh
env:
RELEASE_VERSION: ${{ needs.build.outputs.RELEASE_VERSION }}
- name: Release to WinGet
uses: vedantmgoyal2009/winget-releaser@v1
with:
identifier: ${{ env.APP_IDENTIFIER }}
version: ${{ env.RELEASE_VERSION }}
release-repository: vscodium-insiders
release-tag: ${{ env.RELEASE_VERSION }}-insider
installers-regex: '\.exe$' # only .exe files
token: ${{ secrets.STRONGER_GITHUB_TOKEN }}
if: env.SHOULD_DEPLOY == 'yes'

View File

@@ -1,8 +1,8 @@
name: Lock Threads
name: Lock Issues
on:
schedule:
- cron: '0 0 * * Mon'
- cron: '0 2 * * *'
jobs:
lock:
@@ -13,3 +13,4 @@ jobs:
github-token: ${{ github.token }}
issue-inactive-days: '90'
pr-inactive-days: '90'
log-output: true

View File

@@ -1,22 +1,34 @@
name: linux_build
name: stable-linux
on:
workflow_dispatch:
inputs:
new_release:
type: boolean
description: Force new Release
schedule:
- cron: '0 0 * * *'
- cron: '0 18 * * *'
push:
branches: [ master ]
paths-ignore:
- '**/*.md'
pull_request:
branches: [ master ]
paths-ignore:
- '**/*.md'
jobs:
release:
build:
runs-on: ubuntu-latest
container:
image: ${{ matrix.image }}
env:
OS_NAME: 'linux'
APP_NAME: VSCodium
ASSETS_REPOSITORY: ${{ github.repository }}
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
OS_NAME: linux
VSCODE_ARCH: ${{ matrix.vscode_arch }}
VSCODE_QUALITY: stable
strategy:
fail-fast: false
matrix:
@@ -30,6 +42,9 @@ jobs:
- vscode_arch: armhf
npm_arch: armv7l
image: vscodium/vscodium-linux-build-agent:stretch-armhf
outputs:
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v3
@@ -54,6 +69,7 @@ jobs:
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NEW_RELEASE: ${{ github.event.inputs.new_release }}
run: ./check_tags.sh
if: env.SHOULD_DEPLOY == 'yes'
@@ -82,8 +98,8 @@ jobs:
run: ./build.sh
if: env.SHOULD_BUILD == 'yes'
- name: Prepare artifacts
run: ./prepare_artifacts.sh
- name: Prepare assets
run: ./prepare_assets.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Release
@@ -93,52 +109,73 @@ jobs:
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Update versions repo
run: ./update_version.sh
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
snap:
needs: release
aur:
needs: build
runs-on: ubuntu-latest
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
steps:
- name: Publish vscodium
uses: zokugun/github-actions-aur-releaser@v1
with:
package_name: vscodium
aur_private_key: ${{ secrets.AUR_PRIVATE_KEY }}
aur_username: ${{ secrets.AUR_USERNAME }}
aur_email: ${{ secrets.AUR_EMAIL }}
- name: Publish vscodium-git
uses: zokugun/github-actions-aur-releaser@v1
with:
package_name: vscodium-git
package_type: rolling
aur_private_key: ${{ secrets.AUR_PRIVATE_KEY }}
aur_username: ${{ secrets.AUR_USERNAME }}
aur_email: ${{ secrets.AUR_EMAIL }}
snap:
needs: build
runs-on: ubuntu-latest
env:
APP_NAME: codium
ASSETS_REPOSITORY: ${{ github.repository }}
strategy:
fail-fast: false
matrix:
platform:
- amd64
# - arm64
- arm64
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
steps:
- uses: actions/checkout@v3
- name: Check version
run: ./stores/snapcraft/check_version.sh
env:
ARCHITECTURE: ${{ matrix.platform }}
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
run: ./stores/snapcraft/check_version.sh
# - uses: docker/setup-qemu-action@v1
# if: env.SHOULD_DEPLOY == 'yes'
- uses: docker/setup-qemu-action@v1
if: env.SHOULD_DEPLOY == 'yes'
# - uses: diddlesnaps/snapcraft-multiarch-action@v1
# with:
# path: stores/snapcraft
# architecture: ${{ matrix.platform }}
# id: build
# if: env.SHOULD_DEPLOY == 'yes'
# - uses: diddlesnaps/snapcraft-review-action@v1
# with:
# snap: ${{ steps.build.outputs.snap }}
# isClassic: 'true'
# if: env.SHOULD_DEPLOY == 'yes'
- uses: snapcore/action-build@v1
- uses: diddlesnaps/snapcraft-multiarch-action@v1
with:
path: stores/snapcraft
path: stores/snapcraft/stable
architecture: ${{ matrix.platform }}
id: build
if: env.SHOULD_DEPLOY == 'yes'
- uses: diddlesnaps/snapcraft-review-action@v1
with:
snap: ${{ steps.build.outputs.snap }}
isClassic: 'true'
if: env.SHOULD_DEPLOY == 'yes'
- uses: snapcore/action-publish@master
env:
@@ -147,3 +184,14 @@ jobs:
snap: ${{ steps.build.outputs.snap }}
release: stable
if: env.SHOULD_DEPLOY == 'yes'
deb-rpm-repo-hook:
needs: build
runs-on: ubuntu-latest
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
steps:
- name: Trigger repository rebuild
env:
GL_PAGES_TOKEN: ${{ secrets.GL_PAGES_TOKEN }}
run: curl -X POST --fail -F token="${GL_PAGES_TOKEN}" -F ref=master https://gitlab.com/api/v4/projects/8762263/trigger/pipeline

View File

@@ -1,30 +1,41 @@
name: macos_build
name: stable-macos
on:
workflow_dispatch:
inputs:
new_release:
type: boolean
description: Force new Release
schedule:
- cron: '0 0 * * *'
- cron: '0 18 * * *'
push:
branches: [ master ]
paths-ignore:
- '**/*.md'
pull_request:
branches: [ master ]
paths-ignore:
- '**/*.md'
jobs:
build:
runs-on: ${{ matrix.runner }}
env:
APP_NAME: VSCodium
ASSETS_REPOSITORY: ${{ github.repository }}
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
OS_NAME: osx
VSCODE_ARCH: ${{ matrix.vscode_arch }}
VSCODE_QUALITY: stable
strategy:
fail-fast: false
matrix:
include:
- runner: macOS-10.15
- runner: macos-12
vscode_arch: x64
- runner: [self-hosted, macOS, ARM64]
vscode_arch: arm64
env:
OS_NAME: "osx"
VSCODE_ARCH: ${{ matrix.vscode_arch }}
steps:
- uses: actions/checkout@v3
@@ -42,6 +53,7 @@ jobs:
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NEW_RELEASE: ${{ github.event.inputs.new_release }}
run: . check_tags.sh
if: env.SHOULD_DEPLOY == 'yes'
@@ -69,28 +81,12 @@ jobs:
run: ./build.sh
if: env.SHOULD_BUILD == 'yes'
- name: Sign binary
- name: Prepare assets
env:
CERTIFICATE_OSX_P12: ${{ secrets.CERTIFICATE_OSX_P12 }}
CERTIFICATE_OSX_PASSWORD: ${{ secrets.CERTIFICATE_OSX_PASSWORD }}
CERTIFICATE_OSX_ID: ${{ secrets.CERTIFICATE_OSX_ID }}
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
run: |
if [ -d "VSCode-darwin-${VSCODE_ARCH}" ]; then # just in case the build failed
cd "VSCode-darwin-${VSCODE_ARCH}"
export CERTIFICATE_P12=VSCodium.p12
echo $CERTIFICATE_OSX_P12 | base64 --decode > $CERTIFICATE_P12
export KEYCHAIN=$RUNNER_TEMP/build.keychain
security create-keychain -p mysecretpassword $KEYCHAIN
security default-keychain -s $KEYCHAIN
security unlock-keychain -p mysecretpassword $KEYCHAIN
security import $CERTIFICATE_P12 -k $KEYCHAIN -P $CERTIFICATE_OSX_PASSWORD -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple: -s -k mysecretpassword $KEYCHAIN
codesign --deep --force --verbose --sign "$CERTIFICATE_OSX_ID" VSCodium.app
fi
- name: Prepare artifacts
run: ./prepare_artifacts.sh
run: ./prepare_assets.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Release
@@ -100,11 +96,11 @@ jobs:
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Update versions repo
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
run: ./update_version.sh
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Clean up keychain
if: always()

View File

@@ -1,22 +1,35 @@
name: windows_build
name: stable-windows
on:
workflow_dispatch:
inputs:
new_release:
type: boolean
description: Force new Release
schedule:
- cron: '0 0 * * *'
- cron: '0 18 * * *'
push:
branches: [ master ]
paths-ignore:
- '**/*.md'
pull_request:
branches: [ master ]
paths-ignore:
- '**/*.md'
jobs:
windows:
build:
runs-on: windows-2019
defaults:
run:
shell: bash
env:
APP_NAME: VSCodium
ASSETS_REPOSITORY: ${{ github.repository }}
VERSIONS_REPOSITORY: ${{ github.repository_owner }}/versions
OS_NAME: windows
VSCODE_ARCH: ${{ matrix.vscode_arch }}
OS_NAME: 'windows'
VSCODE_QUALITY: stable
strategy:
fail-fast: false
matrix:
@@ -24,6 +37,9 @@ jobs:
- x64
- ia32
- arm64
outputs:
RELEASE_VERSION: ${{ env.RELEASE_VERSION }}
SHOULD_DEPLOY: ${{ env.SHOULD_DEPLOY }}
steps:
- uses: actions/checkout@v3
@@ -50,6 +66,7 @@ jobs:
- name: Check existing VSCodium tags/releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NEW_RELEASE: ${{ github.event.inputs.new_release }}
run: ./check_tags.sh
if: env.SHOULD_DEPLOY == 'yes'
@@ -79,8 +96,8 @@ jobs:
run: ./build.sh
if: env.SHOULD_BUILD == 'yes'
- name: Prepare artifacts
run: ./prepare_artifacts.sh
- name: Prepare assets
run: ./prepare_assets.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Release
@@ -90,9 +107,36 @@ jobs:
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
- name: Update versions repo
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
run: ./update_version.sh
env:
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
winget:
needs: build
runs-on: windows-latest
defaults:
run:
shell: bash
env:
APP_IDENTIFIER: VSCodium.VSCodium
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
steps:
- uses: actions/checkout@v3
- name: Check version
run: ./stores/winget/check_version.sh
env:
RELEASE_VERSION: ${{ needs.build.outputs.RELEASE_VERSION }}
- name: Release to WinGet
uses: vedantmgoyal2009/winget-releaser@v1
with:
identifier: ${{ env.APP_IDENTIFIER }}
version: ${{ env.RELEASE_VERSION }}
release-tag: ${{ env.RELEASE_VERSION }}
installers-regex: '\.exe$' # only .exe files
token: ${{ secrets.STRONGER_GITHUB_TOKEN }}
if: env.SHOULD_DEPLOY == 'yes'

25
.github/workflows/stale.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
name: Stale Issues
on:
schedule:
- cron: '0 1 * * *'
permissions:
issues: write
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v6
with:
days-before-stale: 180
days-before-close: 30
stale-issue-label: stale
operations-per-run: 1024
stale-issue-message: >
This issue has been automatically marked as stale. **If this issue is still affecting you, please leave any comment**, and we'll keep it open. If you have any new additional information, please include it with your comment!
close-issue-message: >
This issue has been closed due to inactivity, and will not be monitored. If this is a bug and you can reproduce this issue, please open a new issue.
exempt-issue-labels: discussion
only-pr-labels: not-a-real-label

6
.gitignore vendored
View File

@@ -1,6 +1,10 @@
vscode
vscode*
VS*/*
VSCode*
VSCodium*
.DS_Store
*.env
assets/
build/linux/appimage/out
build/linux/appimage/pkg2appimage.AppDir
build/linux/appimage/pkg2appimage-*.AppImage

View File

@@ -1,6 +1,6 @@
<div id="vscodium-logo" align="center">
<br />
<img src="./src/resources/linux/code.png" alt="VSCodium Logo" width="200"/>
<img src="./src/stable/resources/linux/code.png" alt="VSCodium Logo" width="200"/>
<h1>VSCodium</h1>
<h3>Free/Libre Open Source Software Binaries of VS Code</h3>
</div>
@@ -155,9 +155,10 @@ The minimal version is limited by the core component Electron, you may want to c
- [x] GNU/Linux x86 (`deb`, `rpm`, `tar.gz`) ([up to v1.35.1](https://code.visualstudio.com/updates/v1_36#_linux-32bit-support-ends))
- [x] GNU/Linux arm64 (`deb`, `tar.gz`)
- [x] GNU/Linux armhf (`deb`, `tar.gz`)
- [x] Windows 7 or newer x64
- [x] Windows 7 or newer x86
- [x] Windows 10 arm64
- [x] Windows 10 / Server 2012 R2 or newer x64
- [x] Windows 10 / Server 2012 R2 or newer x86
- [x] Windows 10 / Server 2012 R2 or newer arm64
## <a id="donate"></a>Donate

View File

@@ -0,0 +1,7 @@
[
{
"id": "#1218",
"title": "💡 Discussion: New icon",
"url": "https://github.com/VSCodium/vscodium/discussions/1218"
}
]

12
announcements-extra.json Normal file
View File

@@ -0,0 +1,12 @@
[
{
"id": "#1227",
"title": "🐛 Issue: Update to `1.71.0`",
"url": "https://github.com/VSCodium/vscodium/issues/1227"
},
{
"id": "#1264",
"title": "🐛 Issue: Support for Windows 7",
"url": "https://github.com/VSCodium/vscodium/issues/1264"
}
]

View File

@@ -6,7 +6,7 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then
npm config set scripts-prepend-node-path true
npm config set node_gyp
echo "MS_COMMIT: ${MS_COMMIT}"
echo "MS_COMMIT=\"${MS_COMMIT}\""
. prepare_vscode.sh
@@ -30,29 +30,8 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then
. ../build/windows/rtf/make.sh
yarn gulp "vscode-win32-${VSCODE_ARCH}-min-ci"
yarn gulp "vscode-win32-${VSCODE_ARCH}-inno-updater"
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
yarn gulp "vscode-win32-${VSCODE_ARCH}-archive"
fi
if [[ "${SHOULD_BUILD_EXE_SYS}" != "no" ]]; then
yarn gulp "vscode-win32-${VSCODE_ARCH}-system-setup"
fi
if [[ "${SHOULD_BUILD_EXE_USR}" != "no" ]]; then
yarn 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
else
if [[ "${VSCODE_ARCH}" != "ia32" && "${VSCODE_ARCH}" != "x64" ]]; then
SHOULD_BUILD_REH="no"
fi
@@ -62,20 +41,6 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then
find "../VSCode-linux-${VSCODE_ARCH}" -exec touch {} \;
if [[ "${SKIP_LINUX_PACKAGES}" != "True" ]]; then
if [[ "${SHOULD_BUILD_DEB}" != "no" || "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-deb"
fi
if [[ "${SHOULD_BUILD_RPM}" != "no" ]]; then
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-rpm"
fi
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
. ../build/linux/appimage/build.sh
fi
fi
VSCODE_PLATFORM="linux"
fi

View File

@@ -1,6 +1,6 @@
# powershell -ExecutionPolicy ByPass -File .\build\build_windows.ps1
# powershell -ExecutionPolicy ByPass -File .\build\build.ps1
# first so `bash` is the one installed with `git`, avoid conflict with WSL
$env:Path = "C:\Program Files\Git\bin;" + $env:Path
bash ./build/build_windows.sh
bash ./build/build.sh

90
build/build.sh Executable file
View File

@@ -0,0 +1,90 @@
#!/bin/bash
### Windows
# to run with Bash: "C:\Program Files\Git\bin\bash.exe" ./build/build.sh
###
export APP_NAME="VSCodium"
export CI_BUILD="no"
export SHOULD_BUILD="yes"
export SKIP_BUILD="no"
export SKIP_ASSETS="yes"
export VSCODE_LATEST="no"
export VSCODE_QUALITY="stable"
while getopts ":ilop" opt; do
case "$opt" in
i)
export VSCODE_QUALITY="insider"
;;
l)
export VSCODE_LATEST="yes"
;;
o)
export SKIP_BUILD="yes"
;;
p)
export SKIP_ASSETS="no"
;;
esac
done
case "${OSTYPE}" in
darwin*)
export OS_NAME="osx"
;;
msys* | cygwin*)
export OS_NAME="windows"
;;
*)
export OS_NAME="linux"
;;
esac
UNAME_ARCH=$( uname -m )
if [[ "${UNAME_ARCH}" == "arm64" ]]; then
export VSCODE_ARCH="arm64"
else
export VSCODE_ARCH="x64"
fi
echo "OS_NAME=\"${OS_NAME}\""
echo "SKIP_BUILD=\"${SKIP_BUILD}\""
echo "SKIP_ASSETS=\"${SKIP_ASSETS}\""
echo "VSCODE_ARCH=\"${VSCODE_ARCH}\""
echo "VSCODE_LATEST=\"${VSCODE_LATEST}\""
echo "VSCODE_QUALITY=\"${VSCODE_QUALITY}\""
if [[ "${SKIP_BUILD}" == "no" ]]; then
rm -rf vscode* VSCode*
. get_repo.sh
# save variables for later
echo "MS_TAG=\"${MS_TAG}\"" > build.env
echo "MS_COMMIT=\"${MS_COMMIT}\"" >> build.env
echo "RELEASE_VERSION=\"${RELEASE_VERSION}\"" >> build.env
echo "BUILD_SOURCEVERSION=\"${BUILD_SOURCEVERSION}\"" >> build.env
. build.sh
if [[ "${VSCODE_QUALITY}" == "insider" && "${VSCODE_LATEST}" == "yes" ]]; then
echo "$( cat "insider.json" | jq --arg 'tag' "${MS_TAG/\-insider/}" --arg 'commit' "${MS_COMMIT}" '. | .tag=$tag | .commit=$commit' )" > "insider.json"
fi
else
. build.env
echo "MS_TAG=\"${MS_TAG}\""
echo "MS_COMMIT=\"${MS_COMMIT}\""
echo "RELEASE_VERSION=\"${RELEASE_VERSION}\""
echo "BUILD_SOURCEVERSION=\"${BUILD_SOURCEVERSION}\""
fi
if [[ "${SKIP_ASSETS}" == "no" ]]; then
if [[ "${OS_NAME}" == "windows" ]]; then
rm -rf build/windows/msi/releasedir
fi
. prepare_assets.sh
fi

57
build/build_docker.sh Executable file
View File

@@ -0,0 +1,57 @@
#!/bin/bash
exists() { type -t "$1" > /dev/null 2>&1; }
export APP_NAME="VSCodium"
export CI_BUILD="no"
export OS_NAME="linux"
export SHOULD_BUILD="yes"
export SKIP_ASSETS="yes"
export VSCODE_LATEST="no"
export VSCODE_QUALITY="stable"
while getopts ":ilp" opt; do
case "$opt" in
i)
export VSCODE_QUALITY="insider"
;;
l)
export VSCODE_LATEST="yes"
;;
p)
export SKIP_ASSETS="no"
;;
esac
done
if ! exists yarn; then
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs desktop-file-utils
npm install -g yarn
fi
UNAME_ARCH=$( uname -m )
if [[ "${UNAME_ARCH}" == "x86_64" ]]; then
export VSCODE_ARCH="x64"
else
export npm_config_arch=armv7l
export npm_config_force_process_config="true"
export VSCODE_ARCH="armhf"
fi
echo "OS_NAME=\"${OS_NAME}\""
echo "SKIP_ASSETS=\"${SKIP_ASSETS}\""
echo "VSCODE_ARCH=\"${VSCODE_ARCH}\""
echo "VSCODE_LATEST=\"${VSCODE_LATEST}\""
echo "VSCODE_QUALITY=\"${VSCODE_QUALITY}\""
rm -rf vscode* VSCode*
. get_repo.sh
. build.sh
if [[ "${SKIP_ASSETS}" == "no" ]]; then
. prepare_assets.sh
fi

View File

@@ -1,8 +0,0 @@
#!/bin/bash
rm -rf VSCode*
rm -rf vscode
./get_repo.sh
SHOULD_BUILD=yes CI_BUILD=no OS_NAME=linux VSCODE_ARCH=x64 ./build.sh

View File

@@ -1,18 +0,0 @@
#!/bin/bash
rm -rf VSCode*
rm -rf vscode
UNAME_ARCH=$( uname -m )
if [[ "${UNAME_ARCH}" == "arm64" ]]; then
export VSCODE_ARCH="arm64"
else
export VSCODE_ARCH="x64"
fi
echo "-- VSCODE_ARCH: ${VSCODE_ARCH}"
. get_repo.sh
SHOULD_BUILD=yes CI_BUILD=no OS_NAME=osx . build.sh

View File

@@ -1,11 +0,0 @@
#!/bin/bash
# to run with Bash: "C:\Program Files\Git\bin\bash.exe" ./build/build_windows.sh
rm -rf VSCode*
rm -rf vscode
rm -rf build/windows/msi/releasedir
. get_repo.sh
SHOULD_BUILD=yes CI_BUILD=no OS_NAME=windows VSCODE_ARCH=x64 . build.sh

View File

@@ -7,7 +7,16 @@ CALLER_DIR=$( pwd )
cd "$( dirname "${BASH_SOURCE[0]}" )"
if [[ "${VSCODE_ARCH}" == "x64" ]]; then
wget -c https://github.com/$(wget -q https://github.com/AppImage/pkg2appimage/releases -O - | grep "pkg2appimage-.*-x86_64.AppImage" | head -n 1 | cut -d '"' -f 2)
GITHUB_RESPONSE=$( curl --silent --location "https://api.github.com/repos/AppImage/pkg2appimage/releases/latest" )
APPIMAGE_URL=$( echo "${GITHUB_RESPONSE}" | jq --raw-output '.assets | map(select( .name | test("x86_64.AppImage(?!.zsync)"))) | map(.browser_download_url)[0]' )
if [[ -z "${APPIMAGE_URL}" ]]; then
echo "The url for pkg2appimage.AppImage hasn't been found"
exit 1
fi
wget -c "${APPIMAGE_URL}"
chmod +x ./pkg2appimage-*.AppImage
./pkg2appimage-*.AppImage --appimage-extract && mv ./squashfs-root ./pkg2appimage.AppDir
@@ -18,11 +27,21 @@ if [[ "${VSCODE_ARCH}" == "x64" ]]; then
# remove check so build in docker can succeed
sed -i 's/grep docker/# grep docker/' pkg2appimage.AppDir/usr/share/pkg2appimage/functions.sh
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
sed -i 's|@@NAME@@|VSCodium-Insiders|g' recipe.yml
sed -i 's|@@APPNAME@@|codium-insiders|g' recipe.yml
sed -i 's|@@ICON@@|vscodium-insiders|g' recipe.yml
else
sed -i 's|@@NAME@@|VSCodium|g' recipe.yml
sed -i 's|@@APPNAME@@|codium|g' recipe.yml
sed -i 's|@@ICON@@|vscodium|g' recipe.yml
fi
bash -ex pkg2appimage.AppDir/AppRun recipe.yml
rm -f pkg2appimage-*.AppImage
rm -rf pkg2appimage.AppDir
rm -rf VSCodium
rm -rf VSCodium*
fi
cd "${CALLER_DIR}"

View File

@@ -5,7 +5,7 @@
# wget -c "https://github.com/AppImage/pkg2appimage/raw/master/pkg2appimage"
# bash -ex pkg2appimage VSCodium
app: VSCodium
app: @@NAME@@
ingredients:
packages:
@@ -17,19 +17,19 @@ ingredients:
script:
- pwd
- cp ../../../../vscode/.build/linux/deb/amd64/deb/*.deb .
- ls codium_*.deb | cut -d _ -f 2 > VERSION
- ls @@APPNAME@@_*.deb | cut -d _ -f 2 > VERSION
script:
- sed -i -e 's|/usr/share/pixmaps/||g' usr/share/applications/codium.desktop
- cp usr/share/applications/codium.desktop .
- cp usr/share/pixmaps/vscodium.png .
- /usr/bin/convert vscodium.png -resize 512x512 usr/share/icons/hicolor/512x512/apps/vscodium.png
- /usr/bin/convert vscodium.png -resize 256x256 usr/share/icons/hicolor/256x256/apps/vscodium.png
- /usr/bin/convert vscodium.png -resize 128x128 usr/share/icons/hicolor/128x128/apps/vscodium.png
- /usr/bin/convert vscodium.png -resize 64x64 usr/share/icons/hicolor/64x64/apps/vscodium.png
- /usr/bin/convert vscodium.png -resize 48x48 usr/share/icons/hicolor/48x48/apps/vscodium.png
- /usr/bin/convert vscodium.png -resize 32x32 usr/share/icons/hicolor/32x32/apps/vscodium.png
- ( cd usr/bin/ ; ln -s ../share/codium/codium . )
- sed -i -e 's|/usr/share/pixmaps/||g' usr/share/applications/@@APPNAME@@.desktop
- cp usr/share/applications/@@APPNAME@@.desktop .
- cp usr/share/pixmaps/@@ICON@@.png .
- /usr/bin/convert @@ICON@@.png -resize 512x512 usr/share/icons/hicolor/512x512/apps/@@ICON@@.png
- /usr/bin/convert @@ICON@@.png -resize 256x256 usr/share/icons/hicolor/256x256/apps/@@ICON@@.png
- /usr/bin/convert @@ICON@@.png -resize 128x128 usr/share/icons/hicolor/128x128/apps/@@ICON@@.png
- /usr/bin/convert @@ICON@@.png -resize 64x64 usr/share/icons/hicolor/64x64/apps/@@ICON@@.png
- /usr/bin/convert @@ICON@@.png -resize 48x48 usr/share/icons/hicolor/48x48/apps/@@ICON@@.png
- /usr/bin/convert @@ICON@@.png -resize 32x32 usr/share/icons/hicolor/32x32/apps/@@ICON@@.png
- ( cd usr/bin/ ; ln -s ../share/@@APPNAME@@/@@APPNAME@@ . )
- rm -rf usr/lib/x86_64-linux-gnu
- rm -f lib/x86_64-linux-gnu/libglib*
- cat > AppRun <<\EOF

33
build/update_api.sh Executable file
View File

@@ -0,0 +1,33 @@
#!/bin/bash
set -e
export VSCODE_QUALITY="stable"
while getopts ":ilp" opt; do
case "$opt" in
i)
export VSCODE_QUALITY="insider"
;;
esac
done
URL=`curl -s "https://update.code.visualstudio.com/api/update/win32-x64-archive/${VSCODE_QUALITY}/VERSION" | jq -c '.url' | sed -E 's/.*"([^"]+)".*/\1/'`
# echo "url: ${URL}"
FILE=`echo "${URL}" | sed -E 's|.*/([^/]+\.zip)$|\1|'`
# echo "file: ${FILE}"
DIRECTORY=`echo "${URL}" | sed -E 's|.*/([^/]+)\.zip$|\1|'`
# echo "directory: ${DIRECTORY}"
if [[ ! -f "${FILE}" ]]; then
wget "${URL}"
fi
if [[ ! -d "${DIRECTORY}" ]]; then
unzip "${FILE}" -d "${DIRECTORY}"
fi
APIS=`cat ${DIRECTORY}/resources/app/product.json | jq -r '.extensionEnabledApiProposals'`
cat <<< $(jq --argjson v "${APIS}" 'setpath(["extensionEnabledApiProposals"]; $v)' product.json) > product.json

View File

@@ -13,7 +13,7 @@ for file in ../patches/*.patch; do
echo failed to apply patch "${file}"
git apply --reject "${file}"
read -p "Press any key when the conflict have been resolved..." -n1 -s
git diff > "${file}"
git diff -U1 > "${file}"
fi
git add .
git reset -q --hard HEAD

View File

@@ -9,8 +9,22 @@ cd "$( dirname "${BASH_SOURCE[0]}" )"
WIN_SDK_MAJOR_VERSION="10"
WIN_SDK_FULL_VERSION="10.0.17763.0"
PRODUCT_NAME="VSCodium"
PRODUCT_SKU="vscodium"
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
PRODUCT_NAME="VSCodium - Insiders"
PRODUCT_SKU="vscodium-insiders"
PRODUCT_CODE="VSCodiumInsiders"
PRODUCT_UPGRADE_CODE="1C9B7195-5A9A-43B3-B4BD-583E20498467"
ICON_DIR="..\\..\\..\\src\\insider\\resources\\win32"
SETUP_RESOURCES_DIR=".\\resources\\insider"
else
PRODUCT_NAME="VSCodium"
PRODUCT_SKU="vscodium"
PRODUCT_CODE="VSCodium"
PRODUCT_UPGRADE_CODE="965370CD-253C-4720-82FC-2E6B02A53808"
ICON_DIR="..\\..\\..\\src\\stable\\resources\\win32"
SETUP_RESOURCES_DIR=".\\resources\\stable"
fi
PRODUCT_ID=$( powershell.exe -command "[guid]::NewGuid().ToString().ToUpper()" )
PRODUCT_ID="${PRODUCT_ID%%[[:cntrl:]]}"
@@ -18,16 +32,14 @@ CULTURE="en-us"
LANGIDS="1033"
SETUP_RELEASE_DIR=".\\releasedir"
SETUP_RESOURCES_DIR=".\\resources"
BINARY_DIR="..\\..\\..\\VSCode-win32-${VSCODE_ARCH}"
ICON_DIR="..\\..\\..\\src\\resources\\win32"
LICENSE_DIR="..\\..\\..\\vscode"
PROGRAM_FILES_86=$( env | sed -n 's/^ProgramFiles(x86)=//p' )
if [[ -z "${1}" ]]; then
OUTPUT_BASE_FILENAME="${PRODUCT_NAME}-${VSCODE_ARCH}-${MS_TAG}"
OUTPUT_BASE_FILENAME="VSCodium-${VSCODE_ARCH}-${RELEASE_VERSION}"
else
OUTPUT_BASE_FILENAME="${PRODUCT_NAME}-${VSCODE_ARCH}-${1}-${MS_TAG}"
OUTPUT_BASE_FILENAME="VSCodium-${VSCODE_ARCH}-${1}-${RELEASE_VERSION}"
fi
if [[ "${VSCODE_ARCH}" == "ia32" ]]; then
@@ -36,6 +48,10 @@ else
export PLATFORM="${VSCODE_ARCH}"
fi
sed -i "s|@@PRODUCT_UPGRADE_CODE@@|${PRODUCT_UPGRADE_CODE}|g" .\\includes\\vscodium-variables.wxi
sed -i "s|@@PRODUCT_NAME@@|${PRODUCT_NAME}|g" .\\vscodium.xsl
find i18n -name '*.wxl' -exec sed -i "s|@@PRODUCT_NAME@@|${PRODUCT_NAME}|g" {} \;
BuildSetupTranslationTransform() {
local CULTURE=${1}
@@ -44,24 +60,24 @@ BuildSetupTranslationTransform() {
LANGIDS="${LANGIDS},${LANGID}"
echo "Building setup translation for culture \"${CULTURE}\" with LangID \"${LANGID}\"..."
"${WIX}bin\\light.exe" vscodium.wixobj "Files-${OUTPUT_BASE_FILENAME}.wixobj" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -spdb -cc "${TEMP}\\vscodium-cab-cache\\${PLATFORM}" -reusecab -out "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi" -loc "i18n\\${PRODUCT_SKU}.${CULTURE}.wxl" -cultures:"${CULTURE}" -sice:ICE60 -sice:ICE69
"${WIX}bin\\light.exe" vscodium.wixobj "Files-${OUTPUT_BASE_FILENAME}.wixobj" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -spdb -cc "${TEMP}\\vscodium-cab-cache\\${PLATFORM}" -reusecab -out "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi" -loc "i18n\\vscodium.${CULTURE}.wxl" -cultures:"${CULTURE}" -sice:ICE60 -sice:ICE69
cscript "${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\${PLATFORM}\\WiLangId.vbs" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi" Product "${LANGID}"
"${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\x86\\msitran" -g "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.mst"
cscript "${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\${PLATFORM}\\wisubstg.vbs" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.mst" "${LANGID}"
cscript "${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\${PLATFORM}\\wisubstg.vbs" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi"
rm -f "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi"
rm -f "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.mst"
}
"${WIX}bin\\heat.exe" dir "${BINARY_DIR}" -out "Files-${OUTPUT_BASE_FILENAME}.wxs" -t vscodium.xsl -gg -sfrag -scom -sreg -srd -ke -cg "AppFiles" -var var.AppName -var var.ProductVersion -var var.IconDir -var var.LicenseDir -var var.BinaryDir -dr APPLICATIONFOLDER -platform "${PLATFORM}"
"${WIX}bin\\candle.exe" -arch "${PLATFORM}" vscodium.wxs "Files-${OUTPUT_BASE_FILENAME}.wxs" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -dAppName=${PRODUCT_NAME} -dProductVersion="${MS_TAG}" -dProductId="${PRODUCT_ID}" -dBinaryDir="${BINARY_DIR}" -dIconDir="${ICON_DIR}" -dLicenseDir="${LICENSE_DIR}" -dSetupResourcesDir="${SETUP_RESOURCES_DIR}" -dCulture="${CULTURE}"
"${WIX}bin\\light.exe" vscodium.wixobj "Files-${OUTPUT_BASE_FILENAME}.wixobj" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -spdb -cc "${TEMP}\\vscodium-cab-cache\\${PLATFORM}" -out "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi" -loc "i18n\\${PRODUCT_SKU}.${CULTURE}.wxl" -cultures:"${CULTURE}" -sice:ICE60 -sice:ICE69
"${WIX}bin\\heat.exe" dir "${BINARY_DIR}" -out "Files-${OUTPUT_BASE_FILENAME}.wxs" -t vscodium.xsl -gg -sfrag -scom -sreg -srd -ke -cg "AppFiles" -var var.ManufacturerName -var var.AppName -var var.AppCodeName -var var.ProductVersion -var var.IconDir -var var.LicenseDir -var var.BinaryDir -dr APPLICATIONFOLDER -platform "${PLATFORM}"
"${WIX}bin\\candle.exe" -arch "${PLATFORM}" vscodium.wxs "Files-${OUTPUT_BASE_FILENAME}.wxs" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -dManufacturerName="VSCodium" -dAppCodeName="${PRODUCT_CODE}" -dAppName="${PRODUCT_NAME}" -dProductVersion="${RELEASE_VERSION%-insider}" -dProductId="${PRODUCT_ID}" -dBinaryDir="${BINARY_DIR}" -dIconDir="${ICON_DIR}" -dLicenseDir="${LICENSE_DIR}" -dSetupResourcesDir="${SETUP_RESOURCES_DIR}" -dCulture="${CULTURE}"
"${WIX}bin\\light.exe" vscodium.wixobj "Files-${OUTPUT_BASE_FILENAME}.wixobj" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -spdb -cc "${TEMP}\\vscodium-cab-cache\\${PLATFORM}" -out "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi" -loc "i18n\\vscodium.${CULTURE}.wxl" -cultures:"${CULTURE}" -sice:ICE60 -sice:ICE69
BuildSetupTranslationTransform de-de 1031
BuildSetupTranslationTransform es-es 3082

View File

@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="de-de" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">1031</String>
<String Id="ProductName">VSCodium</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Paket mit VSCodium</String>
<String Id="PackageDescription">Paket mit @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Startmenü-Verknüpfung</String>
<String Id="FeatureStartMenuShortcutDescription">Startmenü-Symbol erstellen.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop-Verknüpfung</String>
<String Id="FeatureDesktopShortcutDescription">Desktop-Symbol erstellen.</String>
<String Id="FeatureFileTypeAssociationsTitle">Dateizuordnungen</String>
<String Id="FeatureFileTypeAssociationsDescription">VSCodium als Editor für unterstützte Dateitypen registrieren.</String>
<String Id="FeatureFileTypeAssociationsDescription">@@PRODUCT_NAME@@ als Editor für unterstützte Dateitypen registrieren.</String>
<String Id="FeatureAddContextMenuFilesTitle">Dateikontextmenü</String>
<String Id="FeatureAddContextMenuFilesDescription">Aktion "Mit VSCodium öffnen" dem Dateikontextmenü von Windows-Explorer hinzufügen.</String>
<String Id="FeatureAddContextMenuFilesDescription">Aktion "Mit @@PRODUCT_NAME@@ öffnen" dem Dateikontextmenü von Windows-Explorer hinzufügen.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Verzeichniskontextmenü</String>
<String Id="FeatureAddContextMenuFoldersDescription">Aktion "Mit VSCodium öffnen" dem Verzeichniskontextmenü von Windows-Explorer hinzufügen.</String>
<String Id="FeatureAddContextMenuFoldersDescription">Aktion "Mit @@PRODUCT_NAME@@ öffnen" dem Verzeichniskontextmenü von Windows-Explorer hinzufügen.</String>
<String Id="FeatureEnvironmentTitle">Zu PATH hinzufügen</String>
<String Id="FeatureEnvironmentDescription">VSCodium zur PATH Variable hinzufügen. Nach dem Neustart verfügbar.</String>
<String Id="LaunchApplication">VSCodium ausführen</String>
<String Id="NewerVersionInstalled">Eine neuere Version von VSCodium ist bereits installiert.</String>
<String Id="FeatureEnvironmentDescription">@@PRODUCT_NAME@@ zur PATH Variable hinzufügen. Nach dem Neustart verfügbar.</String>
<String Id="LaunchApplication">@@PRODUCT_NAME@@ ausführen</String>
<String Id="NewerVersionInstalled">Eine neuere Version von @@PRODUCT_NAME@@ ist bereits installiert.</String>
<String Id="MinimumNetFramworkRequired">Diese Anwendung erfordert .NET Framework 4.5.2 oder höher. Bitte installieren Sie .NET Framework und führen Sie dieses Installationsprogramm erneut aus.</String>
<String Id="OSVersionRequired">Windows 7 oder neuer ist erforderlich.</String>
</WixLocalization>
</WixLocalization>

View File

@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="en-us" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">1033</String>
<String Id="ProductName">VSCodium</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Package with VSCodium</String>
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
<String Id="FeatureFileTypeAssociationsDescription">Register VSCodium as an editor for supported file types.</String>
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with VSCodium" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with VSCodium" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
<String Id="FeatureEnvironmentDescription">Add VSCodium to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch VSCodium</String>
<String Id="NewerVersionInstalled">Newer version of VSCodium is already installed.</String>
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
</WixLocalization>
</WixLocalization>

View File

@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="es-es" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">3082</String>
<String Id="ProductName">VSCodium</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Package with VSCodium</String>
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
<String Id="FeatureFileTypeAssociationsDescription">Register VSCodium as an editor for supported file types.</String>
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with VSCodium" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with VSCodium" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
<String Id="FeatureEnvironmentDescription">Add VSCodium to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch VSCodium</String>
<String Id="NewerVersionInstalled">Newer version of VSCodium is already installed.</String>
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
</WixLocalization>
</WixLocalization>

View File

@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="fr-fr" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">1036</String>
<String Id="ProductName">VSCodium</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Package with VSCodium</String>
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
<String Id="FeatureFileTypeAssociationsDescription">Register VSCodium as an editor for supported file types.</String>
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with VSCodium" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with VSCodium" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
<String Id="FeatureEnvironmentDescription">Add VSCodium to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch VSCodium</String>
<String Id="NewerVersionInstalled">Newer version of VSCodium is already installed.</String>
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
</WixLocalization>
</WixLocalization>

View File

@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="it-it" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">1040</String>
<String Id="ProductName">VSCodium</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Package with VSCodium</String>
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
<String Id="FeatureFileTypeAssociationsDescription">Register VSCodium as an editor for supported file types.</String>
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with VSCodium" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with VSCodium" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
<String Id="FeatureEnvironmentDescription">Add VSCodium to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch VSCodium</String>
<String Id="NewerVersionInstalled">Newer version of VSCodium is already installed.</String>
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
</WixLocalization>
</WixLocalization>

View File

@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="ja-jp" Codepage="932" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">1041</String>
<String Id="ProductName">VSCodium</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Package with VSCodium</String>
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
<String Id="FeatureFileTypeAssociationsDescription">Register VSCodium as an editor for supported file types.</String>
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with VSCodium" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with VSCodium" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
<String Id="FeatureEnvironmentDescription">Add VSCodium to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch VSCodium</String>
<String Id="NewerVersionInstalled">Newer version of VSCodium is already installed.</String>
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
</WixLocalization>
</WixLocalization>

View File

@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="ko-kr" Codepage="949" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">1042</String>
<String Id="ProductName">VSCodium</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Package with VSCodium</String>
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
<String Id="FeatureFileTypeAssociationsDescription">Register VSCodium as an editor for supported file types.</String>
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with VSCodium" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with VSCodium" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
<String Id="FeatureEnvironmentDescription">Add VSCodium to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch VSCodium</String>
<String Id="NewerVersionInstalled">Newer version of VSCodium is already installed.</String>
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
</WixLocalization>
</WixLocalization>

View File

@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="ru-ru" Codepage="1251" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">1049</String>
<String Id="ProductName">VSCodium</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Package with VSCodium</String>
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
<String Id="FeatureFileTypeAssociationsDescription">Register VSCodium as an editor for supported file types.</String>
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with VSCodium" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with VSCodium" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
<String Id="FeatureEnvironmentDescription">Add VSCodium to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch VSCodium</String>
<String Id="NewerVersionInstalled">Newer version of VSCodium is already installed.</String>
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
</WixLocalization>
<String Id="PackageDescription">Пакет с @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Ярлык в меню «Пуск»</String>
<String Id="FeatureStartMenuShortcutDescription">Создайте значок в меню «Пуск».</String>
<String Id="FeatureDesktopShortcutTitle">Ярлык рабочего стола</String>
<String Id="FeatureDesktopShortcutDescription">Создать значок на рабочем столе.</String>
<String Id="FeatureFileTypeAssociationsTitle">Ассоциации файлов</String>
<String Id="FeatureFileTypeAssociationsDescription">Зарегистрировать @@PRODUCT_NAME@@ в качестве редактора поддерживаемых типов файлов.</String>
<String Id="FeatureAddContextMenuFilesTitle">Контекстное меню файлов</String>
<String Id="FeatureAddContextMenuFilesDescription">Добавить действие «Открыть с помощью @@PRODUCT_NAME@@» в контекстное меню файлов Проводника Windows.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Контекстное меню каталога</String>
<String Id="FeatureAddContextMenuFoldersDescription">Добавить действие «Открыть с помощью @@PRODUCT_NAME@@» в контекстное меню каталога Проводника Windows.</String>
<String Id="FeatureEnvironmentTitle">Добавить в PATH</String>
<String Id="FeatureEnvironmentDescription">Добавить @@PRODUCT_NAME@@ в переменную среды PATH. Доступно после перезапуска.</String>
<String Id="LaunchApplication">Запустить @@PRODUCT_NAME@@</String>
<String Id="NewerVersionInstalled">Новая версия @@PRODUCT_NAME@@ уже установлена.</String>
<String Id="MinimumNetFramworkRequired">Приложению требуется .NET Framework 4.5.2 или более новая версии. Пожалуйста, установите .NET Framework, затем снова запустите установщик.</String>
<String Id="OSVersionRequired">Требуется Windows 7 или более новая версия.</String>
</WixLocalization>

View File

@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="zh-cn" Codepage="936" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">2052</String>
<String Id="ProductName">VSCodium</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Package with VSCodium</String>
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
<String Id="FeatureFileTypeAssociationsDescription">Register VSCodium as an editor for supported file types.</String>
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with VSCodium" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with VSCodium" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
<String Id="FeatureEnvironmentDescription">Add VSCodium to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch VSCodium</String>
<String Id="NewerVersionInstalled">Newer version of VSCodium is already installed.</String>
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
</WixLocalization>
</WixLocalization>

View File

@@ -1,25 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="zh-tw" Codepage="950" xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="ProductLanguage">1028</String>
<String Id="ProductName">VSCodium</String>
<String Id="ProductName">@@PRODUCT_NAME@@</String>
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
<String Id="PackageDescription">Package with VSCodium</String>
<String Id="PackageDescription">Package with @@PRODUCT_NAME@@</String>
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
<String Id="FeatureFileTypeAssociationsDescription">Register VSCodium as an editor for supported file types.</String>
<String Id="FeatureFileTypeAssociationsDescription">Register @@PRODUCT_NAME@@ as an editor for supported file types.</String>
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with VSCodium" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer file contect menu.</String>
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with VSCodium" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with @@PRODUCT_NAME@@" action to Windows Explorer directory contect menu.</String>
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
<String Id="FeatureEnvironmentDescription">Add VSCodium to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch VSCodium</String>
<String Id="NewerVersionInstalled">Newer version of VSCodium is already installed.</String>
<String Id="FeatureEnvironmentDescription">Add @@PRODUCT_NAME@@ to PATH environment variable. Available after restart.</String>
<String Id="LaunchApplication">Launch @@PRODUCT_NAME@@</String>
<String Id="NewerVersionInstalled">Newer version of @@PRODUCT_NAME@@ is already installed.</String>
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
</WixLocalization>
</WixLocalization>

View File

@@ -11,17 +11,14 @@
<?define Arch="(x64)" ?>
<?endif?>
<!-- <?define ProductVersion="$(var.ProductVersion)" ?> -->
<?define ProductName="!(loc.ProductName)" ?>
<?define ProductNameWithVersion="!(loc.ProductName) $(var.ProductVersion) $(var.Arch)" ?>
<?define ProductLanguage="!(loc.ProductLanguage)" ?>
<?define AppCodeName="$(var.AppName)" ?>
<!-- <?define AppName="$(var.AppName)" ?> -->
<?define AppFolderName="$(var.AppName)" ?>
<?define ProductManufacturerShort="$(var.AppName)" ?>
<?define ProductManufacturerLong="$(var.AppName)" ?>
<?define ProductManufacturerShort="$(var.ManufacturerName)" ?>
<?define ProductManufacturerLong="$(var.ManufacturerName)" ?>
<!-- Static settings, DO NOT TOUCH or upgrades will break! -->
<?define ProductUpgradeCode="{965370CD-253C-4720-82FC-2E6B02A53808}" ?>
<?define ProductUpgradeCode="{@@PRODUCT_UPGRADE_CODE@@}" ?>
<?define RTMProductVersion="0.0.1" ?>
</Include>
</Include>

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 451 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 451 KiB

After

Width:  |  Height:  |  Size: 451 KiB

View File

@@ -1045,32 +1045,32 @@
</Extension>
</ProgId>
</Component>
<Component Id="AddFileTypeAssociationVSCodiumSourceFile" Guid="*">
<RegistryValue Root="HKCR" Key="VSCodiumSourceFile" Value="VSCodium" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="VSCodiumSourceFile\DefaultIcon" Value="[#DEFAULT.ICO]" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="VSCodiumSourceFile\shell\open\command" Value="&quot;[APPLICATIONFOLDER]VSCodium.exe&quot; &quot;%1&quot;" Type="string" Action="write" />
<Component Id="AddFileTypeAssociation$(var.AppCodeName)SourceFile" Guid="*">
<RegistryValue Root="HKCR" Key="$(var.AppCodeName)SourceFile" Value="$(var.AppName)" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="$(var.AppCodeName)SourceFile\DefaultIcon" Value="[#DEFAULT.ICO]" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="$(var.AppCodeName)SourceFile\shell\open\command" Value="&quot;[APPLICATIONFOLDER]$(var.AppName).exe&quot; &quot;%1&quot;" Type="string" Action="write" />
</Component>
<Component Id="AddFileTypeAssociationApplicationsVSCodium" Guid="*">
<RegistryValue Root="HKCR" Key="Applications\VSCodium.exe\DefaultIcon" Value="[#DEFAULT.ICO]" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="Applications\VSCodium.exe\shell\open\command" Value="&quot;[APPLICATIONFOLDER]VSCodium.exe&quot; &quot;%1&quot;" Type="string" Action="write" />
<Component Id="AddFileTypeAssociationApplications$(var.AppCodeName)" Guid="*">
<RegistryValue Root="HKCR" Key="Applications\$(var.AppName).exe\DefaultIcon" Value="[#DEFAULT.ICO]" Type="string" Action="write" />
<RegistryValue Root="HKCR" Key="Applications\$(var.AppName).exe\shell\open\command" Value="&quot;[APPLICATIONFOLDER]$(var.AppName).exe&quot; &quot;%1&quot;" Type="string" Action="write" />
</Component>
<Component Id="AddContextMenuFiles" Guid="*">
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\*\shell\$(var.AppCodeName)" Value="Open with VSCodium" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\*\shell\$(var.AppCodeName)" Name="Icon" Value="[APPLICATIONFOLDER]VSCodium.exe" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\*\shell\$(var.AppCodeName)\command" Value="&quot;[APPLICATIONFOLDER]VSCodium.exe&quot; &quot;%1&quot;" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\*\shell\$(var.AppCodeName)" Value="Open with $(var.AppName)" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\*\shell\$(var.AppCodeName)" Name="Icon" Value="[APPLICATIONFOLDER]$(var.AppName).exe" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\*\shell\$(var.AppCodeName)\command" Value="&quot;[APPLICATIONFOLDER]$(var.AppName).exe&quot; &quot;%1&quot;" Type="string" Action="write" />
</Component>
<Component Id="AddContextMenuFolders" Guid="*">
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\directory\shell\$(var.AppCodeName)" Value="Open with VSCodium" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\directory\shell\$(var.AppCodeName)" Name="Icon" Value="[APPLICATIONFOLDER]VSCodium.exe" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\directory\shell\$(var.AppCodeName)\command" Value="&quot;[APPLICATIONFOLDER]VSCodium.exe&quot; &quot;%V&quot;" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\directory\background\shell\$(var.AppCodeName)" Value="Open with VSCodium" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\directory\background\shell\$(var.AppCodeName)" Name="Icon" Value="[APPLICATIONFOLDER]VSCodium.exe" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\directory\background\shell\$(var.AppCodeName)\command" Value="&quot;[APPLICATIONFOLDER]VSCodium.exe&quot; &quot;%V&quot;" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\Drive\shell\$(var.AppCodeName)" Value="Open with VSCodium" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\Drive\shell\$(var.AppCodeName)" Name="Icon" Value="[APPLICATIONFOLDER]VSCodium.exe" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\Drive\shell\$(var.AppCodeName)\command" Value="&quot;[APPLICATIONFOLDER]VSCodium.exe&quot; &quot;%V&quot;" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\directory\shell\$(var.AppCodeName)" Value="Open with $(var.AppName)" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\directory\shell\$(var.AppCodeName)" Name="Icon" Value="[APPLICATIONFOLDER]$(var.AppName).exe" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\directory\shell\$(var.AppCodeName)\command" Value="&quot;[APPLICATIONFOLDER]$(var.AppName).exe&quot; &quot;%V&quot;" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\directory\background\shell\$(var.AppCodeName)" Value="Open with $(var.AppName)" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\directory\background\shell\$(var.AppCodeName)" Name="Icon" Value="[APPLICATIONFOLDER]$(var.AppName).exe" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\directory\background\shell\$(var.AppCodeName)\command" Value="&quot;[APPLICATIONFOLDER]$(var.AppName).exe&quot; &quot;%V&quot;" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\Drive\shell\$(var.AppCodeName)" Value="Open with $(var.AppName)" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\Drive\shell\$(var.AppCodeName)" Name="Icon" Value="[APPLICATIONFOLDER]$(var.AppName).exe" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="SOFTWARE\Classes\Drive\shell\$(var.AppCodeName)\command" Value="&quot;[APPLICATIONFOLDER]$(var.AppName).exe&quot; &quot;%V&quot;" Type="string" Action="write" />
</Component>
<Component Id="AddToEnvironmentPath" Guid="{A75E4C99-6713-45B9-8EC2-B9391592984C}">
@@ -1080,17 +1080,17 @@
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="VSCodiumProgramMenuFolder" Name="$(var.AppName)">
<Directory Id="$(var.AppCodeName)ProgramMenuFolder" Name="$(var.AppName)">
<Component Id="StartMenuShortcut" Guid="*">
<Shortcut Id="VSCodiumStartMenuShortcut" Advertise="no" Name="$(var.AppName)" Directory="VSCodiumProgramMenuFolder" Target="[APPLICATIONFOLDER]VSCodium.exe" WorkingDirectory="APPLICATIONFOLDER" />
<RemoveFolder Id="VSCodiumProgramMenuFolder" On="uninstall" />
<Shortcut Id="$(var.AppCodeName)StartMenuShortcut" Advertise="no" Name="$(var.AppName)" Directory="$(var.AppCodeName)ProgramMenuFolder" Target="[APPLICATIONFOLDER]$(var.AppName).exe" WorkingDirectory="APPLICATIONFOLDER" />
<RemoveFolder Id="$(var.AppCodeName)ProgramMenuFolder" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\$(var.ProductManufacturerShort)\$(var.AppName)\Components" Name="StartMenuShortcutInstalled" Type="integer" Value="1" KeyPath="yes" />
</Component>
</Directory>
</Directory>
<Directory Id="DesktopFolder">
<Component Id="DesktopShortcut" Guid="*">
<Shortcut Id="VSCodiumDesktopShortcut" Advertise="no" Name="$(var.AppName)" Directory="DesktopFolder" Target="[APPLICATIONFOLDER]VSCodium.exe" WorkingDirectory="APPLICATIONFOLDER" />
<Shortcut Id="$(var.AppCodeName)DesktopShortcut" Advertise="no" Name="$(var.AppName)" Directory="DesktopFolder" Target="[APPLICATIONFOLDER]$(var.AppName).exe" WorkingDirectory="APPLICATIONFOLDER" />
<RegistryValue Root="HKCU" Key="Software\$(var.ProductManufacturerShort)\$(var.AppName)\Components" Name="DesktopShortcutInstalled" Type="integer" Value="1" KeyPath="yes" />
</Component>
</Directory>
@@ -1108,9 +1108,9 @@
<ComponentRef Id="DesktopShortcut" />
</Feature>
<Feature Id="FeatureFileTypeAssociations" Title="!(loc.FeatureFileTypeAssociationsTitle)" Description="!(loc.FeatureFileTypeAssociationsDescription)" Level="2" Absent="allow" AllowAdvertise="no" InstallDefault="followParent">
<ComponentRef Id="AddFileTypeAssociationVSCodiumSourceFile" />
<ComponentRef Id="AddFileTypeAssociationApplicationsVSCodium" />
<ComponentRef Id="AddFileTypeAssociation$(var.AppCodeName)SourceFile" />
<ComponentRef Id="AddFileTypeAssociationApplications$(var.AppCodeName)" />
<Feature Id="FeatureFileTypeAssocASCX" Title=".ascx" Description="ASCX" Level="2" Absent="allow" AllowAdvertise="no" InstallDefault="followParent">
<ComponentRef Id="AddFileTypeAssociationASCX" />
</Feature>

View File

@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:wi="http://schemas.microsoft.com/wix/2006/wi">
<xsl:strip-space elements="*"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<xsl:key name="vId1ToReplace" match="wi:Component[wi:File[contains(@Source,'VSCodium.exe')]]" use="@Id"/>
<xsl:key name="vId1ToReplace" match="wi:Component[wi:File[contains(@Source,'@@PRODUCT_NAME@@.exe')]]" use="@Id"/>
<xsl:template match="node()[key('vId1ToReplace', @Id)]">
<xsl:copy>
<xsl:attribute name="Id">VSCODIUM.EXE</xsl:attribute>
@@ -19,7 +19,7 @@
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
<xsl:template match="wi:Component/wi:File[contains(@Source,'VSCodium.exe')]">
<xsl:template match="wi:Component/wi:File[contains(@Source,'@@PRODUCT_NAME@@.exe')]">
<xsl:copy>
<xsl:attribute name="Id">VSCODIUM.EXE</xsl:attribute>
<xsl:copy-of select="@*[name()!='Id']"/>

View File

@@ -4,21 +4,25 @@ set -e
if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then
echo "It's a PR"
export SHOULD_BUILD="yes"
export SHOULD_DEPLOY="no"
elif [[ "${GITHUB_EVENT_NAME}" == "push" ]]; then
echo "It's a Push"
export SHOULD_BUILD="yes"
export SHOULD_DEPLOY="no"
elif [[ "${GITHUB_EVENT_NAME}" == "workflow_dispatch" ]]; then
echo "It's a Dispatch"
export SHOULD_DEPLOY="yes"
else
echo "It's a cron"
echo "It's a Cron"
export SHOULD_DEPLOY="yes"
fi
if [[ "${GITHUB_ENV}" ]]; then
echo "SHOULD_BUILD=${SHOULD_BUILD}" >> "${GITHUB_ENV}"
echo "SHOULD_DEPLOY=${SHOULD_DEPLOY}" >> "${GITHUB_ENV}"
fi
fi

View File

@@ -7,33 +7,71 @@ if [[ -z "${GITHUB_TOKEN}" ]]; then
exit
fi
REPOSITORY="${GITHUB_REPOSITORY:-"VSCodium/vscodium"}"
GITHUB_RESPONSE=$( curl -s -H "Authorization: token ${GITHUB_TOKEN}" "https://api.github.com/repos/${REPOSITORY}/releases/tags/${MS_TAG}")
VSCODIUM_ASSETS=$( echo "${GITHUB_RESPONSE}" | jq -c '.assets | map(.name)?' )
APP_NAME_LC=$( echo "${APP_NAME}" | awk '{print tolower($0)}' )
GITHUB_RESPONSE=$( curl -s -H "Authorization: token ${GITHUB_TOKEN}" "https://api.github.com/repos/${ASSETS_REPOSITORY}/releases/latest" )
LATEST_VERSION=$( echo "${GITHUB_RESPONSE}" | jq -c -r '.tag_name' )
if [[ "${LATEST_VERSION}" =~ ^([0-9]+\.[0-9]+\.[0-9]+) ]]; then
if [ "${MS_TAG}" != "${BASH_REMATCH[1]}" ]; then
echo "New VSCode version, new build"
export SHOULD_BUILD="yes"
elif [[ "${NEW_RELEASE}" == "true" ]]; then
echo "New release build"
export SHOULD_BUILD="yes"
elif [[ "${VSCODE_QUALITY}" == "insider" ]]; then
BODY=$( echo "${GITHUB_RESPONSE}" | jq -c -r '.body' )
if [[ "${BODY}" =~ \[([a-z0-9]+)\] ]]; then
if [ "${MS_COMMIT}" != "${BASH_REMATCH[1]}" ]; then
echo "New VSCode Insiders version, new build"
export SHOULD_BUILD="yes"
fi
fi
fi
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
export RELEASE_VERSION="${LATEST_VERSION}"
echo "RELEASE_VERSION=${RELEASE_VERSION}" >> "${GITHUB_ENV}"
echo "Switch to release version: ${RELEASE_VERSION}"
ASSETS=$( echo "${GITHUB_RESPONSE}" | jq -c '.assets | map(.name)?' )
else
ASSETS="null"
fi
fi
contains() {
# add " to match the end of a string so any hashs won't be matched by mistake
echo "${VSCODIUM_ASSETS}" | grep "${1}\""
echo "${ASSETS}" | grep "${1}\""
}
if [ "${VSCODIUM_ASSETS}" != "null" ]; then
if [ "${ASSETS}" != "null" ]; then
# macos
if [[ "${OS_NAME}" == "osx" ]]; then
if [[ -z $( contains "VSCodium-darwin-${VSCODE_ARCH}-${MS_TAG}.zip" ) ]]; then
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
if [[ -z $( contains "${APP_NAME}-${RELEASE_VERSION}-src.tar.gz" ) || -z $( contains "${APP_NAME}-${RELEASE_VERSION}-src.zip" ) ]]; then
echo "Building on MacOS because we have no SRC"
export SHOULD_BUILD="yes"
export SHOULD_BUILD_SRC="yes"
fi
fi
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}.${MS_TAG}.dmg" ) ]]; then
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 "vscodium-reh-darwin-${VSCODE_ARCH}-${MS_TAG}.tar.gz" ) ]]; then
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
@@ -46,22 +84,22 @@ if [ "${VSCODIUM_ASSETS}" != "null" ]; then
elif [[ "${OS_NAME}" == "windows" ]]; then
# windows-arm64
if [[ ${VSCODE_ARCH} == "arm64" ]]; then
if [[ -z $( contains "VSCodiumSetup-${VSCODE_ARCH}-${MS_TAG}.exe" ) ]]; then
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}-${MS_TAG}.exe" ) ]]; then
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 "VSCodium-win32-${VSCODE_ARCH}-${MS_TAG}.zip" ) ]]; then
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
@@ -75,43 +113,43 @@ if [ "${VSCODIUM_ASSETS}" != "null" ]; then
fi
# windows-ia32
elif [[ ${VSCODE_ARCH} == "ia32" ]]; then
if [[ -z $( contains "VSCodiumSetup-${VSCODE_ARCH}-${MS_TAG}.exe" ) ]]; then
elif [[ "${VSCODE_ARCH}" == "ia32" ]]; then
if [[ -z $( contains "${APP_NAME}Setup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
echo "Building on Windows ia32 because we have no system setup"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_EXE_SYS="no"
fi
if [[ -z $( contains "UserSetup-${VSCODE_ARCH}-${MS_TAG}.exe" ) ]]; then
if [[ -z $( contains "UserSetup-${VSCODE_ARCH}-${RELEASE_VERSION}.exe" ) ]]; then
echo "Building on Windows ia32 because we have no user setup"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_EXE_USR="no"
fi
if [[ -z $( contains "VSCodium-win32-${VSCODE_ARCH}-${MS_TAG}.zip" ) ]]; then
if [[ -z $( contains "${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" ) ]]; then
echo "Building on Windows ia32 because we have no zip"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_ZIP="no"
fi
if [[ -z $( contains "VSCodium-${VSCODE_ARCH}-${MS_TAG}.msi" ) ]]; then
if [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-${RELEASE_VERSION}.msi" ) ]]; then
echo "Building on Windows ia32 because we have no msi"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_MSI="no"
fi
if [[ -z $( contains "VSCodium-${VSCODE_ARCH}-updates-disabled-${MS_TAG}.msi" ) ]]; then
if [[ -z $( contains "${APP_NAME}-${VSCODE_ARCH}-updates-disabled-${RELEASE_VERSION}.msi" ) ]]; then
echo "Building on Windows ia32 because we have no updates-disabled msi"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_MSI_NOUP="no"
fi
if [[ -z $( contains "vscodium-reh-win32-${VSCODE_ARCH}-${MS_TAG}.tar.gz" ) ]]; then
if [[ -z $( contains "${APP_NAME_LC}-reh-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Windows ia32 because we have no REH archive"
export SHOULD_BUILD="yes"
else
@@ -124,42 +162,42 @@ if [ "${VSCODIUM_ASSETS}" != "null" ]; then
# windows-x64
else
if [[ -z $( contains "VSCodiumSetup-${VSCODE_ARCH}-${MS_TAG}.exe" ) ]]; then
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}-${MS_TAG}.exe" ) ]]; then
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 "VSCodium-win32-${VSCODE_ARCH}-${MS_TAG}.zip" ) ]]; then
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 [[ -z $( contains "VSCodium-${VSCODE_ARCH}-${MS_TAG}.msi" ) ]]; then
if [[ -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 [[ -z $( contains "VSCodium-${VSCODE_ARCH}-updates-disabled-${MS_TAG}.msi" ) ]]; then
if [[ -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 "vscodium-reh-win32-${VSCODE_ARCH}-${MS_TAG}.tar.gz" ) ]]; then
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
@@ -173,7 +211,7 @@ if [ "${VSCODIUM_ASSETS}" != "null" ]; then
elif [[ "${OS_NAME}" == "linux" ]]; then
# linux-arm64
if [[ ${VSCODE_ARCH} == "arm64" ]]; then
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
if [[ -z $( contains "arm64.deb" ) ]]; then
echo "Building on Linux arm64 because we have no DEB"
export SHOULD_BUILD="yes"
@@ -188,14 +226,14 @@ if [ "${VSCODIUM_ASSETS}" != "null" ]; then
export SHOULD_BUILD_RPM="no"
fi
if [[ -z $( contains "VSCodium-linux-arm64-${MS_TAG}.tar.gz" ) ]]; then
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 "vscodium-reh-linux-arm64-${MS_TAG}.tar.gz" ) ]]; then
if [[ -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
@@ -209,7 +247,7 @@ if [ "${VSCODIUM_ASSETS}" != "null" ]; then
fi
# linux-armhf
elif [[ ${VSCODE_ARCH} == "armhf" ]]; then
elif [[ "${VSCODE_ARCH}" == "armhf" ]]; then
if [[ -z $( contains "armhf.deb" ) ]]; then
echo "Building on Linux arm because we have no DEB"
export SHOULD_BUILD="yes"
@@ -224,14 +262,14 @@ if [ "${VSCODIUM_ASSETS}" != "null" ]; then
export SHOULD_BUILD_RPM="no"
fi
if [[ -z $( contains "VSCodium-linux-armhf-${MS_TAG}.tar.gz" ) ]]; then
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 [[ -z $( contains "vscodium-reh-linux-armhf-${MS_TAG}.tar.gz" ) ]]; then
if [[ -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
@@ -260,7 +298,7 @@ if [ "${VSCODIUM_ASSETS}" != "null" ]; then
export SHOULD_BUILD_RPM="no"
fi
if [[ -z $( contains "VSCodium-linux-x64-${MS_TAG}.tar.gz" ) ]]; then
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
@@ -274,7 +312,7 @@ if [ "${VSCODIUM_ASSETS}" != "null" ]; then
export SHOULD_BUILD_APPIMAGE="no"
fi
if [[ -z $( contains "vscodium-reh-linux-x64-${MS_TAG}.tar.gz" ) ]]; then
if [[ -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
@@ -287,6 +325,20 @@ if [ "${VSCODIUM_ASSETS}" != "null" ]; then
fi
fi
else
if [[ "${OS_NAME}" == "linux" ]]; then
if [[ "${VSCODE_ARCH}" != "x64" ]]; then
export SHOULD_BUILD_APPIMAGE="no"
fi
elif [[ "${OS_NAME}" == "osx" ]]; then
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
export SHOULD_BUILD_SRC="yes"
fi
elif [[ "${OS_NAME}" == "windows" ]]; then
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
export SHOULD_BUILD_REH="no"
fi
fi
echo "Release assets do not exist at all, continuing build"
export SHOULD_BUILD="yes"
fi
@@ -303,3 +355,4 @@ echo "SHOULD_BUILD_REH=${SHOULD_BUILD_REH}" >> "${GITHUB_ENV}"
echo "SHOULD_BUILD_RPM=${SHOULD_BUILD_RPM}" >> "${GITHUB_ENV}"
echo "SHOULD_BUILD_TAR=${SHOULD_BUILD_TAR}" >> "${GITHUB_ENV}"
echo "SHOULD_BUILD_ZIP=${SHOULD_BUILD_ZIP}" >> "${GITHUB_ENV}"
echo "SHOULD_BUILD_SRC=${SHOULD_BUILD_SRC}" >> "${GITHUB_ENV}"

View File

@@ -10,6 +10,7 @@
- [Build in Docker](#build-docker)
- [X64](#build-docker-x64)
- [ARM 32bits](#build-docker-arm32)
- [Build Snap](#build-snap)
- [Patch Update Process](#patch-update-process)
- [Semi-Automated](#patch-update-process-semiauto)
- [Manual](#patch-update-process-manual)
@@ -49,11 +50,17 @@
## <a id="build-scripts"></a>Build Scripts
Each platform has its build helper script in the directory `build`.
A build helper script can be found at `build/build.sh`.
- Linux: `./build/build_linux.sh`
- MacOS: `./build/build_macos.sh`
- Windows: `powershell -ExecutionPolicy ByPass -File .\build\build_windows.ps1`
- Linux: `./build/build.sh`
- MacOS: `./build/build.sh`
- Windows: `powershell -ExecutionPolicy ByPass -File .\build\build.ps1` or `"C:\Program Files\Git\bin\bash.exe" ./build/build.sh`
### Insider
The `insider` version can be built with `./build/build.sh -i` on the `insider` branch.
You can try the lastest version with the command `./build/build.sh -il` but the patches might not be up to date.
## <a id="build-docker"></a>Build in Docker
@@ -65,6 +72,10 @@ Firstly, create the container with:
```
docker run -ti --volume=<local vscodium source>:/root/vscodium --name=vscodium-build-agent vscodium/vscodium-linux-build-agent:bionic-x64 bash
```
like
```
docker run -ti --volume=$(pwd):/root/vscodium --name=vscodium-build-agent vscodium/vscodium-linux-build-agent:bionic-x64 bash
```
When inside the container, you can use the following commands to build:
```
@@ -75,13 +86,13 @@ npm install -g yarn
cd /root/vscodium
./get_repo.sh
. get_repo.sh
export SHOULD_BUILD=yes
export OS_NAME=linux
export VSCODE_ARCH=x64
./build.sh
. build.sh
```
### <a id="build-docker-arm32"></a>ARM 32bits
@@ -90,6 +101,10 @@ Firstly, create the container with:
```
docker run -ti --volume=<local vscodium source>:/root/vscodium --name=vscodium-build-agent vscodium/vscodium-linux-build-agent:stretch-armhf bash
```
like
```
docker run -ti --volume=$(pwd):/root/vscodium --name=vscodium-build-agent vscodium/vscodium-linux-build-agent:stretch-armhf bash
```
When inside the container, you can use the following commands to build:
```
@@ -98,7 +113,7 @@ sudo apt-get install -y nodejs desktop-file-utils
cd /root/vscodium
./get_repo.sh
. get_repo.sh
export SHOULD_BUILD=yes
export OS_NAME=linux
@@ -106,7 +121,23 @@ export VSCODE_ARCH=armhf
export npm_config_arch=armv7l
export npm_config_force_process_config="true"
./build.sh
. build.sh
```
## <a id="build-snap"></a>Build Snap
```
# for the stable version
cd ./stores/snapcraft/stable
# for the insider version
cd ./stores/snapcraft/insider
# create the snap
snapcraft --use-lxd
# verify the snap
review-tools.snap-review --allow-classic codium*.snap
```
## <a id="patch-update-process"></a>Patch Update Process

View File

@@ -1,5 +1,69 @@
#!/bin/bash
set -e
# git workaround
if [[ "${CI_BUILD}" != "no" ]]; then
git config --global --add safe.directory "/__w/$( echo "${GITHUB_REPOSITORY}" | awk '{print tolower($0)}' )"
fi
if [[ -z "${RELEASE_VERSION}" ]]; then
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
if [[ "${VSCODE_LATEST}" == "yes" ]] || [[ ! -f "insider.json" ]]; then
UPDATE_INFO=$( curl --silent https://update.code.visualstudio.com/api/update/darwin/insider/lol )
else
export MS_COMMIT=$(jq -r '.commit' insider.json)
export MS_TAG=$(jq -r '.tag' insider.json)
fi
else
UPDATE_INFO=$( curl --silent https://update.code.visualstudio.com/api/update/darwin/stable/lol )
fi
if [[ -z "${MS_COMMIT}" ]]; then
export MS_COMMIT=$( echo "${UPDATE_INFO}" | jq -r '.version' )
export MS_TAG=$( echo "${UPDATE_INFO}" | jq -r '.name' )
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
export MS_TAG="${MS_TAG/\-insider/}"
fi
fi
date=$( date +%Y%j )
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
export RELEASE_VERSION="${MS_TAG}.${date: -5}-insider"
else
export RELEASE_VERSION="${MS_TAG}.${date: -5}"
fi
else
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
if [[ "${RELEASE_VERSION}" =~ ^([0-9]+\.[0-9]+\.[0-9]+)\.[0-9]+-insider$ ]];
then
MS_TAG="${BASH_REMATCH[1]}"
else
echo "Bad RELEASE_VERSION: ${RELEASE_VERSION}"
exit 1
fi
if [[ "${MS_TAG}" == "$(jq -r '.tag' insider.json)" ]]; then
export MS_COMMIT=$(jq -r '.commit' insider.json)
else
echo "No MS_COMMIT for ${RELEASE_VERSION}"
exit 1
fi
else
if [[ "${RELEASE_VERSION}" =~ ^([0-9]+\.[0-9]+\.[0-9]+)\.[0-9]+$ ]];
then
MS_TAG="${BASH_REMATCH[1]}"
else
echo "Bad RELEASE_VERSION: ${RELEASE_VERSION}"
exit 1
fi
fi
fi
echo "RELEASE_VERSION=\"${RELEASE_VERSION}\""
mkdir -p vscode
cd vscode || { echo "'vscode' dir not found"; exit 1; }
@@ -7,30 +71,31 @@ git init -q
git remote add origin https://github.com/Microsoft/vscode.git
# figure out latest tag by calling MS update API
if [ "${INSIDER}" == "1" ]; then
UPDATE_INFO=$(curl https://update.code.visualstudio.com/api/update/darwin/insider/lol)
export MS_COMMIT=$(echo "${UPDATE_INFO}" | jq -r '.version')
export MS_TAG=$(echo "${UPDATE_INFO}" | jq -r '.name')
elif [[ -z "${MS_TAG}" ]]; then
UPDATE_INFO=$(curl https://update.code.visualstudio.com/api/update/darwin/stable/lol)
export MS_COMMIT=$(echo "${UPDATE_INFO}" | jq -r '.version')
export MS_TAG=$(echo "${UPDATE_INFO}" | jq -r '.name')
else
reference=$( git ls-remote --tags | grep -x ".*refs\/tags\/${MS_TAG}" | head -1 )
if [[ -z "${MS_TAG}" ]]; then
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
UPDATE_INFO=$( curl --silent https://update.code.visualstudio.com/api/update/darwin/insider/lol )
else
UPDATE_INFO=$( curl --silent https://update.code.visualstudio.com/api/update/darwin/stable/lol )
fi
export MS_COMMIT=$( echo "${UPDATE_INFO}" | jq -r '.version' )
export MS_TAG=$( echo "${UPDATE_INFO}" | jq -r '.name' )
elif [[ -z "${MS_COMMIT}" ]]; then
REFERENCE=$( git ls-remote --tags | grep -x ".*refs\/tags\/${MS_TAG}" | head -1 )
if [[ -z "${reference}" ]]; then
if [[ -z "${REFERENCE}" ]]; then
echo "The following tag can't be found: ${MS_TAG}"
exit 1
elif [[ "${reference}" =~ ^([[:alnum:]]+)[[:space:]]+refs\/tags\/([0-9]+\.[0-9]+\.[0-9]+)$ ]]; then
elif [[ "${REFERENCE}" =~ ^([[:alnum:]]+)[[:space:]]+refs\/tags\/([0-9]+\.[0-9]+\.[0-9]+)$ ]]; then
export MS_COMMIT="${BASH_REMATCH[1]}"
export MS_TAG="${BASH_REMATCH[2]}"
else
echo "The following reference can't be parsed: ${reference}"
echo "The following reference can't be parsed: ${REFERENCE}"
exit 1
fi
fi
echo "Got the MS tag: ${MS_TAG} version: ${MS_COMMIT}"
echo "MS_TAG=\"${MS_TAG}\""
echo "MS_COMMIT=\"${MS_COMMIT}\""
git fetch --depth 1 origin "${MS_COMMIT}"
git checkout FETCH_HEAD
@@ -41,4 +106,7 @@ cd ..
if [[ ${GITHUB_ENV} ]]; then
echo "MS_TAG=${MS_TAG}" >> "${GITHUB_ENV}"
echo "MS_COMMIT=${MS_COMMIT}" >> "${GITHUB_ENV}"
echo "RELEASE_VERSION=${RELEASE_VERSION}" >> "${GITHUB_ENV}"
fi
. version.sh

View File

@@ -5,6 +5,16 @@ set -e
# DEBUG
# set -o xtrace
QUALITY="stable"
while getopts ":i" opt; do
case "$opt" in
i)
export QUALITY="insider"
;;
esac
done
check_programs() {
for arg in "$@"
do
@@ -27,15 +37,15 @@ build_darwin_types() {
if [ -f "${file}" ]; then
name=$(basename "${file}" '.icns')
if [[ ${name} != 'code' ]] && [ ! -f "${SRC_PREFIX}src/resources/darwin/${name}.icns" ]; then
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 icons/code_darwin.png "${name}.png" "${name}.png"
composite -blend 100% -geometry +323+365 "icons/corner_512.png" "${name}_512x512x32.png" "${name}.png"
composite "icons/${QUALITY}/code_darwin.png" "${name}.png" "${name}.png"
convert "${name}.png" -resize 256x256 "${name}_256.png"
png2icns "${SRC_PREFIX}src/resources/darwin/${name}.icns" "${name}.png" "${name}_256.png"
png2icns "${SRC_PREFIX}src/${QUALITY}/resources/darwin/${name}.icns" "${name}.png" "${name}_256.png"
rm "${name}_512x512x32.png" "${name}.png" "${name}_256.png"
fi
@@ -44,103 +54,105 @@ build_darwin_types() {
}
build_darwin_main() {
if [ ! -f "${SRC_PREFIX}src/resources/darwin/code.icns" ]; then
convert "${SRC_PREFIX}src/resources/linux/code.png" -resize 512x512 code_512.png
convert "${SRC_PREFIX}src/resources/linux/code.png" -resize 256x256 code_256.png
convert "${SRC_PREFIX}src/resources/linux/code.png" -resize 128x128 code_128.png
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/darwin/code.icns" ]; then
convert "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" -resize 512x512 code_512.png
convert "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" -resize 256x256 code_256.png
convert "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" -resize 128x128 code_128.png
png2icns "${SRC_PREFIX}src/resources/darwin/code.icns" code_512.png code_256.png code_128.png
png2icns "${SRC_PREFIX}src/${QUALITY}/resources/darwin/code.icns" code_512.png code_256.png code_128.png
rm code_512.png code_256.png code_128.png
fi
}
build_win32() {
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/win32"
for file in "${VSCODE_PREFIX}"vscode/resources/win32/*.ico
do
if [ -f "${file}" ]; then
name=$(basename "${file}" '.ico')
if [[ ${name} != 'code' ]] && [ ! -f "${SRC_PREFIX}src/resources/win32/${name}.ico" ]; then
if [[ ${name} != 'code' ]] && [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/${name}.ico" ]; then
icotool -x -w 256 "${file}"
composite -geometry +150+185 icons/code_64.png "${name}_9_256x256x32.png" "${name}.png"
composite -geometry +150+185 "icons/${QUALITY}/code_64.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/resources/win32/${name}.ico"
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
if [ ! -f "${SRC_PREFIX}src/resources/win32/code.ico" ]; then
convert "${SRC_PREFIX}src/resources/linux/code.png" -define icon:auto-resize=256,128,96,64,48,32,24,20,16 "${SRC_PREFIX}src/resources/win32/code.ico"
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/code.ico" ]; then
convert "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" -define icon:auto-resize=256,128,96,64,48,32,24,20,16 "${SRC_PREFIX}src/${QUALITY}/resources/win32/code.ico"
fi
if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-big-100.bmp" ]; then
convert -size 164x314 xc:white "${SRC_PREFIX}src/resources/win32/inno-big-100.bmp"
composite -size 126x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-big-100.bmp" "${SRC_PREFIX}src/resources/win32/inno-big-100.bmp"
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-100.bmp" ]; then
convert -size 164x314 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-100.bmp"
composite -size 126x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-100.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-100.bmp"
fi
if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-big-125.bmp" ]; then
convert -size 192x386 xc:white "${SRC_PREFIX}src/resources/win32/inno-big-125.bmp"
composite -size 147x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-big-125.bmp" "${SRC_PREFIX}src/resources/win32/inno-big-125.bmp"
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-125.bmp" ]; then
convert -size 192x386 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-125.bmp"
composite -size 147x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-125.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-125.bmp"
fi
if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-big-150.bmp" ]; then
convert -size 246x459 xc:white "${SRC_PREFIX}src/resources/win32/inno-big-150.bmp"
composite -size 190x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-big-150.bmp" "${SRC_PREFIX}src/resources/win32/inno-big-150.bmp"
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-150.bmp" ]; then
convert -size 246x459 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-150.bmp"
composite -size 190x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-150.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-150.bmp"
fi
if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-big-175.bmp" ]; then
convert -size 273x556 xc:white "${SRC_PREFIX}src/resources/win32/inno-big-175.bmp"
composite -size 211x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-big-175.bmp" "${SRC_PREFIX}src/resources/win32/inno-big-175.bmp"
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-175.bmp" ]; then
convert -size 273x556 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-175.bmp"
composite -size 211x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-175.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-175.bmp"
fi
if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-big-200.bmp" ]; then
convert -size 328x604 xc:white "${SRC_PREFIX}src/resources/win32/inno-big-200.bmp"
composite -size 255x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-big-200.bmp" "${SRC_PREFIX}src/resources/win32/inno-big-200.bmp"
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-200.bmp" ]; then
convert -size 328x604 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-200.bmp"
composite -size 255x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-200.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-200.bmp"
fi
if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-big-225.bmp" ]; then
convert -size 355x700 xc:white "${SRC_PREFIX}src/resources/win32/inno-big-225.bmp"
composite -size 273x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-big-225.bmp" "${SRC_PREFIX}src/resources/win32/inno-big-225.bmp"
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-225.bmp" ]; then
convert -size 355x700 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-225.bmp"
composite -size 273x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-225.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-225.bmp"
fi
if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-big-250.bmp" ]; then
convert -size 410x797 xc:white "${SRC_PREFIX}src/resources/win32/inno-big-250.bmp"
composite -size 317x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-big-250.bmp" "${SRC_PREFIX}src/resources/win32/inno-big-250.bmp"
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-250.bmp" ]; then
convert -size 410x797 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-250.bmp"
composite -size 317x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-250.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-250.bmp"
fi
if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-small-100.bmp" ]; then
convert -size 55x55 xc:white "${SRC_PREFIX}src/resources/win32/inno-small-100.bmp"
composite -size 44x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-small-100.bmp" "${SRC_PREFIX}src/resources/win32/inno-small-100.bmp"
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-100.bmp" ]; then
convert -size 55x55 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-100.bmp"
composite -size 44x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-100.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-100.bmp"
fi
if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-small-125.bmp" ]; then
convert -size 64x68 xc:white "${SRC_PREFIX}src/resources/win32/inno-small-125.bmp"
composite -size 52x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-small-125.bmp" "${SRC_PREFIX}src/resources/win32/inno-small-125.bmp"
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-125.bmp" ]; then
convert -size 64x68 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-125.bmp"
composite -size 52x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-125.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-125.bmp"
fi
if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-small-150.bmp" ]; then
convert -size 83x80 xc:white "${SRC_PREFIX}src/resources/win32/inno-small-150.bmp"
composite -size 63x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-small-150.bmp" "${SRC_PREFIX}src/resources/win32/inno-small-150.bmp"
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-150.bmp" ]; then
convert -size 83x80 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-150.bmp"
composite -size 63x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-150.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-150.bmp"
fi
if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-small-175.bmp" ]; then
convert -size 92x97 xc:white "${SRC_PREFIX}src/resources/win32/inno-small-175.bmp"
composite -size 76x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-small-175.bmp" "${SRC_PREFIX}src/resources/win32/inno-small-175.bmp"
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-175.bmp" ]; then
convert -size 92x97 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-175.bmp"
composite -size 76x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-175.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-175.bmp"
fi
if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-small-200.bmp" ]; then
convert -size 110x106 xc:white "${SRC_PREFIX}src/resources/win32/inno-small-200.bmp"
composite -size 86x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-small-200.bmp" "${SRC_PREFIX}src/resources/win32/inno-small-200.bmp"
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-200.bmp" ]; then
convert -size 110x106 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-200.bmp"
composite -size 86x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-200.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-200.bmp"
fi
if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-small-225.bmp" ]; then
convert -size 119x123 xc:white "${SRC_PREFIX}src/resources/win32/inno-small-225.bmp"
composite -size 103x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-small-225.bmp" "${SRC_PREFIX}src/resources/win32/inno-small-225.bmp"
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-225.bmp" ]; then
convert -size 119x123 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-225.bmp"
composite -size 103x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-225.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-225.bmp"
fi
if [ ! -f "${SRC_PREFIX}src/resources/win32/inno-small-250.bmp" ]; then
convert -size 138x140 xc:white "${SRC_PREFIX}src/resources/win32/inno-small-250.bmp"
composite -size 116x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-small-250.bmp" "${SRC_PREFIX}src/resources/win32/inno-small-250.bmp"
if [ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-250.bmp" ]; then
convert -size 138x140 xc:white "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-250.bmp"
composite -size 116x -gravity center "icons/${QUALITY}/codium_only.svg" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-250.bmp" "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-250.bmp"
fi
if [ ! -f "${SRC_PREFIX}build/windows/msi/resources/wix-banner.bmp" ]; then
convert -size 493x58 xc:white "${SRC_PREFIX}build/windows/msi/resources/wix-banner.bmp"
composite -geometry +438+6 \( icons/codium_only.svg -resize 50x50 \) "${SRC_PREFIX}build/windows/msi/resources/wix-banner.bmp" "${SRC_PREFIX}build/windows/msi/resources/wix-banner.bmp"
if [ ! -f "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-banner.bmp" ]; then
convert -size 493x58 xc:white "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-banner.bmp"
composite -geometry +438+6 \( "icons/${QUALITY}/codium_only.svg" -resize 50x50 \) "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-banner.bmp" "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-banner.bmp"
fi
if [ ! -f "${SRC_PREFIX}build/windows/msi/resources/wix-dialog.bmp" ]; then
convert -size 493x312 xc:white "${SRC_PREFIX}build/windows/msi/resources/wix-dialog.bmp"
composite -geometry +22+152 \( icons/codium_only.svg -resize 120x90 \) "${SRC_PREFIX}build/windows/msi/resources/wix-dialog.bmp" "${SRC_PREFIX}build/windows/msi/resources/wix-dialog.bmp"
if [ ! -f "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-dialog.bmp" ]; then
convert -size 493x312 xc:white "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-dialog.bmp"
composite -geometry +22+152 \( "icons/${QUALITY}/codium_only.svg" -resize 120x90 \) "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-dialog.bmp" "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-dialog.bmp"
fi
}

BIN
icons/insider/code_64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0" y="0" width="100" height="100" viewBox="0, 0, 100, 100">
<defs>
<linearGradient id="Gradient_1" gradientUnits="userSpaceOnUse" x1="2.763" y1="-0.313" x2="94.027" y2="95.408">
<stop offset="0" stop-color="#9C9234"/>
<stop offset="1" stop-color="#6C7F00"/>
</linearGradient>
</defs>
<g id="Layer_1">
<path d="M63.697,1.417 C64.354,0.381 65.529,-0.308 66.763,-0.313 C68.492,-0.317 70.138,0.654 71.139,2.037 C72.082,3.359 72.373,5.03 72.375,6.626 C72.36,8.87 71.843,11.075 71.227,13.222 C69.688,18.289 67.597,23.168 66.035,28.229 C64.315,33.972 63.49,40.372 65.801,46.074 C67.009,42.702 68.204,39.323 69.408,35.947 C69.75,35.055 70.2,34.041 71.156,33.675 C72.487,33.201 73.844,34.59 73.805,35.876 C73.441,37.749 72.735,39.534 72.179,41.356 C67.676,54.892 62.633,68.241 57.777,81.655 C64.235,75.75 70.713,69.867 77.179,63.973 C79.04,62.279 81.058,60.433 81.628,57.873 C82.197,55.36 81.139,52.866 79.94,50.708 C78.555,48.133 76.787,45.684 76.137,42.786 C75.81,41.285 75.909,39.558 76.921,38.328 C77.651,37.402 78.98,36.924 80.101,37.376 C81.208,37.799 81.876,38.862 82.399,39.866 C84.156,43.391 85.252,47.243 85.629,51.165 C86.829,48.744 88.043,46.333 89.245,43.914 C89.971,42.489 90.612,40.96 91.79,39.834 C92.501,39.132 93.537,38.69 94.54,38.918 C95.798,39.196 96.681,40.34 97.019,41.528 C97.402,42.79 96.997,44.104 96.59,45.303 C95.378,48.656 93.474,51.69 91.639,54.727 C89.081,58.747 86.364,62.67 83.398,66.402 C85.093,65.27 86.878,64.079 88.954,63.842 C90.918,63.579 93.089,64.729 93.739,66.646 C94.174,67.951 93.47,69.428 92.288,70.065 C90.554,71.032 88.502,71.019 86.575,71.105 C79.582,71.297 72.767,74.74 68.428,80.221 C65.004,84.592 63.255,90.023 59.78,94.358 C57.588,97 54.491,100.317 51.084,99.584 C46.547,98.609 46.547,91.518 45.416,88.003 C44.833,86.231 43.739,84.612 42.221,83.507 C40.894,82.527 39.305,81.965 37.699,81.657 C34.012,80.949 30.209,81.323 26.531,80.563 C24.69,80.188 22.877,79.45 21.471,78.177 C20.131,77.001 19.205,75.427 18.563,73.78 C17.177,70.192 16.895,66.299 15.663,62.666 C13.88,57.436 10.352,52.812 5.757,49.741 C4.788,49.087 3.735,48.449 3.108,47.429 C2.598,46.632 2.643,45.499 3.311,44.804 C4.437,43.578 6.472,43.477 7.773,44.491 C10.439,46.382 10.824,50.056 13.309,52.112 C13.313,48.718 13.296,45.327 13.29,41.935 C13.298,40.955 13.189,39.9 13.679,39.009 C14.125,38.165 15.359,37.936 16.076,38.569 C17.045,39.381 17.34,40.706 17.478,41.905 C17.96,46.58 18.426,51.257 18.91,55.935 C21.346,53.747 22.465,50.196 21.677,47.011 C21.438,45.994 21.051,44.948 21.27,43.893 C21.449,43.008 22.388,42.385 23.273,42.543 C24.268,42.678 24.978,43.531 25.351,44.407 C25.945,45.859 25.947,47.476 25.827,49.018 C25.474,52.53 23.988,55.773 22.963,59.115 C21.964,62.065 21.277,65.343 22.278,68.39 C23.17,71.239 25.431,73.491 28.084,74.768 C31.359,76.377 35.048,76.877 38.657,77.019 C36.463,73.179 34.077,69.116 34.118,64.548 C34.161,59.949 37.085,56.075 37.875,51.636 C39.221,44.272 35.898,36.267 29.712,32.042 C26.964,30.154 23.665,29.314 20.842,27.563 C18.288,26 15.994,23.218 16.395,20.05 C18.335,19.299 20.501,19.779 22.252,20.787 C25.674,22.613 27.851,26.075 31.29,27.873 C32.498,28.532 33.883,28.858 35.259,28.774 C36.004,26.988 35.259,24.988 34.057,23.597 C31.796,20.873 27.98,20.212 25.616,17.608 C24.431,16.249 23.77,14.307 24.268,12.53 C24.673,11.126 26.126,10.17 27.573,10.276 C29.716,10.409 31.561,11.751 33.026,13.228 C37.873,18.073 40.662,24.663 41.756,31.36 C43.048,39.259 42.044,47.317 40.453,55.095 C40.156,56.68 39.6,58.305 40.011,59.923 C40.188,60.672 40.728,61.445 41.558,61.512 C42.699,61.585 43.642,60.808 44.473,60.127 C47.072,58.004 49.138,55.146 49.99,51.873 C50.656,49.487 50.675,46.989 50.628,44.532 C50.641,43.303 50.55,41.946 51.285,40.882 C51.81,40.06 52.79,39.414 53.798,39.653 C54.588,39.803 55.148,40.488 55.389,41.222 C55.777,42.431 55.718,43.736 55.484,44.969 C54.741,48.372 54.069,51.819 52.723,55.05 C51.773,57.369 50.49,59.574 48.752,61.391 C46.836,63.422 44.469,65.05 42.925,67.417 C41.872,69.034 41.191,71.043 41.648,72.975 C41.982,74.516 43.155,75.774 44.57,76.416 C46.631,77.357 49.133,77.309 51.142,76.25 C52.736,75.388 53.869,73.898 54.771,72.367 C56.36,69.613 57.323,66.555 58.122,63.493 C59.351,58.549 60.075,53.48 60.359,48.393 C60.684,42.96 59.698,37.342 56.959,32.596 C55.503,30.055 53.444,27.891 51.039,26.235 C48.873,24.624 46.491,23.229 44.734,21.142 C43.091,19.208 41.952,16.598 42.55,14.031 C43.674,13.325 45.093,13.202 46.338,13.644 C48.687,14.443 50.527,16.329 51.713,18.463 C53.324,20.978 54.668,23.971 57.506,25.337 C55.197,20.795 52.816,16.292 50.479,11.766 C49.719,10.237 48.97,8.566 49.168,6.817 C49.312,5.484 50.55,4.391 51.887,4.397 C53.074,4.401 54.187,5.069 54.894,5.999 C55.701,7.046 56.087,8.336 56.451,9.589 C58.313,16.071 60.174,22.55 62.043,29.03 C64.392,24.555 65.385,19.37 64.717,14.348 C64.425,11.686 63.643,9.115 63.023,6.518 C62.601,4.819 62.728,2.913 63.697,1.417 z" fill="url(#Gradient_1)" id="Shape"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

4
insider.json Normal file
View File

@@ -0,0 +1,4 @@
{
"tag": "1.72.0",
"commit": "64bbfbf67ada9953918d72e1df2f4d8e537d340e"
}

20
patch.sh Executable file
View File

@@ -0,0 +1,20 @@
#!/bin/bash
FILE="../patches/${1}.patch"
cd vscode || { echo "'vscode' dir not found"; exit 1; }
git add .
git reset -q --hard HEAD
if [[ -f "${FILE}" ]]; then
git apply --reject "${FILE}"
fi
read -p "Press any key when the conflict have been resolved..." -n1 -s
git diff -U1 > "${FILE}"
cd ..
echo "The patch has been generated."

151
patches/build-version.patch Normal file
View File

@@ -0,0 +1,151 @@
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 184042b..a067194 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -87,3 +87,3 @@
"editor.defaultFormatter": "vscode.typescript-language-features",
- "editor.formatOnSave": true
+ // "editor.formatOnSave": true
},
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
index 980f647..959fb88 100644
--- a/build/gulpfile.reh.js
+++ b/build/gulpfile.reh.js
@@ -245,4 +245,5 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
const name = product.nameShort;
+ const release = packageJson.release;
const packageJsonStream = gulp.src(['remote/package.json'], { base: 'remote' })
- .pipe(json({ name, version, dependencies: undefined, optionalDependencies: undefined }));
+ .pipe(json({ name, version, release, dependencies: undefined, optionalDependencies: undefined }));
@@ -251,3 +252,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
const productJsonStream = gulp.src(['product.json'], { base: '.' })
- .pipe(json({ commit, date, version }));
+ .pipe(json({ commit, date, version, release }));
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
index 6947d1e..80f358e 100644
--- a/build/gulpfile.vscode.js
+++ b/build/gulpfile.vscode.js
@@ -224,3 +224,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
- let version = packageJson.version;
+ let version = packageJson.version
const quality = product.quality;
@@ -232,3 +232,4 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
const name = product.nameShort;
- const packageJsonUpdates = { name, version };
+ const release = packageJson.release;
+ const packageJsonUpdates = { name, version, release };
@@ -243,3 +244,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
const date = new Date().toISOString();
- const productJsonUpdate = { commit, date, checksums, version };
+ const productJsonUpdate = { commit, date, checksums, version, release };
diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js
index 4a25ca5..ca33d2e 100644
--- a/build/gulpfile.vscode.linux.js
+++ b/build/gulpfile.vscode.linux.js
@@ -24,4 +24,2 @@ const commit = util.getVersion(root);
-const linuxPackageRevision = Math.floor(new Date().getTime() / 1000);
-
/**
@@ -87,3 +85,3 @@ function prepareDebPackage(arch) {
.pipe(replace('@@NAME@@', product.applicationName))
- .pipe(replace('@@VERSION@@', packageJson.version + '-' + linuxPackageRevision))
+ .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`))
.pipe(replace('@@ARCHITECTURE@@', debArch))
@@ -192,4 +190,3 @@ function prepareRpmPackage(arch) {
.pipe(replace('@@ICON@@', product.linuxIconName))
- .pipe(replace('@@VERSION@@', packageJson.version))
- .pipe(replace('@@RELEASE@@', linuxPackageRevision))
+ .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`))
.pipe(replace('@@ARCHITECTURE@@', rpmArch))
@@ -266,3 +263,3 @@ function prepareSnapPackage(arch) {
.pipe(replace('@@NAME@@', product.applicationName))
- .pipe(replace('@@VERSION@@', commit.substr(0, 8)))
+ .pipe(replace('@@VERSION@@', `${packageJson.version}.${packageJson.release}`))
// Possible run-on values https://snapcraft.io/docs/architectures
diff --git a/build/gulpfile.vscode.win32.js b/build/gulpfile.vscode.win32.js
index 81ba509..43f5377 100644
--- a/build/gulpfile.vscode.win32.js
+++ b/build/gulpfile.vscode.win32.js
@@ -93,4 +93,4 @@ function buildWin32Setup(arch, target) {
DirName: product.win32DirName,
- Version: pkg.version,
- RawVersion: pkg.version.replace(/-\w+$/, ''),
+ Version: `${pkg.version}.${pkg.release}`,
+ RawVersion: `${pkg.version.replace(/-\w+$/, '')}.${pkg.release}`,
NameVersion: product.win32NameVersion + (target === 'user' ? ' (User)' : ''),
diff --git a/resources/linux/rpm/code.spec.template b/resources/linux/rpm/code.spec.template
index 61659d2..5cafa06 100644
--- a/resources/linux/rpm/code.spec.template
+++ b/resources/linux/rpm/code.spec.template
@@ -2,3 +2,3 @@ Name: @@NAME@@
Version: @@VERSION@@
-Release: @@RELEASE@@.el7
+Release: el7
Summary: Code editing. Redefined.
diff --git a/src/vs/base/common/product.ts b/src/vs/base/common/product.ts
index e07695c..55ccc32 100644
--- a/src/vs/base/common/product.ts
+++ b/src/vs/base/common/product.ts
@@ -34,2 +34,3 @@ export interface IProductConfiguration {
readonly version: string;
+ readonly release: string;
readonly date?: string;
diff --git a/src/vs/platform/diagnostics/node/diagnosticsService.ts b/src/vs/platform/diagnostics/node/diagnosticsService.ts
index 66e35c8..087c055 100644
--- a/src/vs/platform/diagnostics/node/diagnosticsService.ts
+++ b/src/vs/platform/diagnostics/node/diagnosticsService.ts
@@ -238,3 +238,3 @@ export class DiagnosticsService implements IDiagnosticsService {
const output: string[] = [];
- output.push(`Version: ${this.productService.nameShort} ${this.productService.version} (${this.productService.commit || 'Commit unknown'}, ${this.productService.date || 'Date unknown'})`);
+ output.push(`Version: ${this.productService.nameShort} ${this.productService.version} ${this.productService.release || 'Release unknown'} (${this.productService.commit || 'Commit unknown'}, ${this.productService.date || 'Date unknown'})`);
output.push(`OS Version: ${osLib.type()} ${osLib.arch()} ${osLib.release()}`);
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
index bceda01..4fe44e2 100644
--- a/src/vs/platform/product/common/product.ts
+++ b/src/vs/platform/product/common/product.ts
@@ -49,6 +49,7 @@ else if (typeof require?.__$__nodeRequire === 'function') {
if (!product.version) {
- const pkg = require.__$__nodeRequire(joinPath(rootPath, 'package.json').fsPath) as { version: string };
+ const pkg = require.__$__nodeRequire(joinPath(rootPath, 'package.json').fsPath) as { version: string, release: string };
Object.assign(product, {
- version: pkg.version
+ version: pkg.version,
+ release: pkg.release
});
diff --git a/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts b/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts
index ec4ff95..36e882f 100644
--- a/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts
+++ b/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts
@@ -146,4 +146,5 @@ export class BrowserDialogHandler implements IDialogHandler {
return localize('aboutDetail',
- "Version: {0}\nCommit: {1}\nDate: {2}\nBrowser: {3}",
+ "Version: {0}\nRelease: {1}\nCommit: {2}\nDate: {3}\nBrowser: {4}",
this.productService.version || 'Unknown',
+ this.productService.release || 'Unknown',
this.productService.commit || 'Unknown',
diff --git a/src/vs/workbench/contrib/issue/browser/issueService.ts b/src/vs/workbench/contrib/issue/browser/issueService.ts
index dc7430b..23def01 100644
--- a/src/vs/workbench/contrib/issue/browser/issueService.ts
+++ b/src/vs/workbench/contrib/issue/browser/issueService.ts
@@ -67,2 +67,3 @@ export class WebIssueService implements IWorkbenchIssueService {
Version: ${this.productService.version}
+Release: ${this.productService.release ?? 'unknown'}
Commit: ${this.productService.commit ?? 'unknown'}
diff --git a/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts b/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts
index f63b75f..8e24c02 100644
--- a/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts
+++ b/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts
@@ -169,4 +169,5 @@ export class NativeDialogHandler implements IDialogHandler {
return localize({ key: 'aboutDetail', comment: ['Electron, Chromium, Node.js and V8 are product names that need no translation'] },
- "Version: {0}\nCommit: {1}\nDate: {2}\nElectron: {3}\nChromium: {4}\nNode.js: {5}\nV8: {6}\nOS: {7}\nSandboxed: {8}",
+ "Version: {0}\nRelease: {1}\nCommit: {2}\nDate: {3}\nElectron: {4}\nChromium: {5}\nNode.js: {6}\nV8: {7}\nOS: {8}\nSandboxed: {9}",
version,
+ this.productService.release || 'Unknown',
this.productService.commit || 'Unknown',

View File

@@ -1,37 +1,31 @@
diff --git a/src/vs/base/common/product.ts b/src/vs/base/common/product.ts
index f822373..30a0a66 100644
--- a/src/vs/base/common/product.ts
+++ b/src/vs/base/common/product.ts
@@ -70,6 +70,7 @@ export interface IProductConfiguration {
readonly extensionsGallery?: {
readonly serviceUrl: string;
+ readonly cacheUrl?: string;
readonly itemUrl: string;
readonly publisherUrl: string;
readonly resourceUrlTemplate: string;
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
index 7e63a16..3bfeab8 100644
index bceda01..174c766 100644
--- a/src/vs/platform/product/common/product.ts
+++ b/src/vs/platform/product/common/product.ts
@@ -4,11 +4,12 @@
*--------------------------------------------------------------------------------------------*/
@@ -6,3 +6,3 @@
import { FileAccess } from 'vs/base/common/network';
-import { globals } from 'vs/base/common/platform';
+import { globals, isWindows } from 'vs/base/common/platform';
import { env } from 'vs/base/common/process';
import { IProductConfiguration } from 'vs/base/common/product';
import { dirname, joinPath } from 'vs/base/common/resources';
@@ -11,2 +11,3 @@ import { dirname, joinPath } from 'vs/base/common/resources';
import { ISandboxConfiguration } from 'vs/base/parts/sandbox/common/sandboxTypes';
+import { getUserDataPath } from 'vs/platform/environment/node/userDataPath';
/**
* @deprecated You MUST use `IProductService` if possible.
@@ -34,6 +35,32 @@ else if (typeof require?.__$__nodeRequire === 'function') {
product = require.__$__nodeRequire(joinPath(rootPath, 'product.json').fsPath);
const pkg = require.__$__nodeRequire(joinPath(rootPath, 'package.json').fsPath) as { version: string };
@@ -35,2 +36,41 @@ else if (typeof require?.__$__nodeRequire === 'function') {
+ // Set user-defined extension gallery
+ const { serviceUrl, searchUrl, itemUrl, controlUrl, recommendationsUrl } = product.extensionsGallery || {}
+
+ Object.assign(product, {
+ extensionsGallery: {
+ serviceUrl: env['VSCODE_GALLERY_SERVICE_URL'] || serviceUrl,
+ searchUrl: env['VSCODE_GALLERY_SEARCH_URL'] || searchUrl,
+ itemUrl: env['VSCODE_GALLERY_ITEM_URL'] || itemUrl,
+ controlUrl: env['VSCODE_GALLERY_CONTROL_URL'] || controlUrl,
+ recommendationsUrl: env['VSCODE_GALLERY_RECOMMENDATIONS_URL'] || recommendationsUrl
+ }
+ })
+
+ // Merge user-customized product.json
+ try {
+ const merge = (...objects: any[]) =>
@@ -49,7 +43,7 @@ index 7e63a16..3bfeab8 100644
+ return result;
+ }, {}) as any;
+
+ const userDataPath = getUserDataPath({} as any);
+ const userDataPath = getUserDataPath({} as any, product.nameShort);
+ const userProductPath = isWindows ? `file:///${userDataPath}/product.json` : `file://${userDataPath}/product.json`;
+
+ const userProduct = require.__$__nodeRequire(FileAccess.asFileUri(userProductPath, require).fsPath);
@@ -59,25 +53,3 @@ index 7e63a16..3bfeab8 100644
+ }
+
// Running out of sources
if (env['VSCODE_DEV']) {
Object.assign(product, {
@@ -44,6 +71,19 @@ else if (typeof require?.__$__nodeRequire === 'function') {
});
}
+ // Set user-defined extension gallery
+ const { serviceUrl, cacheUrl, itemUrl, controlUrl, recommendationsUrl } = product.extensionsGallery || {}
+
+ Object.assign(product, {
+ extensionsGallery: {
+ serviceUrl: env['VSCODE_GALLERY_SERVICE_URL'] || serviceUrl,
+ cacheUrl: env['VSCODE_GALLERY_CACHE_URL'] || cacheUrl,
+ itemUrl: env['VSCODE_GALLERY_ITEM_URL'] || itemUrl,
+ controlUrl: env['VSCODE_GALLERY_CONTROL_URL'] || controlUrl,
+ recommendationsUrl: env['VSCODE_GALLERY_RECOMMENDATIONS_URL'] || recommendationsUrl
+ }
+ })
+
Object.assign(product, {
version: pkg.version
});

View File

@@ -0,0 +1,101 @@
diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
index 2c18fde..e1031dd 100644
--- a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
+++ b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.contribution.ts
@@ -312,2 +312,8 @@ configurationRegistry.registerConfiguration({
},
+ 'workbench.welcomePage.extraAnnouncements': {
+ scope: ConfigurationScope.MACHINE,
+ type: 'boolean',
+ default: true,
+ description: localize('workbench.welcomePage.extraAnnouncements', "When enabled, the get started page loads additional announcements from VSCodium's repository.")
+ },
'workbench.startupEditor': {
diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
index 9564618..eb8adfe 100644
--- a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
+++ b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
@@ -116,4 +116,8 @@ type GettingStartedActionEvent = {
type RecentEntry = (IRecentFolder | IRecentWorkspace) & { id: string };
+type AnnouncementEntry = { id: string, title: string, url: string };
const REDUCED_MOTION_KEY = 'workbench.welcomePage.preferReducedMotion';
+
+const BUILTIN_ANNOUNCEMENTS: AnnouncementEntry[] = [/* BUILTIN_ANNOUNCEMENTS */];
+
export class GettingStartedPage extends EditorPane {
@@ -148,2 +152,4 @@ export class GettingStartedPage extends EditorPane {
private gettingStartedList?: GettingStartedIndexList<IResolvedWalkthrough>;
+ private announcementList?: GettingStartedIndexList<AnnouncementEntry>;
+ private announcementData?: AnnouncementEntry[];
@@ -760,3 +766,2 @@ export class GettingStartedPage extends EditorPane {
-
const leftColumn = $('.categories-column.categories-column-left', {},);
@@ -767,2 +772,3 @@ export class GettingStartedPage extends EditorPane {
const gettingStartedList = this.buildGettingStartedWalkthroughsList();
+ const announcementList = await this.buildAnnouncementList();
@@ -777,3 +783,3 @@ export class GettingStartedPage extends EditorPane {
this.container.classList.remove('noWalkthroughs');
- reset(leftColumn, startList.getDomElement(), recentList.getDomElement());
+ reset(leftColumn, startList.getDomElement(), recentList.getDomElement(), announcementList.getDomElement());
reset(rightColumn, gettingStartedList.getDomElement());
@@ -783,3 +789,3 @@ export class GettingStartedPage extends EditorPane {
this.container.classList.add('noWalkthroughs');
- reset(leftColumn, startList.getDomElement());
+ reset(leftColumn, startList.getDomElement(), announcementList.getDomElement());
reset(rightColumn, recentList.getDomElement());
@@ -930,2 +936,51 @@ export class GettingStartedPage extends EditorPane {
+ private async buildAnnouncementList(): Promise<GettingStartedIndexList<AnnouncementEntry>> {
+ const renderAnnouncement = (announcement: AnnouncementEntry) => {
+ const { title, url } = announcement;
+ const li = $('li');
+
+ const anchor: HTMLLinkElement = $('a');
+ anchor.href = url;
+ anchor.innerText = title;
+ anchor.target = '_blank';
+ li.appendChild(anchor);
+
+ return li;
+ };
+
+ if (this.announcementList) { this.announcementList.dispose(); }
+
+ const announcementList = this.announcementList = new GettingStartedIndexList({
+ title: localize('announcements', "VSCodium Announcements"),
+ klass: 'announcements',
+ limit: 5,
+ empty: $('.empty-recent', {}, localize('noAnnouncements', "There are no current announcements.")),
+ renderElement: renderAnnouncement,
+ contextService: this.contextService
+ });
+
+ if (!this.announcementData) {
+ const showExtras = this.configurationService.getValue<boolean>('workbench.welcomePage.extraAnnouncements');
+
+ if (showExtras) {
+ const branch = this.productService.quality === 'insider' ? 'insider' : 'master';
+ const res = await fetch(`https://raw.githubusercontent.com/VSCodium/vscodium/${branch}/announcements-extra.json`);
+
+ if (res.ok) {
+ var extraAnnouncements = await res.json() as AnnouncementEntry[];
+
+ this.announcementData = [...extraAnnouncements, ...BUILTIN_ANNOUNCEMENTS];
+ } else {
+ this.announcementData = BUILTIN_ANNOUNCEMENTS;
+ }
+ } else {
+ this.announcementData = BUILTIN_ANNOUNCEMENTS;
+ }
+ }
+
+ announcementList.setEntries(this.announcementData);
+
+ return announcementList;
+ }
+
private buildStartList(): GettingStartedIndexList<IWelcomePageStartEntry> {

View File

@@ -0,0 +1,27 @@
diff --git a/build/linux/dependencies-generator.js b/build/linux/dependencies-generator.js
index af20828..f09ba66 100644
--- a/build/linux/dependencies-generator.js
+++ b/build/linux/dependencies-generator.js
@@ -22,3 +22,3 @@ const types_2 = require("./rpm/types");
// are valid, are in dep-lists.ts
-const FAIL_BUILD_FOR_NEW_DEPENDENCIES = true;
+const FAIL_BUILD_FOR_NEW_DEPENDENCIES = false;
// Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/98.0.4758.109:chrome/installer/linux/BUILD.gn;l=64-80
diff --git a/build/linux/dependencies-generator.ts b/build/linux/dependencies-generator.ts
index 34573c4..91adb8f 100644
--- a/build/linux/dependencies-generator.ts
+++ b/build/linux/dependencies-generator.ts
@@ -23,3 +23,3 @@ import { isRpmArchString, RpmArchString } from './rpm/types';
// are valid, are in dep-lists.ts
-const FAIL_BUILD_FOR_NEW_DEPENDENCIES: boolean = true;
+const FAIL_BUILD_FOR_NEW_DEPENDENCIES: boolean = false;
diff --git a/resources/linux/rpm/code.spec.template b/resources/linux/rpm/code.spec.template
index 61659d2..6331a67 100644
--- a/resources/linux/rpm/code.spec.template
+++ b/resources/linux/rpm/code.spec.template
@@ -78 +78,3 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
%{_datadir}/zsh/site-functions/_%{name}
+
+%config(noreplace) /usr/share/%{name}/resources/app/product.json
\ No newline at end of file

View File

@@ -1,36 +0,0 @@
diff --git a/build/linux/rpm/dependencies-generator.js b/build/linux/rpm/dependencies-generator.js
index 1d91eb8..ed6b775 100644
--- a/build/linux/rpm/dependencies-generator.js
+++ b/build/linux/rpm/dependencies-generator.js
@@ -16,7 +16,7 @@ const dep_lists_1 = require("./dep-lists");
// If true, we fail the build if there are new dependencies found during that task.
// The reference dependencies, which one has to update when the new dependencies
// are valid, are in dep-lists.ts
-const FAIL_BUILD_FOR_NEW_DEPENDENCIES = true;
+const FAIL_BUILD_FOR_NEW_DEPENDENCIES = false;
function getDependencies(buildDir, applicationName, arch) {
// Get the files for which we want to find dependencies.
const nativeModulesPath = path.join(buildDir, 'resources', 'app', 'node_modules.asar.unpacked');
diff --git a/build/linux/rpm/dependencies-generator.ts b/build/linux/rpm/dependencies-generator.ts
index 95953ec..f5ffc2e 100644
--- a/build/linux/rpm/dependencies-generator.ts
+++ b/build/linux/rpm/dependencies-generator.ts
@@ -18,7 +18,7 @@ import { ArchString } from './types';
// If true, we fail the build if there are new dependencies found during that task.
// The reference dependencies, which one has to update when the new dependencies
// are valid, are in dep-lists.ts
-const FAIL_BUILD_FOR_NEW_DEPENDENCIES: boolean = true;
+const FAIL_BUILD_FOR_NEW_DEPENDENCIES: boolean = false;
export function getDependencies(buildDir: string, applicationName: string, arch: ArchString): string[] {
// Get the files for which we want to find dependencies.
diff --git a/resources/linux/rpm/code.spec.template b/resources/linux/rpm/code.spec.template
index 5b7eadb..87c914d 100644
--- a/resources/linux/rpm/code.spec.template
+++ b/resources/linux/rpm/code.spec.template
@@ -74,3 +74,5 @@ update-mime-database /usr/share/mime &> /dev/null || :
/usr/share/pixmaps/@@ICON@@.png
/usr/share/bash-completion/completions/@@NAME@@
/usr/share/zsh/site-functions/_@@NAME@@
+
+%config(noreplace) /usr/share/@@NAME@@/resources/app/product.json

View File

@@ -0,0 +1,21 @@
diff --git a/src/vs/platform/windows/electron-main/windowImpl.ts b/src/vs/platform/windows/electron-main/windowImpl.ts
index c9501cb..a6958ff 100644
--- a/src/vs/platform/windows/electron-main/windowImpl.ts
+++ b/src/vs/platform/windows/electron-main/windowImpl.ts
@@ -42,7 +42,6 @@ import { Color } from 'vs/base/common/color';
import { IPolicyService } from 'vs/platform/policy/common/policy';
import { IUserDataProfile } from 'vs/platform/userDataProfile/common/userDataProfile';
import { IStateMainService } from 'vs/platform/state/electron-main/state';
-import product from 'vs/platform/product/common/product';
import { IUserDataProfilesMainService } from 'vs/platform/userDataProfile/electron-main/userDataProfile';
export interface IWindowCreationOptions {
@@ -203,7 +202,7 @@ export class CodeWindow extends Disposable implements ICodeWindow {
if (typeof windowSettings?.experimental?.useSandbox === 'boolean') {
useSandbox = windowSettings.experimental.useSandbox;
} else {
- useSandbox = typeof product.quality === 'string' && product.quality !== 'stable';
+ useSandbox = false;
}
const options: BrowserWindowConstructorOptions & { experimentalDarkMode: boolean } = {

View File

@@ -0,0 +1,13 @@
diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
index 81bf4b2..5a88688 100644
--- a/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
+++ b/src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
@@ -233,7 +233,7 @@ export class Extension implements IExtension {
return false;
}
// Do not allow updating system extensions in stable
- if (this.type === ExtensionType.System && this.productService.quality === 'stable') {
+ if (this.type === ExtensionType.System) {
return false;
}
if (!this.local.preRelease && this.gallery.properties.isPreReleaseVersion) {

View File

@@ -1,48 +1,80 @@
diff --git a/src/vs/code/electron-sandbox/issue/issueReporterMain.ts b/src/vs/code/electron-sandbox/issue/issueReporterMain.ts
index fcd4485..8d97e5a 100644
index 33e66be..a7ade0a 100644
--- a/src/vs/code/electron-sandbox/issue/issueReporterMain.ts
+++ b/src/vs/code/electron-sandbox/issue/issueReporterMain.ts
@@ -682,7 +682,7 @@ export class IssueReporter extends Disposable {
@@ -468,3 +468,3 @@ export class IssueReporter extends Disposable {
if (title) {
- this.searchDuplicates(title, issueDescription);
+ this.searchGitHub('VSCodium/vscodium', title);
} else {
@@ -556,33 +556,2 @@ export class IssueReporter extends Disposable {
sourceSelect.innerText = '';
- @debounce(300)
- private searchDuplicates(title: string, body?: string): void {
- const url = 'https://vscode-probot.westus.cloudapp.azure.com:7890/duplicate_candidates';
- const init = {
- method: 'POST',
- body: JSON.stringify({
- title,
- body
- }),
- headers: new Headers({
- 'Content-Type': 'application/json'
- })
- };
-
- window.fetch(url, init).then((response) => {
- response.json().then(result => {
- this.clearSearchResults();
-
- if (result && result.candidates) {
- this.displaySearchResults(result.candidates);
- } else {
- throw new Error('Unexpected response, no candidates property');
- }
- }).catch(_ => {
- // Ignore
- });
- }).catch(_ => {
- // Ignore
- });
- }
-
private displaySearchResults(results: SearchResult[]) {
@@ -674,3 +643,3 @@ export class IssueReporter extends Disposable {
sourceSelect.append(this.makeOption('', localize('selectSource', "Select source"), true));
- sourceSelect.append(this.makeOption('vscode', localize('vscode', "Visual Studio Code"), false));
+ sourceSelect.append(this.makeOption('vscode', localize('vscode', "VSCodium"), false));
sourceSelect.append(this.makeOption('extension', localize('extension', "An extension"), false));
if (this.configuration.product.reportMarketplaceIssueUrl) {
sourceSelect.append(this.makeOption('marketplace', localize('marketplace', "Extensions marketplace"), false));
diff --git a/src/vs/code/electron-sandbox/issue/issueReporterModel.ts b/src/vs/code/electron-sandbox/issue/issueReporterModel.ts
index a58acca..1903a0c 100644
--- a/src/vs/code/electron-sandbox/issue/issueReporterModel.ts
+++ b/src/vs/code/electron-sandbox/issue/issueReporterModel.ts
@@ -77,3 +77,3 @@ ${this._data.issueDescription}
${this.getExtensionVersion()}
-VS Code version: ${this._data.versionInfo && this._data.versionInfo.vscodeVersion}
+VSCodium version: ${this._data.versionInfo && this._data.versionInfo.vscodeVersion}
OS version: ${this._data.versionInfo && this._data.versionInfo.os}
diff --git a/src/vs/code/electron-sandbox/issue/issueReporterPage.ts b/src/vs/code/electron-sandbox/issue/issueReporterPage.ts
index 6467d66..d425016 100644
--- a/src/vs/code/electron-sandbox/issue/issueReporterPage.ts
+++ b/src/vs/code/electron-sandbox/issue/issueReporterPage.ts
@@ -17,3 +17,3 @@ const reviewGuidanceLabel = localize( // intentionally not escaped because of it
comment: [
- '{Locked="<a href=\"https://github.com/microsoft/vscode/wiki/Submitting-Bugs-and-Suggestions\" target=\"_blank\">"}',
+ '{Locked="<a href=\"https://github.com/VSCodium/vscodium/wiki/Submitting-Bugs-and-Suggestions\" target=\"_blank\">"}',
'{Locked="</a>"}'
@@ -21,3 +21,3 @@ const reviewGuidanceLabel = localize( // intentionally not escaped because of it
},
- 'Before you report an issue here please <a href="https://github.com/microsoft/vscode/wiki/Submitting-Bugs-and-Suggestions" target="_blank">review the guidance we provide</a>.'
+ 'Before you report an issue here please <a href="https://github.com/VSCodium/vscodium/wiki/Submitting-Bugs-and-Suggestions" target="_blank">review the guidance we provide</a>.'
);
diff --git a/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts b/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts
index 0c5855b..654f9a4 100644
index 20154ad..bca59b8 100644
--- a/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts
+++ b/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts
@@ -144,7 +144,7 @@ class ReportExtensionSlowAction extends Action {
- Extension Name: \`${this.extension.name}\`
- Extension Version: \`${this.extension.version}\`
@@ -148,3 +148,3 @@ class ReportExtensionSlowAction extends Action {
- OS Version: \`${osVersion}\`
-- VS Code version: \`${this._productService.version}\`\n\n${message}`);
+- VSCodium version: \`${this._productService.version}\`\n\n${message}`);
const url = `${this.repoInfo.base}/${this.repoInfo.owner}/${this.repoInfo.repo}/issues/new/?body=${body}&title=${title}`;
this._openerService.open(URI.parse(url));
diff --git a/src/vs/workbench/contrib/extensions/electron-sandbox/reportExtensionIssueAction.ts b/src/vs/workbench/contrib/extensions/electron-sandbox/reportExtensionIssueAction.ts
index f1755db..e77be21 100644
--- a/src/vs/workbench/contrib/extensions/electron-sandbox/reportExtensionIssueAction.ts
+++ b/src/vs/workbench/contrib/extensions/electron-sandbox/reportExtensionIssueAction.ts
@@ -14,7 +14,7 @@ import { ExtensionType, IExtensionDescription } from 'vs/platform/extensions/com
import { IOpenerService } from 'vs/platform/opener/common/opener';
import { URI } from 'vs/base/common/uri';
-const builtinExtensionIssueUrl = 'https://github.com/microsoft/vscode';
+const builtinExtensionIssueUrl = 'https://github.com/VSCodium/vscodium';
export class ReportExtensionIssueAction extends Action {
@@ -76,7 +76,7 @@ export class ReportExtensionIssueAction extends Action {
- Extension Name: \`${extension.description.name}\`
- Extension Version: \`${extension.description.version}\`
- OS Version: \`${osVersion}\`
-- VS Code version: \`${this.productService.version}\`\n\n${message}`
+- VSCodium version: \`${this.productService.version}\`\n\n${message}`
);
return `${baseUrl}${queryStringPrefix}body=${body}&title=${encodeURIComponent(title)}`;

64
patches/update-msi.patch Normal file
View File

@@ -0,0 +1,64 @@
diff --git a/src/vs/platform/update/common/update.ts b/src/vs/platform/update/common/update.ts
index 7cd4a84..7cbdf21 100644
--- a/src/vs/platform/update/common/update.ts
+++ b/src/vs/platform/update/common/update.ts
@@ -48,3 +48,4 @@ export const enum UpdateType {
Archive,
- Snap
+ Snap,
+ WindowsInstaller,
}
diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts
index caecd71..4c02afa 100644
--- a/src/vs/platform/update/electron-main/updateService.win32.ts
+++ b/src/vs/platform/update/electron-main/updateService.win32.ts
@@ -41,5 +41,9 @@ function getUpdateType(): UpdateType {
if (typeof _updateType === 'undefined') {
- _updateType = fs.existsSync(path.join(path.dirname(process.execPath), 'unins000.exe'))
- ? UpdateType.Setup
- : UpdateType.Archive;
+ if (fs.existsSync(path.join(path.dirname(process.execPath), 'unins000.exe'))) {
+ _updateType = UpdateType.Setup;
+ } else if (path.basename(path.normalize(path.join(process.execPath, '..', '..'))) === 'Program Files') {
+ _updateType = UpdateType.WindowsInstaller;
+ } else {
+ _updateType = UpdateType.Archive;
+ }
}
@@ -89,6 +93,13 @@ export class Win32UpdateService extends AbstractUpdateService {
- if (getUpdateType() === UpdateType.Archive) {
- platform += '-archive';
- } else if (this.productService.target === 'user') {
- platform += '-user';
+ switch (getUpdateType()) {
+ case UpdateType.Archive:
+ platform += '-archive';
+ break;
+ case UpdateType.WindowsInstaller:
+ platform += '-msi';
+ break;
+ default:
+ if (this.productService.target === 'user') {
+ platform += '-user';
+ }
}
@@ -243,6 +254,14 @@ export class Win32UpdateService extends AbstractUpdateService {
} else {
- spawn(this.availableUpdate.packagePath, ['/silent', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], {
- detached: true,
- stdio: ['ignore', 'ignore', 'ignore']
- });
+ const type = getUpdateType();
+ if (type == UpdateType.WindowsInstaller) {
+ spawn('msiexec.exe', ['/i', this.availableUpdate.packagePath], {
+ detached: true,
+ stdio: ['ignore', 'ignore', 'ignore']
+ });
+ } else {
+ spawn(this.availableUpdate.packagePath, ['/silent', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], {
+ detached: true,
+ stdio: ['ignore', 'ignore', 'ignore']
+ });
+ }
}

View File

@@ -1,12 +0,0 @@
diff --git a/build/gulpfile.extensions.js b/build/gulpfile.extensions.js
--- a/build/gulpfile.extensions.js
+++ b/build/gulpfile.extensions.js
@@ -223,7 +223,7 @@ const cleanExtensionsBuildTask = task.define('clean-extensions-build', util.rimr
const compileExtensionsBuildTask = task.define('compile-extensions-build', task.series(
cleanExtensionsBuildTask,
task.define('bundle-extensions-build', () => ext.packageLocalExtensionsStream(false).pipe(gulp.dest('.build'))),
- task.define('bundle-marketplace-extensions-build', () => ext.packageMarketplaceExtensionsStream(false, product.extensionsGallery?.serviceUrl).pipe(gulp.dest('.build'))),
+ task.define('bundle-marketplace-extensions-build', () => ext.packageMarketplaceExtensionsStream(false).pipe(gulp.dest('.build'))),
));
gulp.task(compileExtensionsBuildTask);

View File

@@ -1,10 +1,8 @@
diff --git a/extensions/github-authentication/src/githubServer.ts b/extensions/github-authentication/src/githubServer.ts
index c366ff3..75f32da 100644
index 94ce542..d83e3c3 100644
--- a/extensions/github-authentication/src/githubServer.ts
+++ b/extensions/github-authentication/src/githubServer.ts
@@ -3,27 +3,13 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
@@ -5,7 +5,4 @@
-import * as nls from 'vscode-nls';
import * as vscode from 'vscode';
@@ -12,30 +10,23 @@ index c366ff3..75f32da 100644
-import { v4 as uuid } from 'uuid';
-import { PromiseAdapter, promiseFromEvent } from './common/utils';
import { ExperimentationTelemetry } from './experimentationService';
import { AuthProviderType } from './github';
@@ -13,14 +10,5 @@ import { AuthProviderType } from './github';
import { Log } from './common/logger';
-import { isSupportedEnvironment } from './common/env';
-import { LoopbackAuthServer } from './authServer';
-import path = require('path');
-
-const localize = nls.loadMessageBundle();
-const CLIENT_ID = '01ab8ac9400c4e429b23';
-const GITHUB_AUTHORIZE_URL = 'https://github.com/login/oauth/authorize';
-// TODO: change to stable when that happens
-const GITHUB_TOKEN_URL = 'https://vscode.dev/codeExchangeProxyEndpoints/github/login/oauth/access_token';
-const NETWORK_ERROR = 'network error';
const NETWORK_ERROR = 'network error';
-const REDIRECT_URL_STABLE = 'https://vscode.dev/redirect';
-const REDIRECT_URL_INSIDERS = 'https://insiders.vscode.dev/redirect';
+const NETWORK_ERROR = 'network error';
class UriEventHandler extends vscode.EventEmitter<vscode.Uri> implements vscode.UriHandler {
constructor(private readonly Logger: Log) {
@@ -43,14 +29,6 @@ export interface IGitHubServer extends vscode.Disposable {
friendlyName: string;
type: AuthProviderType;
}
-
class UriEventHandler extends vscode.EventEmitter<vscode.Uri> implements vscode.UriHandler {
@@ -44,9 +32,2 @@ export interface IGitHubServer extends vscode.Disposable {
-interface IGitHubDeviceCodeResponse {
- device_code: string;
- user_code: string;
@@ -44,36 +35,66 @@ index c366ff3..75f32da 100644
-}
-
async function getScopes(token: string, serverUri: vscode.Uri, logger: Log): Promise<string[]> {
try {
logger.info('Getting token scopes...');
@@ -118,23 +96,11 @@ export class GitHubServer implements IGitHubServer {
friendlyName = 'GitHub';
type = AuthProviderType.github;
@@ -57,3 +38,3 @@ async function getScopes(token: string, serverUri: vscode.Uri, logger: Log): Pro
Authorization: `token ${token}`,
- 'User-Agent': 'Visual-Studio-Code'
+ 'User-Agent': 'VSCodium'
}
@@ -77,7 +58,4 @@ export class GitHubServer implements IGitHubServer {
- private _pendingNonces = new Map<string, string[]>();
- private _codeExchangePromises = new Map<string, { promise: Promise<string>; cancel: vscode.EventEmitter<void> }>();
private _disposable: vscode.Disposable;
private _uriHandler = new UriEventHandler(this._logger);
- private readonly getRedirectEndpoint: Thenable<string>;
private _disposable: vscode.Disposable | undefined;
private static _uriHandler: UriEventHandler | undefined;
- private _redirectEndpoint: string | undefined;
- constructor(private readonly _supportDeviceCodeFlow: boolean, private readonly _logger: Log, private readonly _telemetryReporter: ExperimentationTelemetry) {
+ constructor(_supportDeviceCodeFlow: boolean, private readonly _logger: Log, private readonly _telemetryReporter: ExperimentationTelemetry) {
this._disposable = vscode.window.registerUriHandler(this._uriHandler);
-
- this.getRedirectEndpoint = vscode.commands.executeCommand<{ [providerId: string]: string } | undefined>('workbench.getCodeExchangeProxyEndpoints').then((proxyEndpoints) => {
@@ -85,2 +63,3 @@ export class GitHubServer implements IGitHubServer {
public readonly type: AuthProviderType,
+ // @ts-ignore
private readonly _supportDeviceCodeFlow: boolean,
@@ -104,41 +83,2 @@ export class GitHubServer implements IGitHubServer {
- private async getRedirectEndpoint(): Promise<string> {
- if (this._redirectEndpoint) {
- return this._redirectEndpoint;
- }
- if (this.type === AuthProviderType.github) {
- const proxyEndpoints = await vscode.commands.executeCommand<{ [providerId: string]: string } | undefined>('workbench.getCodeExchangeProxyEndpoints');
- // If we are running in insiders vscode.dev, then ensure we use the redirect route on that.
- let redirectUri = REDIRECT_URL_STABLE;
- this._redirectEndpoint = REDIRECT_URL_STABLE;
- if (proxyEndpoints?.github && new URL(proxyEndpoints.github).hostname === 'insiders.vscode.dev') {
- redirectUri = REDIRECT_URL_INSIDERS;
- this._redirectEndpoint = REDIRECT_URL_INSIDERS;
- }
- return redirectUri;
- });
}
- return this._redirectEndpoint;
- } else {
- // GHES
- const result = await fetch(this.getServerUri('/meta').toString(true));
- if (result.ok) {
- try {
- const json: { installed_version: string } = await result.json();
- const [majorStr, minorStr, _patch] = json.installed_version.split('.');
- const major = Number(majorStr);
- const minor = Number(minorStr);
- if (major >= 4 || major === 3 && minor >= 8
- ) {
- // GHES 3.8 and above used vscode.dev/redirect as the route.
- // It only supports a single redirect endpoint, so we can't use
- // insiders.vscode.dev/redirect when we're running in Insiders, unfortunately.
- this._redirectEndpoint = 'https://vscode.dev/redirect';
- }
- } catch (e) {
- this._logger.error(e);
- }
- }
-
- // TODO in like 1 year change the default vscode.dev/redirect maybe
- this._redirectEndpoint = 'https://vscode-auth.github.com/';
- }
- return this._redirectEndpoint;
- }
-
dispose() {
@@ -152,181 +118,17 @@ export class GitHubServer implements IGitHubServer {
// Used for showing a friendlier message to the user when the explicitly cancel a flow.
@@ -158,58 +98,8 @@ export class GitHubServer implements IGitHubServer {
let userCancelled: boolean | undefined;
- const yes = localize('yes', "Yes");
- const no = localize('no', "No");
@@ -90,7 +111,7 @@ index c366ff3..75f32da 100644
- throw new Error('Cancelled');
- }
- };
-
- const nonce = uuid();
- const callbackUri = await vscode.env.asExternalUri(vscode.Uri.parse(`${vscode.env.uriScheme}://vscode.github-authentication/did-authenticate?nonce=${encodeURIComponent(nonce)}`));
-
@@ -114,7 +135,7 @@ index c366ff3..75f32da 100644
- userCancelled = e.message ?? e === 'User Cancelled';
- }
- }
-
- if (this._supportDeviceCodeFlow) {
- try {
- await promptToContinue();
@@ -137,41 +158,43 @@ index c366ff3..75f32da 100644
+ this._logger.error(e);
+ userCancelled = e.message ?? e === 'User Cancelled';
}
throw new Error(userCancelled ? 'Cancelled' : 'No auth flow succeeded.');
}
@@ -219,131 +109,5 @@ export class GitHubServer implements IGitHubServer {
- private async doLoginWithoutLocalServer(scopes: string, nonce: string, callbackUri: vscode.Uri): Promise<string> {
- this._logger.info(`Trying without local server... (${scopes})`);
- return await vscode.window.withProgress<string>({
- location: vscode.ProgressLocation.Notification,
- title: localize('signingIn', "Signing in to github.com..."),
- title: localize('signingIn', 'Signing in to {0}...', this.baseUri.authority),
- cancellable: true
- }, async (_, token) => {
- const existingNonces = this._pendingNonces.get(scopes) || [];
- this._pendingNonces.set(scopes, [...existingNonces, nonce]);
- const redirectUri = await this.getRedirectEndpoint;
- const redirectUri = await this.getRedirectEndpoint();
- const searchParams = new URLSearchParams([
- ['client_id', CLIENT_ID],
- ['redirect_uri', redirectUri],
- ['scope', scopes],
- ['state', encodeURIComponent(callbackUri.toString(true))]
- ]);
- const uri = vscode.Uri.parse(`${GITHUB_AUTHORIZE_URL}?${searchParams.toString()}`);
-
- const uri = vscode.Uri.parse(this.baseUri.with({
- path: '/login/oauth/authorize',
- query: searchParams.toString()
- }).toString(true));
- await vscode.env.openExternal(uri);
-
- // Register a single listener for the URI callback, in case the user starts the login process multiple times
- // before completing it.
- let codeExchangePromise = this._codeExchangePromises.get(scopes);
- if (!codeExchangePromise) {
- codeExchangePromise = promiseFromEvent(this._uriHandler.event, this.handleUri(scopes));
- codeExchangePromise = promiseFromEvent(GitHubServer._uriHandler!.event, this.handleUri(scopes));
- this._codeExchangePromises.set(scopes, codeExchangePromise);
- }
-
- try {
- return await Promise.race([
- codeExchangePromise.promise,
- new Promise<string>((_, reject) => setTimeout(() => reject('Cancelled'), 60000)),
- new Promise<string>((_, reject) => setTimeout(() => reject('Timed out'), 300_000)), // 5min timeout
- promiseFromEvent<any, any>(token.onCancellationRequested, (_, __, reject) => { reject('User Cancelled'); }).promise
- ]);
- } finally {
@@ -186,17 +209,21 @@ index c366ff3..75f32da 100644
- this._logger.info(`Trying with local server... (${scopes})`);
- return await vscode.window.withProgress<string>({
- location: vscode.ProgressLocation.Notification,
- title: localize('signingInAnotherWay', "Signing in to github.com..."),
- title: localize('signingInAnotherWay', "Signing in to {0}...", this.baseUri.authority),
- cancellable: true
- }, async (_, token) => {
- const redirectUri = await this.getRedirectEndpoint;
- const redirectUri = await this.getRedirectEndpoint();
- const searchParams = new URLSearchParams([
- ['client_id', CLIENT_ID],
- ['redirect_uri', redirectUri],
- ['scope', scopes],
- ]);
- const loginUrl = `${GITHUB_AUTHORIZE_URL}?${searchParams.toString()}`;
- const server = new LoopbackAuthServer(path.join(__dirname, '../media'), loginUrl);
-
- const loginUrl = this.baseUri.with({
- path: '/login/oauth/authorize',
- query: searchParams.toString()
- });
- const server = new LoopbackAuthServer(path.join(__dirname, '../media'), loginUrl.toString(true));
- const port = await server.start();
-
- let codeToExchange;
@@ -204,7 +231,7 @@ index c366ff3..75f32da 100644
- vscode.env.openExternal(vscode.Uri.parse(`http://127.0.0.1:${port}/signin?nonce=${encodeURIComponent(server.nonce)}`));
- const { code } = await Promise.race([
- server.waitForOAuthResponse(),
- new Promise<any>((_, reject) => setTimeout(() => reject('Cancelled'), 60000)),
- new Promise<any>((_, reject) => setTimeout(() => reject('Timed out'), 300_000)), // 5min timeout
- promiseFromEvent<any, any>(token.onCancellationRequested, (_, __, reject) => { reject('User Cancelled'); }).promise
- ]);
- codeToExchange = code;
@@ -223,8 +250,11 @@ index c366ff3..75f32da 100644
- this._logger.info(`Trying device code flow... (${scopes})`);
-
- // Get initial device code
- const uri = `https://github.com/login/device/code?client_id=${CLIENT_ID}&scope=${scopes}`;
- const result = await fetch(uri, {
- const uri = this.baseUri.with({
- path: '/login/device/code',
- query: `client_id=${CLIENT_ID}&scope=${scopes}`
- });
- const result = await fetch(uri.toString(true), {
- method: 'POST',
- headers: {
- Accept: 'application/json'
@@ -255,12 +285,13 @@ index c366ff3..75f32da 100644
-
- return await this.waitForDeviceCodeAccessToken(json);
- }
-
private async doLoginWithPat(scopes: string): Promise<string> {
this._logger.info(`Trying to retrieve PAT... (${scopes})`);
@@ -351,118 +153,6 @@ export class GitHubServer implements IGitHubServer {
return token;
}
- const token = await vscode.window.showInputBox({ prompt: 'GitHub Personal Access Token', ignoreFocusOut: true });
+ const token = await vscode.window.showInputBox({ prompt: `GitHub Personal Access Token (${scopes})`, ignoreFocusOut: true });
if (!token) { throw new Error('User Cancelled'); }
@@ -368,121 +132,2 @@ export class GitHubServer implements IGitHubServer {
- private async waitForDeviceCodeAccessToken(
- json: IGitHubDeviceCodeResponse,
@@ -274,7 +305,10 @@ index c366ff3..75f32da 100644
- json.verification_uri,
- json.user_code)
- }, async (_, token) => {
- const refreshTokenUri = `https://github.com/login/oauth/access_token?client_id=${CLIENT_ID}&device_code=${json.device_code}&grant_type=urn:ietf:params:oauth:grant-type:device_code`;
- const refreshTokenUri = this.baseUri.with({
- path: '/login/oauth/access_token',
- query: `client_id=${CLIENT_ID}&device_code=${json.device_code}&grant_type=urn:ietf:params:oauth:grant-type:device_code`
- });
-
- // Try for 2 minutes
- const attempts = 120 / json.interval;
@@ -285,7 +319,7 @@ index c366ff3..75f32da 100644
- }
- let accessTokenResult;
- try {
- accessTokenResult = await fetch(refreshTokenUri, {
- accessTokenResult = await fetch(refreshTokenUri.toString(true), {
- method: 'POST',
- headers: {
- Accept: 'application/json'
@@ -350,7 +384,11 @@ index c366ff3..75f32da 100644
- const proxyEndpoints: { [providerId: string]: string } | undefined = await vscode.commands.executeCommand('workbench.getCodeExchangeProxyEndpoints');
- const endpointUrl = proxyEndpoints?.github ? `${proxyEndpoints.github}login/oauth/access_token` : GITHUB_TOKEN_URL;
-
- const body = `code=${code}`;
- const body = new URLSearchParams([['code', code]]);
- if (this.type === AuthProviderType.githubEnterprise) {
- body.append('github_enterprise', this.baseUri.toString(true));
- body.append('redirect_uri', await this.getRedirectEndpoint());
- }
- const result = await fetch(endpointUrl, {
- method: 'POST',
- headers: {
@@ -359,7 +397,7 @@ index c366ff3..75f32da 100644
- 'Content-Length': body.toString()
-
- },
- body
- body: body.toString()
- });
-
- if (result.ok) {
@@ -375,32 +413,24 @@ index c366ff3..75f32da 100644
- }
-
private getServerUri(path: string = '') {
const apiUri = vscode.Uri.parse('https://api.github.com');
return vscode.Uri.parse(`${apiUri.scheme}://${apiUri.authority}${path}`);
diff --git a/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts b/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts
index 36647e6..55e722b 100644
index bee1974..0f57882 100644
--- a/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts
+++ b/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts
@@ -271,7 +271,7 @@ export class AccountsActivityActionViewItem extends MenuActivityActionViewItem {
}
});
@@ -306,3 +306,3 @@ export class AccountsActivityActionViewItem extends MenuActivityActionViewItem {
- if (providers.length && !menus.length) {
+ if (!menus.length) {
const noAccountsAvailableAction = disposables.add(new Action('noAccountsAvailable', localize('noAccounts', "You are not signed in to any accounts"), undefined, false));
menus.push(noAccountsAvailableAction);
}
diff --git a/src/vs/workbench/services/authentication/browser/authenticationService.ts b/src/vs/workbench/services/authentication/browser/authenticationService.ts
index f543021..ad40bc3 100644
index 69cb0d2..920d6c6 100644
--- a/src/vs/workbench/services/authentication/browser/authenticationService.ts
+++ b/src/vs/workbench/services/authentication/browser/authenticationService.ts
@@ -272,16 +272,6 @@ export class AuthenticationService extends Disposable implements IAuthentication
this.removeAccessRequest(id, extensionId);
});
@@ -275,12 +275,2 @@ export class AuthenticationService extends Disposable implements IAuthentication
}
-
- if (!this._authenticationProviders.size) {
- this._placeholderMenuItem = MenuRegistry.appendMenuItem(MenuId.AccountsContext, {
- placeholderMenuItem = MenuRegistry.appendMenuItem(MenuId.AccountsContext, {
- command: {
- id: 'noAuthenticationProviders',
- title: nls.localize('loading', "Loading..."),
@@ -409,5 +439,3 @@ index f543021..ad40bc3 100644
- });
- }
}
async sessionsUpdate(id: string, event: AuthenticationSessionsChangeEvent): Promise<void> {

View File

@@ -1,105 +0,0 @@
#!/bin/bash
set -e
npm install -g checksum
sum_file() {
if [[ -f "${1}" ]]; then
echo "Calcuating checksum for ${1}"
checksum -a sha256 "${1}" > "${1}".sha256
checksum "${1}" > "${1}".sha1
fi
}
mkdir artifacts
if [[ "${OS_NAME}" == "osx" ]]; then
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
echo "Building and moving ZIP"
cd "VSCode-darwin-${VSCODE_ARCH}"
zip -r -X -y "../artifacts/VSCodium-darwin-${VSCODE_ARCH}-${MS_TAG}.zip" ./*.app
cd ..
fi
if [[ "${SHOULD_BUILD_DMG}" != "no" ]]; then
echo "Building and moving DMG"
pushd "VSCode-darwin-${VSCODE_ARCH}"
npx create-dmg VSCodium.app ..
mv "../VSCodium ${MS_TAG}.dmg" "../artifacts/VSCodium.${VSCODE_ARCH}.${MS_TAG}.dmg"
popd
fi
VSCODE_PLATFORM="darwin"
elif [[ "${OS_NAME}" == "windows" ]]; then
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
echo "Moving ZIP"
mv "vscode\\.build\\win32-${VSCODE_ARCH}\\archive\\VSCode-win32-${VSCODE_ARCH}.zip" "artifacts\\VSCodium-win32-${VSCODE_ARCH}-${MS_TAG}.zip"
fi
if [[ "${SHOULD_BUILD_EXE_SYS}" != "no" ]]; then
echo "Moving System EXE"
mv "vscode\\.build\\win32-${VSCODE_ARCH}\\system-setup\\VSCodeSetup.exe" "artifacts\\VSCodiumSetup-${VSCODE_ARCH}-${MS_TAG}.exe"
fi
if [[ "${SHOULD_BUILD_EXE_USR}" != "no" ]]; then
echo "Moving User EXE"
mv "vscode\\.build\\win32-${VSCODE_ARCH}\\user-setup\\VSCodeSetup.exe" "artifacts\\VSCodiumUserSetup-${VSCODE_ARCH}-${MS_TAG}.exe"
fi
if [[ "${VSCODE_ARCH}" == "ia32" || "${VSCODE_ARCH}" == "x64" ]]; then
if [[ "${SHOULD_BUILD_MSI}" != "no" ]]; then
echo "Moving MSI"
mv "build\\windows\\msi\\releasedir\\VSCodium-${VSCODE_ARCH}-${MS_TAG}.msi" artifacts/
fi
if [[ "${SHOULD_BUILD_MSI_NOUP}" != "no" ]]; then
echo "Moving MSI with disabled updates"
mv "build\\windows\\msi\\releasedir\\VSCodium-${VSCODE_ARCH}-updates-disabled-${MS_TAG}.msi" artifacts/
fi
fi
VSCODE_PLATFORM="win32"
else
if [[ "${SHOULD_BUILD_TAR}" != "no" ]]; then
echo "Building and moving TAR"
cd "VSCode-linux-${VSCODE_ARCH}"
tar czf "../artifacts/VSCodium-linux-${VSCODE_ARCH}-${MS_TAG}.tar.gz" .
cd ..
fi
if [[ "${SHOULD_BUILD_DEB}" != "no" ]]; then
echo "Moving DEB"
mv vscode/.build/linux/deb/*/deb/*.deb artifacts/
fi
if [[ "${SHOULD_BUILD_RPM}" != "no" ]]; then
echo "Moving RPM"
mv vscode/.build/linux/rpm/*/*.rpm artifacts/
fi
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
echo "Moving AppImage"
mv build/linux/appimage/out/*.AppImage* artifacts/
fi
VSCODE_PLATFORM="linux"
fi
if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
echo "Building and moving REH"
cd "vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}"
tar czf "../artifacts/vscodium-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${MS_TAG}.tar.gz" .
cd ..
fi
cd artifacts
for FILE in *
do
if [[ -f "${FILE}" ]]; then
sum_file "${FILE}"
fi
done
cd ..

189
prepare_assets.sh Executable file
View File

@@ -0,0 +1,189 @@
#!/bin/bash
set -e
APP_NAME_LC=$( echo "${APP_NAME}" | awk '{print tolower($0)}' )
npm install -g checksum
sum_file() {
if [[ -f "${1}" ]]; then
echo "Calcuating checksum for ${1}"
checksum -a sha256 "${1}" > "${1}".sha256
checksum "${1}" > "${1}".sha1
fi
}
mkdir -p assets
if [[ "${OS_NAME}" == "osx" ]]; then
if [[ "${CI_BUILD}" != "no" ]]; then
cd "VSCode-darwin-${VSCODE_ARCH}"
CERTIFICATE_P12="${APP_NAME}.p12"
KEYCHAIN="${RUNNER_TEMP}/build.keychain"
echo "${CERTIFICATE_OSX_P12}" | base64 --decode > "${CERTIFICATE_P12}"
echo "+ create temporary keychain"
security create-keychain -p mysecretpassword "${KEYCHAIN}"
security set-keychain-settings -lut 21600 "${KEYCHAIN}"
security unlock-keychain -p mysecretpassword "${KEYCHAIN}"
security list-keychains -s `security list-keychains | xargs` "${KEYCHAIN}"
# security list-keychains -d user
# security show-keychain-info ${KEYCHAIN}
echo "+ import certificate to keychain"
security import "${CERTIFICATE_P12}" -k "${KEYCHAIN}" -P "${CERTIFICATE_OSX_PASSWORD}" -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k mysecretpassword "${KEYCHAIN}" > /dev/null
# security find-identity "${KEYCHAIN}"
echo "+ signing"
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
codesign --deep --force --verbose --sign "${CERTIFICATE_OSX_ID}" "${APP_NAME} - Insiders.app"
else
codesign --deep --force --verbose --sign "${CERTIFICATE_OSX_ID}" "${APP_NAME}.app"
fi
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 [[ "${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
VSCODE_PLATFORM="darwin"
elif [[ "${OS_NAME}" == "windows" ]]; then
cd vscode || { echo "'vscode' dir not found"; exit 1; }
yarn gulp "vscode-win32-${VSCODE_ARCH}-inno-updater"
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
yarn gulp "vscode-win32-${VSCODE_ARCH}-archive"
fi
if [[ "${SHOULD_BUILD_EXE_SYS}" != "no" ]]; then
yarn gulp "vscode-win32-${VSCODE_ARCH}-system-setup"
fi
if [[ "${SHOULD_BUILD_EXE_USR}" != "no" ]]; then
yarn 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_ZIP}" != "no" ]]; then
echo "Moving ZIP"
mv "vscode\\.build\\win32-${VSCODE_ARCH}\\archive\\VSCode-win32-${VSCODE_ARCH}.zip" "assets\\${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip"
fi
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
VSCODE_PLATFORM="win32"
else
cd vscode || { echo "'vscode' dir not found"; exit 1; }
if [[ "${SHOULD_BUILD_DEB}" != "no" || "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-deb"
fi
if [[ "${SHOULD_BUILD_RPM}" != "no" ]]; then
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-rpm"
fi
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
. ../build/linux/appimage/build.sh
fi
cd ..
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
VSCODE_PLATFORM="linux"
fi
if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
echo "Building and moving REH"
cd "vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}"
tar czf "../assets/${APP_NAME_LC}-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-${RELEASE_VERSION}.tar.gz" .
cd ..
fi
cd assets
for FILE in *
do
if [[ -f "${FILE}" ]]; then
sum_file "${FILE}"
fi
done
cd ..

View File

@@ -2,7 +2,15 @@
set -e
cp -rp src/* vscode/
# include common functions
. ./utils.sh
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
cp -rp src/insider/* vscode/
else
cp -rp src/stable/* vscode/
fi
cp -f LICENSE vscode/LICENSE.txt
cd vscode || { echo "'vscode' dir not found"; exit 1; }
@@ -22,6 +30,18 @@ for file in ../patches/*.patch; do
fi
done
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
for file in ../patches/insider/*.patch; do
if [ -f "${file}" ]; then
echo applying patch: "${file}";
git apply --ignore-whitespace "${file}"
if [ $? -ne 0 ]; then
echo failed to apply patch "${file}" 1>&2
fi
fi
done
fi
for file in ../patches/user/*.patch; do
if [ -f "${file}" ]; then
echo applying user patch: "${file}";
@@ -51,56 +71,119 @@ else
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
fi
mv product.json product.json.bak
setpath() {
{ set +x; } 2>/dev/null
echo "$( cat "${1}.json" | jq --arg 'path' "${2}" --arg 'value' "${3}" 'setpath([$path]; $value)' )" > "${1}.json"
set -x
}
# set fields in product.json
checksumFailMoreInfoUrl='setpath(["checksumFailMoreInfoUrl"]; "https://go.microsoft.com/fwlink/?LinkId=828886")'
tipsAndTricksUrl='setpath(["tipsAndTricksUrl"]; "https://go.microsoft.com/fwlink/?linkid=852118")'
twitterUrl='setpath(["twitterUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533687")'
requestFeatureUrl='setpath(["requestFeatureUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533482")'
documentationUrl='setpath(["documentationUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533484#vscode")'
introductoryVideosUrl='setpath(["introductoryVideosUrl"]; "https://go.microsoft.com/fwlink/?linkid=832146")'
updateUrl='setpath(["updateUrl"]; "https://vscodium.now.sh")'
releaseNotesUrl='setpath(["releaseNotesUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533483#vscode")'
keyboardShortcutsUrlMac='setpath(["keyboardShortcutsUrlMac"]; "https://go.microsoft.com/fwlink/?linkid=832143")'
keyboardShortcutsUrlLinux='setpath(["keyboardShortcutsUrlLinux"]; "https://go.microsoft.com/fwlink/?linkid=832144")'
keyboardShortcutsUrlWin='setpath(["keyboardShortcutsUrlWin"]; "https://go.microsoft.com/fwlink/?linkid=832145")'
quality='setpath(["quality"]; "stable")'
extensionsGallery='setpath(["extensionsGallery"]; {"serviceUrl": "https://open-vsx.org/vscode/gallery", "itemUrl": "https://open-vsx.org/vscode/item"})'
linkProtectionTrustedDomains='setpath(["linkProtectionTrustedDomains"]; ["https://open-vsx.org"])'
nameShort='setpath(["nameShort"]; "VSCodium")'
nameLong='setpath(["nameLong"]; "VSCodium")'
linuxIconName='setpath(["linuxIconName"]; "vscodium")'
applicationName='setpath(["applicationName"]; "codium")'
win32MutexName='setpath(["win32MutexName"]; "vscodium")'
win32DirName='setpath(["win32DirName"]; "VSCodium")'
win32NameVersion='setpath(["win32NameVersion"]; "VSCodium")'
win32RegValueName='setpath(["win32RegValueName"]; "VSCodium")'
win32AppUserModelId='setpath(["win32AppUserModelId"]; "Microsoft.VSCodium")'
win32ShellNameShort='setpath(["win32ShellNameShort"]; "VSCodium")'
win32x64UserAppId='setpath (["win32x64UserAppId"]; "{{2E1F05D1-C245-4562-81EE-28188DB6FD17}")'
urlProtocol='setpath(["urlProtocol"]; "vscodium")'
serverApplicationName='setpath(["serverApplicationName"]; "codium-server")'
serverDataFolderName='setpath(["serverDataFolderName"]; ".vscodium-server")'
reportIssueUrl='setpath(["reportIssueUrl"]; "https://github.com/VSCodium/vscodium/issues/new")'
licenseUrl='setpath(["licenseUrl"]; "https://github.com/VSCodium/vscodium/blob/master/LICENSE")'
setpath_json() {
{ set +x; } 2>/dev/null
echo "$( cat "${1}.json" | jq --arg 'path' "${2}" --argjson 'value' "${3}" 'setpath([$path]; $value)' )" > "${1}.json"
set -x
}
product_json_changes="${checksumFailMoreInfoUrl} | ${tipsAndTricksUrl} | ${twitterUrl} | ${requestFeatureUrl} | ${documentationUrl} | ${introductoryVideosUrl} | ${updateUrl} | ${releaseNotesUrl} | ${keyboardShortcutsUrlMac} | ${keyboardShortcutsUrlLinux} | ${keyboardShortcutsUrlWin} | ${quality} | ${extensionsGallery} | ${linkProtectionTrustedDomains} | ${nameShort} | ${nameLong} | ${linuxIconName} | ${applicationName} | ${win32MutexName} | ${win32DirName} | ${win32NameVersion} | ${win32RegValueName} | ${win32AppUserModelId} | ${win32ShellNameShort} | ${win32x64UserAppId} | ${urlProtocol} | ${serverApplicationName} | ${serverDataFolderName} | ${reportIssueUrl} | ${licenseUrl}"
cat product.json.bak | jq "${product_json_changes}" > product.json.tmp
# product.json
cp product.json product.json.bak
jq -s '.[0] * .[1]' product.json.tmp ../product.json > product.json
rm -f product.json.tmp
setpath "product" "checksumFailMoreInfoUrl" "https://go.microsoft.com/fwlink/?LinkId=828886"
setpath "product" "documentationUrl" "https://go.microsoft.com/fwlink/?LinkID=533484#vscode"
setpath_json "product" "extensionsGallery" '{"serviceUrl": "https://open-vsx.org/vscode/gallery", "itemUrl": "https://open-vsx.org/vscode/item"}'
setpath "product" "introductoryVideosUrl" "https://go.microsoft.com/fwlink/?linkid=832146"
setpath "product" "keyboardShortcutsUrlLinux" "https://go.microsoft.com/fwlink/?linkid=832144"
setpath "product" "keyboardShortcutsUrlMac" "https://go.microsoft.com/fwlink/?linkid=832143"
setpath "product" "keyboardShortcutsUrlWin" "https://go.microsoft.com/fwlink/?linkid=832145"
setpath "product" "licenseUrl" "https://github.com/VSCodium/vscodium/blob/master/LICENSE"
setpath "product" "linkProtectionTrustedDomains" '["https://open-vsx.org"]'
setpath "product" "releaseNotesUrl" "https://go.microsoft.com/fwlink/?LinkID=533483#vscode"
setpath "product" "reportIssueUrl" "https://github.com/VSCodium/vscodium/issues/new"
setpath "product" "requestFeatureUrl" "https://go.microsoft.com/fwlink/?LinkID=533482"
setpath "product" "tipsAndTricksUrl" "https://go.microsoft.com/fwlink/?linkid=852118"
setpath "product" "twitterUrl" "https://go.microsoft.com/fwlink/?LinkID=533687"
if [[ "${DISABLE_UPDATE}" != "yes" ]]; then
setpath "product" "updateUrl" "https://vscodium.now.sh"
fi
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
setpath "product" "nameShort" "VSCodium - Insiders"
setpath "product" "nameLong" "VSCodium - Insiders"
setpath "product" "applicationName" "codium-insiders"
setpath "product" "dataFolderName" ".vscodium-insiders"
setpath "product" "linuxIconName" "vscodium-insiders"
setpath "product" "quality" "insider"
setpath "product" "urlProtocol" "vscodium-insiders"
setpath "product" "serverApplicationName" "codium-server-insiders"
setpath "product" "serverDataFolderName" ".vscodium-server-insiders"
setpath "product" "darwinBundleIdentifier" "com.vscodium.VSCodiumInsiders"
setpath "product" "win32AppUserModelId" "VSCodium.VSCodiumInsiders"
setpath "product" "win32DirName" "VSCodium Insiders"
setpath "product" "win32MutexName" "vscodiuminsiders"
setpath "product" "win32NameVersion" "VSCodium Insiders"
setpath "product" "win32RegValueName" "VSCodiumInsiders"
setpath "product" "win32ShellNameShort" "VSCodium Insiders"
setpath "product" "win32AppId" "{{EF35BB36-FA7E-4BB9-B7DA-D1E09F2DA9C9}"
setpath "product" "win32x64AppId" "{{B2E0DDB2-120E-4D34-9F7E-8C688FF839A2}"
setpath "product" "win32arm64AppId" "{{44721278-64C6-4513-BC45-D48E07830599}"
setpath "product" "win32UserAppId" "{{ED2E5618-3E7E-4888-BF3C-A6CCC84F586F}"
setpath "product" "win32x64UserAppId" "{{20F79D0D-A9AC-4220-9A81-CE675FFB6B41}"
setpath "product" "win32arm64UserAppId" "{{2E362F92-14EA-455A-9ABD-3E656BBBFE71}"
else
setpath "product" "nameShort" "VSCodium"
setpath "product" "nameLong" "VSCodium"
setpath "product" "applicationName" "codium"
setpath "product" "linuxIconName" "vscodium"
setpath "product" "quality" "stable"
setpath "product" "urlProtocol" "vscodium"
setpath "product" "serverApplicationName" "codium-server"
setpath "product" "serverDataFolderName" ".vscodium-server"
setpath "product" "darwinBundleIdentifier" "com.vscodium"
setpath "product" "win32AppUserModelId" "VSCodium.VSCodium"
setpath "product" "win32DirName" "VSCodium"
setpath "product" "win32MutexName" "vscodium"
setpath "product" "win32NameVersion" "VSCodium"
setpath "product" "win32RegValueName" "VSCodium"
setpath "product" "win32ShellNameShort" "VSCodium"
setpath "product" "win32AppId" "{{763CBF88-25C6-4B10-952F-326AE657F16B}"
setpath "product" "win32x64AppId" "{{88DA3577-054F-4CA1-8122-7D820494CFFB}"
setpath "product" "win32arm64AppId" "{{67DEE444-3D04-4258-B92A-BC1F0FF2CAE4}"
setpath "product" "win32UserAppId" "{{0FD05EB4-651E-4E78-A062-515204B47A3A}"
setpath "product" "win32x64UserAppId" "{{2E1F05D1-C245-4562-81EE-28188DB6FD17}"
setpath "product" "win32arm64UserAppId" "{{57FD70A5-1B8D-4875-9F40-C5553F094828}"
fi
echo "$( jq -s '.[0] * .[1]' product.json ../product.json )" > product.json
cat product.json
# package.json
cp package.json package.json.bak
setpath "package" "version" $( echo "${RELEASE_VERSION}" | sed -n -E "s/^(.*)\.([0-9]+)(-insider)?$/\1/p" )
setpath "package" "release" $( echo "${RELEASE_VERSION}" | sed -n -E "s/^(.*)\.([0-9]+)(-insider)?$/\2/p" )
replace 's|Microsoft Corporation|VSCodium|' package.json
# announcements
replace "s|\\[\\/\\* BUILTIN_ANNOUNCEMENTS \\*\\/\\]|$( cat ../announcements-builtin.json | tr -d '\n' )|" src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
../undo_telemetry.sh
replace 's|Microsoft Corporation|VSCodium|' build/lib/electron.js
replace 's|Microsoft Corporation|VSCodium|' build/lib/electron.ts
replace 's|([0-9]) Microsoft|\1 VSCodium|' build/lib/electron.js
replace 's|([0-9]) Microsoft|\1 VSCodium|' build/lib/electron.ts
if [[ "${OS_NAME}" == "linux" ]]; then
# microsoft adds their apt repo to sources
# unless the app name is code-oss
# as we are renaming the application to vscodium
# we need to edit a line in the post install template
sed -i "s/code-oss/codium/" resources/linux/debian/postinst.template
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
sed -i "s/code-oss/codium-insiders/" resources/linux/debian/postinst.template
else
sed -i "s/code-oss/codium/" resources/linux/debian/postinst.template
fi
# fix the packages metadata
# code.appdata.xml
@@ -124,6 +207,10 @@ if [[ "${OS_NAME}" == "linux" ]]; then
# snapcraft.yaml
sed -i 's|Visual Studio Code|VSCodium|' resources/linux/rpm/code.spec.template
elif [[ "${OS_NAME}" == "windows" ]]; then
# code.iss
sed -i 's|https://code.visualstudio.com|https://vscodium.com|' build/win32/code.iss
sed -i 's|Microsoft Corporation|VSCodium|' build/win32/code.iss
fi
cd ..

View File

@@ -51,7 +51,8 @@
"testObserver"
],
"VisualStudioExptTeam.vscodeintellicode-completions": [
"inlineCompletions"
"inlineCompletionsNew",
"inlineCompletionsAdditions"
],
"ms-vsliveshare.vsliveshare": [
"contribMenuBarHome",
@@ -61,20 +62,18 @@
"findTextInFiles",
"notebookCellExecutionState",
"notebookContentProvider",
"notebookDocumentEvents",
"notebookEditor",
"notebookEditorEdit",
"notebookLiveShare",
"terminalDimensions",
"terminalDataWriteEvent",
"textDocumentNotebook",
"textSearchProvider"
],
"ms-vscode.js-debug": [
"portsAttributes",
"findTextInFiles",
"workspaceTrust",
"resolvers"
"resolvers",
"tunnels"
],
"ms-toolsai.vscode-ai-remote": [
"resolvers",
@@ -83,44 +82,37 @@
"ms-python.python": [
"quickPickSortByLabel",
"testObserver",
"notebookEditor"
"localization"
],
"ms-dotnettools.dotnet-interactive-vscode": [
"notebookConcatTextDocument",
"notebookContentProvider",
"notebookCellExecutionState",
"notebookControllerKind",
"notebookDebugOptions",
"notebookDeprecated",
"notebookEditor",
"notebookEditorDecorationType",
"notebookEditorEdit",
"notebookLiveShare",
"notebookMessaging",
"notebookMime",
"textDocumentNotebook"
"notebookMessaging"
],
"GitHub.codespaces": [
"contribEditSessions",
"contribMenuBarHome",
"contribRemoteHelp",
"contribViewsRemote",
"notebookEditor",
"resolvers",
"tunnels",
"terminalDataWriteEvent",
"treeViewReveal"
"treeViewReveal",
"notebookKernelSource"
],
"ms-vscode.azure-repos": [
"extensionRuntime",
"fileSearchProvider",
"resolvers",
"textSearchProvider"
"textSearchProvider",
"localization"
],
"ms-vscode.remote-repositories": [
"contribEditSessions",
"contribRemoteHelp",
"contribMenuBarHome",
"contribViewsRemote",
"contribViewsWelcome",
"contribShareMenu",
"documentFiltersExclusive",
"editSessionIdentityProvider",
"extensionRuntime",
"fileSearchProvider",
"quickPickSortByLabel",
@@ -129,13 +121,7 @@
"scmValidation",
"textSearchProvider",
"timeline",
"notebookEditor"
],
"ms-vscode.vscode-github-issue-notebooks": [
"notebookEditor"
],
"tanhakabir.rest-book": [
"notebookEditor"
"localization"
],
"ms-vscode-remote.remote-wsl": [
"resolvers",
@@ -144,12 +130,22 @@
],
"ms-vscode-remote.remote-ssh": [
"resolvers",
"tunnels",
"terminalDataWriteEvent",
"contribViewsRemote",
"telemetry"
],
"ms-vscode.remote-server": [
"resolvers"
],
"ms-vscode.remote-explorer": [
"contribViewsRemote",
"extensionsAny"
],
"ms-vscode-remote.remote-containers": [
"contribEditSessions",
"resolvers",
"tunnels",
"workspaceTrust",
"terminalDimensions",
"contribViewsRemote"
@@ -158,21 +154,27 @@
"portsAttributes",
"findTextInFiles",
"workspaceTrust",
"resolvers"
"resolvers",
"tunnels"
],
"ms-vscode.lsif-browser": [
"documentFiltersExclusive"
],
"GitHub.vscode-pull-request-github": [
"tokenInformation"
"tokenInformation",
"commentsResolvedState",
"contribShareMenu",
"contribCommentPeekContext",
"treeItemCheckbox",
"localization"
],
"GitHub.copilot": [
"inlineCompletions",
"textDocumentNotebook"
"inlineCompletionsNew",
"inlineCompletionsAdditions"
],
"GitHub.copilot-nightly": [
"inlineCompletions",
"textDocumentNotebook"
"inlineCompletionsNew",
"inlineCompletionsAdditions"
],
"GitHub.remotehub": [
"contribRemoteHelp",
@@ -184,66 +186,49 @@
"fileSearchProvider",
"quickPickSortByLabel",
"workspaceTrust",
"resolvers",
"scmSelectedProvider",
"scmValidation",
"textSearchProvider",
"timeline",
"notebookEditor"
],
"GitHub.remotehub-insiders": [
"contribRemoteHelp",
"contribMenuBarHome",
"contribViewsRemote",
"contribViewsWelcome",
"documentFiltersExclusive",
"extensionRuntime",
"fileSearchProvider",
"quickPickSortByLabel",
"workspaceTrust",
"resolvers",
"scmSelectedProvider",
"scmValidation",
"textSearchProvider",
"timeline",
"notebookEditor"
"localization"
],
"ms-python.gather": [
"notebookEditor",
"notebookCellExecutionState"
],
"ms-python.vscode-pylance": [
"notebookDocumentEvents",
"notebookEditor",
"notebookCellExecutionState"
],
"ms-toolsai.jupyter": [
"notebookConcatTextDocument",
"notebookControllerKind",
"notebookDebugOptions",
"notebookDeprecated",
"notebookEditor",
"notebookDocumentEvents",
"notebookEditorDecorationType",
"notebookEditorEdit",
"notebookMessaging",
"notebookMime",
"notebookCellExecutionState",
"portsAttributes",
"textDocumentNotebook",
"quickPickSortByLabel"
"quickPickSortByLabel",
"notebookKernelSource",
"interactiveWindow"
],
"dbaeumer.vscode-eslint": [
"tabs",
"notebookDocumentEvents",
"notebookEditor",
"notebookCellExecutionState"
"notebookCellExecutionState",
"localization"
],
"ms-vscode.azure-sphere-tools-ui": [
"resolvers"
"resolvers",
"tunnels"
],
"ms-azuretools.vscode-azureappservice": [
"terminalDataWriteEvent"
],
"ms-vscode.anycode": [
"extensionsAny"
],
"ms-vscode.cpptools": [
"terminalDataWriteEvent"
],
"ms-vscode.vscode-github-issue-notebooks": [
"localization"
]
},
"extensionKind": {

View File

@@ -7,30 +7,34 @@ if [[ -z "${GITHUB_TOKEN}" ]]; then
exit
fi
REPOSITORY_OWNER="${ASSETS_REPOSITORY/\/*/}"
REPOSITORY_NAME="${ASSETS_REPOSITORY/*\//}"
npm install -g github-release-cli
if [[ $( gh release view "${MS_TAG}" 2>&1 ) =~ "release not found" ]]; then
echo "Creating release '${MS_TAG}'"
gh release create "${MS_TAG}"
if [[ $( gh release view --repo "${ASSETS_REPOSITORY}" "${RELEASE_VERSION}" 2>&1 ) =~ "release not found" ]]; then
echo "Creating release '${RELEASE_VERSION}'"
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
NOTES="update vscode to [${MS_COMMIT}](https://github.com/microsoft/vscode/tree/${MS_COMMIT})"
CREATE_OPTIONS=""
else
NOTES="update vscode to [${MS_TAG}](https://code.visualstudio.com/updates/v$( echo ${MS_TAG//./_} | cut -d'_' -f 1,2 ))"
CREATE_OPTIONS="--generate-notes"
fi
gh release create "${RELEASE_VERSION}" --repo "${ASSETS_REPOSITORY}" --notes "${NOTES}" ${CREATE_OPTIONS}
fi
cd artifacts
cd assets
set +e
OWNER="${GITHUB_REPOSITORY_OWNER:-"VSCodium"}"
REPO_NAME="${GITHUB_REPOSITORY:(${#OWNER}+1)}"
REPOSITORY="${REPO_NAME:-"vscodium"}"
# git workaround
git config --global --add safe.directory /__w/vscodium/vscodium
for FILE in *
do
if [[ -f "${FILE}" ]] && [[ "${FILE}" != *.sha1 ]] && [[ "${FILE}" != *.sha256 ]]; then
echo "::group::Uploading '${FILE}' at $( date "+%T" )"
gh release upload "${MS_TAG}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
gh release upload --repo "${ASSETS_REPOSITORY}" "${RELEASE_VERSION}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
EXIT_STATUS=$?
echo "exit: ${EXIT_STATUS}"
@@ -38,12 +42,12 @@ do
if (( "${EXIT_STATUS}" )); then
for (( i=0; i<10; i++ ))
do
github-release delete --owner "${OWNER}" --repo "${REPOSITORY}" --tag "${MS_TAG}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
github-release delete --owner "${REPOSITORY_OWNER}" --repo "${REPOSITORY_NAME}" --tag "${RELEASE_VERSION}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
sleep $(( 15 * (i + 1)))
echo "RE-Uploading '${FILE}' at $( date "+%T" )"
gh release upload "${MS_TAG}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
gh release upload --repo "${ASSETS_REPOSITORY}" "${RELEASE_VERSION}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
EXIT_STATUS=$?
echo "exit: ${EXIT_STATUS}"
@@ -57,7 +61,7 @@ do
if (( "${EXIT_STATUS}" )); then
echo "'${FILE}' hasn't been uploaded!"
github-release delete --owner "${OWNER}" --repo "${REPOSITORY}" --tag "${MS_TAG}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
github-release delete --owner "${REPOSITORY_OWNER}" --repo "${REPOSITORY_NAME}" --tag "${RELEASE_VERSION}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
exit 1
fi

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More