Compare commits

..

165 Commits

Author SHA1 Message Date
Baptiste Augrain
61e44afbc4 feat(1.81): update patches and build agents (#1588) 2023-08-04 14:00:28 +02:00
Baptiste Augrain
63dc9d739b Merge branch 'master' into insider 2023-08-04 11:03:00 +02:00
Baptiste Augrain
1e41cef8a6 fix: exit when patching fails (#1587) 2023-08-04 11:02:12 +02:00
VSCodium CI
b9cfdf370d build(insider): update to commit 83fc3ad 2023-08-04 09:18:29 +02:00
Baptiste Augrain
a8262e5152 fix: build archive (#1586) 2023-08-04 01:38:44 +02:00
Baptiste Augrain
d468b7a1e0 Merge branch 'master' into insider 2023-08-04 00:22:50 +02:00
Baptiste Augrain
0b2fc64a3b fix: correctly update product.json (#1581) 2023-07-27 02:11:09 +02:00
Baptiste Augrain
8dcc87596b fix: correctly download pkg2appimage (#1577) 2023-07-24 22:20:13 +02:00
Baptiste Augrain
0810ba2404 revert: correctly detect assets (#1576) 2023-07-24 22:05:24 +02:00
Zac
79baded01d refactor: shell optimizations 2023-07-23 18:35:27 +02:00
VSCodium CI
17f154098d build(insider): update to commit 822ad2d 2023-07-22 09:13:00 +02:00
Zac
1c0c30e6d6 refactor: passing linter on all bash scripts 2023-07-21 16:45:07 +02:00
VSCodium CI
06e05f233a build(insider): update to commit daf9647 2023-07-21 09:18:42 +02:00
Zac
b4318d78a0 refactor: passing linter for root bash scripts (#1569) 2023-07-20 20:25:13 +02:00
VSCodium CI
3e1420722c build(insider): update to commit c85bf61 2023-07-19 10:59:38 +02:00
Baptiste Augrain
9a210dc964 feat: update to 1.81 2023-07-18 22:25:40 +02:00
Baptiste Augrain
11083b9a1b Merge branch 'master' into insider 2023-07-18 21:59:13 +02:00
Baptiste Augrain
d6b7880a05 fix: use blank commit id 2023-07-18 21:57:50 +02:00
Baptiste Augrain
3fa7f2179b feat: used latest nodejs 16 2023-07-07 00:23:35 +02:00
Baptiste Augrain
d06d8127d5 feat: update to 1.80 2023-07-07 00:10:45 +02:00
Simon Sobisch
02d21f5264 Merge pull request #1548 from daiyam/disable-update-linux
fix: disable update on linux
2023-06-23 09:47:45 +02:00
Baptiste Augrain
7710a09830 fix: disable update on linux 2023-06-16 18:28:28 +02:00
Baptiste Augrain
599eb2adc9 fix(linux): type for ppc64le 2023-06-14 11:50:23 +02:00
Baptiste Augrain
e8161f6e4f fix(linux): type for ppc64le 2023-06-14 11:48:56 +02:00
Baptiste Augrain
31b5e5b919 Merge branch 'master' into insider 2023-06-14 11:47:56 +02:00
Lex
ff05d093c9 fix: incorrect npm_config_arch for ppc64le (#1547) 2023-06-14 08:16:06 +02:00
Baptiste Augrain
08114ab943 fix(linux): only reh for ppc64le [skip ci] 2023-06-13 20:39:59 +02:00
Baptiste Augrain
a17ae154cc Merge branch 'master' into insider 2023-06-13 15:33:13 +02:00
Baptiste Augrain
272566cc25 fix: use correct directory to generate new version [skip ci] 2023-06-13 15:31:03 +02:00
Baptiste Augrain
d3db3c1f52 ci: add log when updating version [skip ci] 2023-06-13 15:24:24 +02:00
Baptiste Augrain
bd8b0d5920 feat(insider): v1.80.0 2023-06-13 15:23:37 +02:00
Baptiste Augrain
aac82d75f4 ci: add log when updating version [skip ci] 2023-06-13 14:33:30 +02:00
Lex
c66d9b7edc fix(workflow): typo in stable-linux (#1544) 2023-06-11 16:48:56 +02:00
Baptiste Augrain
73f7d062da fix(linux): ppc64le [skip ci] 2023-06-09 00:16:20 +02:00
Baptiste Augrain
c9b8e2f5a5 chore: update product.json 2023-06-08 21:23:46 +02:00
Baptiste Augrain
6f03ab0ba1 build: use node 16.17 since it's the shipped one 2023-06-08 21:21:08 +02:00
Baptiste Augrain
fad378871b Merge branch 'insider' 2023-06-08 21:10:31 +02:00
Baptiste Augrain
3050fad108 fix: update patches 2023-06-08 18:14:07 +02:00
Lex
f7fc439526 feat: add linux-ppc64le (#1527) 2023-06-05 08:50:34 +02:00
Baptiste Augrain
7c294be474 ci: enable 32bits 2023-06-02 17:40:24 +02:00
Baptiste Augrain
dfa2100471 Merge branch 'master' into insider 2023-06-02 16:33:37 +02:00
Baptiste Augrain
443107bfa5 fix: 32bits builds (#1535) 2023-06-02 16:32:07 +02:00
VSCodium CI
2af05c9f5b build(insider): update to commit c386785 2023-06-01 09:12:18 +02:00
VSCodium CI
4b237cbd3c build(insider): update to commit fa8eefd 2023-05-31 09:14:14 +02:00
VSCodium CI
b11613470e build(insider): update to commit 784e72b 2023-05-30 09:16:10 +02:00
VSCodium CI
b019f9c25a build(insider): update to commit 667d462 2023-05-29 09:14:14 +02:00
Baptiste Augrain
e2bf570707 fix: space in merge-user-product.patch 2023-05-29 00:02:39 +02:00
ririxi
a2aed6a9e7 fix: enable electron sandbox (#1530) 2023-05-28 23:57:35 +02:00
Baptiste Augrain
dc1e3961c3 fix(1.79): updates patches 2023-05-28 23:07:30 +02:00
Baptiste Augrain
272f67d95b fix: make webview works again (#1514) 2023-05-11 16:01:50 +02:00
Baptiste Augrain
7afbfe03ad feat: update to 1.78 (#1500) 2023-05-10 02:30:07 +02:00
Baptiste Augrain
94ab319d86 Merge branch 'insider' 2023-05-09 23:44:00 +02:00
scientificworld
6137a9fcc5 fix: cannot open welcome page when offline (#1493) 2023-04-26 00:58:13 +02:00
Baptiste Augrain
8661322052 feat: update vote announcements [skip ci] 2023-04-24 23:32:14 +02:00
Baptiste Augrain
84aabe12e3 feat: update vote announcements [skip ci] 2023-04-19 01:21:31 +02:00
Baptiste Augrain
99da974ce5 feat: add vote announcements 2023-04-13 01:39:54 +02:00
Baptiste Augrain
c3e35a9e82 fix: add missing neverShowAgain [skip ci] 2023-04-05 11:07:08 +02:00
Baptiste Augrain
bfdd19ccf2 fix: banner uses same flag as the notification (#1463) 2023-04-05 11:07:08 +02:00
Baptiste Augrain
033a6bdf30 fix: add missing neverShowAgain [skip ci] 2023-04-05 10:00:24 +02:00
Baptiste Augrain
9dbdd411a0 fix: banner uses same flag as the notification (#1463) 2023-04-04 23:29:53 +02:00
Baptiste Augrain
31a42d485b Merge branch 'master' into insider 2023-04-03 10:46:37 +02:00
VSCodium CI
89d3113d66 build(insider): update to commit 2da5a00 2023-04-03 09:16:09 +02:00
Baptiste Augrain
5e26c4a9c4 fix: icons (#1459) 2023-04-03 00:15:06 +02:00
NovaliX
38ba585382 fix: macos icon generation (#1457) 2023-04-03 00:09:32 +02:00
Baptiste Augrain
974619f5d8 fix: get dirname from repository [skip ci] 2023-04-02 15:55:31 +02:00
Baptiste Augrain
f985c78aaa chore: update api and annoucements [skip ci] 2023-03-31 14:54:19 +02:00
Baptiste Augrain
d9368b3668 Merge branch 'insider' 2023-03-31 14:17:26 +02:00
Baptiste Augrain
de60efb3ea style: update insiders icons [skip ci] 2023-03-31 14:16:43 +02:00
Baptiste Augrain
b94741d88d style: update insiders icon templates 2023-03-31 14:10:18 +02:00
VSCodium CI
afc33000a6 build(insider): update to commit f31dffc 2023-03-31 09:14:08 +02:00
VSCodium CI
5dc393d199 build(insider): update to commit 7f329fe 2023-03-30 09:14:11 +02:00
VSCodium CI
a4a0d37b5f build(insider): update to commit 10295b5 2023-03-29 09:15:27 +02:00
dependabot[bot]
cd3b6e425a build(deps): bump actions/stale from 7 to 8 (#1453) 2023-03-27 16:03:15 +02:00
Baptiste Augrain
4e373455f2 feat: add downloadUrl (#1449) 2023-03-26 09:41:43 +02:00
VSCodium CI
1c582203e5 build(insider): update to commit b9226e1 2023-03-25 08:11:50 +01:00
Baptiste Augrain
55377464bb Merge branch 'insider' of github.com:VSCodium/vscodium into insider 2023-03-24 20:50:10 +01:00
Baptiste Augrain
a1d08f4273 feat: update internal icons 2023-03-24 20:47:47 +01:00
VSCodium CI
7c2088709b build(insider): update to commit c83f54a 2023-03-24 08:11:56 +01:00
VSCodium CI
44a49cde49 build(insider): update to commit a5bd844 2023-03-23 08:11:42 +01:00
VSCodium CI
56bfd87ca9 build(insider): update to commit b8e4c55 2023-03-22 08:12:14 +01:00
VSCodium CI
adf3181b0d build(insider): update to commit 833ac68 2023-03-21 08:12:41 +01:00
VSCodium CI
f479f2aeff build(insider): update to commit fa13bf1 2023-03-20 08:12:30 +01:00
Baptiste Augrain
f2f78ed89f feat: add reh binary url in product.json 2023-03-19 01:58:29 +01:00
Baptiste Augrain
7a5936976f fix: update patches 2023-03-19 01:26:17 +01:00
Baptiste Augrain
b113c874f2 build: try new icons 2023-03-19 00:49:08 +01:00
Baptiste Augrain
83b39e549b Merge branch 'master' into insider 2023-03-19 00:47:16 +01:00
dependabot[bot]
141716f439 build(deps): bump dessant/lock-threads from 3 to 4 (#1434) 2023-03-03 17:52:48 +01:00
dependabot[bot]
7c0f7c3576 build(deps): bump actions/stale from 6 to 7 (#1437) 2023-03-03 14:26:14 +01:00
dependabot[bot]
b53d9177f7 build(deps): bump actions/setup-python from 3 to 4 (#1436) 2023-03-03 14:25:51 +01:00
dependabot[bot]
8999b26b10 build(deps): bump docker/setup-qemu-action from 1 to 2 (#1435) 2023-03-03 14:25:30 +01:00
Araxeus
a27b5b2466 ci: create dependabot.yml (#1426) 2023-03-03 11:59:21 +01:00
Baptiste Augrain
13df952922 ci: use lastest winget releaser [skip ci] 2023-03-03 09:30:46 +01:00
Baptiste Augrain
3d745a9a37 fix: update patch 2023-03-02 23:40:15 +01:00
Baptiste Augrain
41b949f19e fix: update to 1.76 (#1432) 2023-03-02 23:23:03 +01:00
Baptiste Augrain
69261e134e docs: update announcements icon [skip ci] 2023-03-01 12:46:02 +01:00
Baptiste Augrain
3771db7395 docs: update announcements 2023-03-01 12:29:49 +01:00
Semnodime
b405f160de Fix Typo (#1401) 2023-02-07 07:39:14 +02:00
Pavlo Rudy
d6e7ae1f6f chore: update ms-python api; close #1400 2023-02-06 09:47:07 +02:00
Baptiste Augrain
9ad93a467b chore: update apis 2023-02-02 21:42:21 +01:00
Baptiste Augrain
e0ce361df9 Merge branch 'insider' 2023-02-02 21:30:44 +01:00
VSCodium CI
2b463cd728 build(insider): update to commit e2816fe 2023-02-02 08:12:16 +01:00
Baptiste Augrain
fc77078868 fix: remove retry-all-errors option [skip ci] 2023-01-31 17:13:55 +01:00
Baptiste Augrain
4ccfb857a4 ci: add retry to gh install [skip ci] 2023-01-31 16:03:37 +01:00
Baptiste Augrain
4b4cfe4f74 fix: reduce mangle to minimum 2023-01-31 14:33:29 +01:00
Baptiste Augrain
4afe89a9ce feat: add command to provide reh url (#1392) 2023-01-30 00:03:37 +01:00
Baptiste Augrain
2d254e9368 feat: disable mangle 2023-01-29 17:42:40 +01:00
Baptiste Augrain
553b29623c fix: remove patch [skip ci] 2023-01-29 16:34:54 +01:00
VSCodium CI
73f8d5cc86 build(insider): update to commit 9ccc2b3 2023-01-20 08:13:01 +01:00
VSCodium CI
a409e6a7ec build(insider): update to commit b899232 2023-01-19 08:12:45 +01:00
Simon Sobisch
11f4749bdb Merge pull request #1374 from jaredreich/patch-1
Update README.md (updated special thanks for logo)
2023-01-18 11:27:33 +01:00
VSCodium CI
f701fd714b build(insider): update to commit 1379f03 2023-01-17 08:12:57 +01:00
VSCodium CI
ad388af833 build(insider): update to commit 2438547 2023-01-14 08:12:30 +01:00
VSCodium CI
617cc85c43 build(insider): update to commit 6d40104 2023-01-12 08:15:29 +01:00
Baptiste Augrain
6fdca57be5 build: improve patch script 2023-01-11 12:22:54 +01:00
VSCodium CI
7fffa6bcf1 build(insider): update to commit e7b5449 2023-01-11 08:16:21 +01:00
VSCodium CI
b98ae5fe32 build(insider): update to commit 04b15ff 2023-01-10 08:10:54 +01:00
Jared Reich
519d9d1e30 Update README.md special thanks for logo
Just keeping this up to date since we reverted back to the original logo from #4 
Great continued work on this project!!!
2023-01-09 14:31:44 -07:00
Baptiste Augrain
e82cd45830 fix: retrieve BUILD_SOURCEVERSION when force update versions [skip ci] 2023-01-08 16:08:05 +01:00
Baptiste Augrain
30fea6fcbd fix: force update versions [skip ci] 2023-01-08 15:37:11 +01:00
Baptiste Augrain
32637c09c8 feat: allows to forcely update versions [skip ci] 2023-01-08 15:33:27 +01:00
Baptiste Augrain
9618e11b99 chore: update api 2023-01-08 11:11:51 +01:00
Baptiste Augrain
43f11068ce fix: update mangle patch 2023-01-08 10:44:54 +01:00
Baptiste Augrain
8474e2eec6 Merge branch 'master' into insider 2023-01-08 10:39:27 +01:00
Baptiste Augrain
ceaf9ce37b fix: don't compile build dir and fix patch 2023-01-07 14:07:56 +01:00
Baptiste Augrain
57507e0abf feat: compile build dir before building editor 2023-01-07 13:40:46 +01:00
Baptiste Augrain
15addf4476 fix: patch mangle for windows (#1370) 2023-01-07 12:16:19 +01:00
VSCodium CI
df7ed19561 build(insider): update to commit 727d2d3 2023-01-07 08:12:16 +01:00
VSCodium CI
35b7b32db0 build(insider): update to commit 79c4f9b 2023-01-06 08:12:02 +01:00
VSCodium CI
26f90e6511 build(insider): update to commit 4acf2d9 2023-01-05 08:11:55 +01:00
Baptiste Augrain
3a9c276c70 fix: update github patch 2023-01-03 12:10:17 +01:00
Baptiste Augrain
1753520ee0 fix: update ms commit 2023-01-03 11:57:29 +01:00
Baptiste Augrain
2d51987163 fix: update github patch 2023-01-03 11:53:10 +01:00
Hulusi Kafalıer
f73d7b632b docs: fix invalid product.json example (#1366) 2023-01-02 08:57:17 +01:00
Nicolas Hedger
369ff79b9f Fix broken workflow badges (#1361)
* Fix broken workflow badges

* Add missing parentheses
2022-12-30 19:52:55 +02:00
VSCodium CI
a4b47f50a4 build(insider): update to commit 11238fa 2022-12-13 08:19:45 +01:00
VSCodium CI
557fc06d55 build(insider): update to commit 250a8f3 2022-12-12 08:17:47 +01:00
VSCodium CI
14ca97b75c build(insider): update to commit f076d55 2022-12-10 08:14:22 +01:00
Baptiste Augrain
3cf93c6ded enhance: update apis 2022-12-08 20:22:27 +01:00
Baptiste Augrain
12121c9c9b Merge branch 'insider' 2022-12-08 19:54:34 +01:00
VSCodium CI
5d3b20bf8f build(insider): update to commit b928944 2022-12-08 08:17:37 +01:00
VSCodium CI
b57285ebae build(insider): update to commit 5235c6b 2022-12-06 08:16:53 +01:00
Baptiste Augrain
a31e11a51e feat: add default apis for open-remote-ssh (#1344) 2022-12-02 22:22:58 +01:00
Baptiste Augrain
ee8c7f094a fix: remove recommendationsUrl 2022-12-02 20:31:45 +01:00
eugen-auschew
078ce9427f docs: changed packagename in docs.md for ApplePressAndHoldEnabled setting (#1341)
Co-authored-by: eauw <info@ea-it.de>
2022-11-30 14:02:35 +01:00
VSCodium CI
f781310c69 build(insider): update to commit d0e44be 2022-11-26 08:11:48 +01:00
Simon Sobisch
33b563c334 Merge pull request #1330 from VSCodium/docs-extensions
update concerning extension gallery
2022-11-24 20:56:04 +01:00
VSCodium CI
71277ceb29 build(insider): update to commit 2eca6d3 2022-11-24 08:22:11 +01:00
Baptiste Augrain
8b260dc895 fix(insider): update patches 2022-11-23 21:52:51 +01:00
Baptiste Augrain
25985ec81b fix(insider): test before using getPreferredSystemLanguages
closes #1335
2022-11-21 15:51:03 +01:00
VSCodium CI
50313cace5 build(insider): update to commit fef85ea 2022-11-21 08:11:50 +01:00
Baptiste Augrain
61ab6ebb68 build: add title to github's release 2022-11-20 00:42:22 +01:00
Baptiste Augrain
ef0a3400d5 fix: update patch 2022-11-18 10:36:13 +01:00
Baptiste Augrain
1bfa2d920c fix: update patch 2022-11-17 22:56:46 +01:00
VSCodium CI
7ecd465204 build(insider): update to commit 3fb8e8f 2022-11-15 08:10:09 +01:00
Simon Sobisch
c57d5aa768 update concerning extension gallery 2022-11-12 14:59:47 +01:00
Baptiste Augrain
5c3db580d5 feat(1.74): support windows 7 (#1329) 2022-11-12 10:14:22 +01:00
Baptiste Augrain
de28e119be feat(1.74): update custom gallery patch 2022-11-12 10:09:54 +01:00
Pavlo Rudy
522300a657 feat(issue): add sandbox info [skip ci] 2022-11-11 12:02:38 +02:00
Baptiste Augrain
d0b246a9e1 fix: update patches 2022-11-10 18:36:08 +01:00
Baptiste Augrain
1b48e182cb Merge branch 'master' into insider 2022-11-10 18:20:15 +01:00
Baptiste Augrain
59389da1b0 fix: remote dependencies (#1324) 2022-11-10 18:18:26 +01:00
Baptiste Augrain
ab5bc94dc5 Merge branch 'master' into insider 2022-11-05 13:01:29 +01:00
Baptiste Augrain
51e8c96447 fix(winget): use correct assets path [skip ci] 2022-11-05 13:00:13 +01:00
Baptiste Augrain
0a4c9f8822 fix: disable windows' appx (#1321) 2022-11-04 12:48:12 +01:00
Geoffrey Huntley
8a4d27cbc5 docs(marketplace): insights how to self-host vscode marketplace (#1320) 2022-11-03 21:32:44 +01:00
244 changed files with 5027 additions and 9833 deletions

View File

@@ -34,6 +34,7 @@ If applicable, add screenshots to help explain your problem.
- Architecture [e.g. x64, ia32, arm64]
- Version [e.g. 1.33.0]
- App Manager [e.g. Winget, Homebrew, Snap, AUR, RPM, Nix, ...]
- Sandboxed [e.g. no, Flatpak, Snap]
**Additional context**
Add any other context about the problem here.

11
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,11 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"

View File

@@ -68,7 +68,7 @@ jobs:
- vscode_arch: x64
image: vscodium/vscodium-linux-build-agent:centos7-devtoolset8-x64
# - vscode_arch: arm64
# image: vscodium/vscodium-linux-build-agent:bionic-x64
# image: vscodium/vscodium-linux-build-agent:centos7-devtoolset8-arm64
container:
image: ${{ matrix.image }}
if: needs.check.outputs.SHOULD_BUILD == 'yes' || needs.check.outputs.SHOULD_DEPLOY == 'yes'
@@ -82,33 +82,24 @@ jobs:
run: ./get_repo.sh
- uses: docker/setup-qemu-action@v2
if: matrix.vscode_arch == 'arm64'
if: matrix.vscode_arch == 'arm64' || matrix.vscode_arch == 'ppc64le'
- name: Setup Node.js environment
uses: actions/setup-node@v3
with:
node-version: 16
node-version: '16'
- name: Install Yarn
run: npm install -g yarn
- name: Install remote dependencies (x64)
env:
npm_config_arch: x64
- name: Install remote dependencies
run: ./install_remote_dependencies.sh
if: matrix.vscode_arch == 'x64'
# - name: Install remote dependencies (arm64)
# run: |
# set -e
# docker run -e VSCODE_QUALITY -e GITHUB_TOKEN -v $(pwd):/root/vscodium vscodium/vscodium-linux-build-agent:centos7-devtoolset8-arm64 /root/vscodium/install_remote_dependencies.sh
# if: matrix.vscode_arch == 'arm64'
- name: Save remote dependencies
uses: actions/upload-artifact@v3
with:
name: remote-dependencies-${{ matrix.vscode_arch }}
path: ./vscode/remote/node_modules
path: ./remote-dependencies.tar
retention-days: ${{ needs.check.outputs.SHOULD_DEPLOY == 'yes' && 30 || 1 }}
build:
@@ -117,6 +108,7 @@ jobs:
- dependencies
runs-on: ubuntu-latest
env:
DISABLE_UPDATE: 'yes'
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
@@ -131,10 +123,13 @@ jobs:
image: vscodium/vscodium-linux-build-agent:bionic-x64
- vscode_arch: arm64
npm_arch: arm64
image: vscodium/vscodium-linux-build-agent:stretch-arm64
image: vscodium/vscodium-linux-build-agent:bionic-arm64
- vscode_arch: armhf
npm_arch: armv7l
image: vscodium/vscodium-linux-build-agent:stretch-armhf
npm_arch: arm
image: vscodium/vscodium-linux-build-agent:bionic-armhf
- vscode_arch: ppc64le
npm_arch: ppc64
image: vscodium/vscodium-linux-build-agent:bionic-ppc64le
container:
image: ${{ matrix.image }}
env:
@@ -159,7 +154,7 @@ jobs:
- name: Setup Node.js environment
uses: actions/setup-node@v3
with:
node-version: 16
node-version: '16'
- name: Install Yarn
run: npm install -g yarn
@@ -175,7 +170,6 @@ jobs:
uses: actions/download-artifact@v3
with:
name: remote-dependencies-${{ matrix.vscode_arch }}
path: ./vscode/remote/node_modules
if: env.SHOULD_BUILD == 'yes' && matrix.vscode_arch == 'x64'
- name: Build
@@ -256,7 +250,7 @@ jobs:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
run: ./stores/snapcraft/check_version.sh
- uses: docker/setup-qemu-action@v1
- uses: docker/setup-qemu-action@v2
if: env.SHOULD_DEPLOY == 'yes'
- uses: diddlesnaps/snapcraft-multiarch-action@v1

View File

@@ -50,7 +50,7 @@ jobs:
- name: Setup Node.js environment
uses: actions/setup-node@v3
with:
node-version: 16
node-version: '16'
- name: Clone VSCode repo
env:

View File

@@ -25,7 +25,7 @@ jobs:
- name: Setup Node.js environment
uses: actions/setup-node@v3
with:
node-version: 16
node-version: '16'
- name: Clone VSCode repo
run: . get_repo.sh

View File

@@ -55,13 +55,13 @@ jobs:
- name: Setup Node.js environment
uses: actions/setup-node@v3
with:
node-version: 16
node-version: '16'
- name: Install Yarn
run: npm install -g yarn
- name: Setup Python 3
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: '3.x'
@@ -114,6 +114,7 @@ jobs:
shell: bash
env:
APP_IDENTIFIER: VSCodium.VSCodium.Insiders
ASSETS_REPOSITORY: vscodium-insiders
if: needs.build.outputs.SHOULD_DEPLOY == 'yes'
steps:
@@ -127,7 +128,7 @@ jobs:
RELEASE_VERSION: ${{ needs.build.outputs.RELEASE_VERSION }}
- name: Release to WinGet
uses: vedantmgoyal2009/winget-releaser@v1
uses: vedantmgoyal2009/winget-releaser@v2
with:
identifier: ${{ env.APP_IDENTIFIER }}
version: ${{ env.RELEASE_VERSION }}

View File

@@ -8,7 +8,7 @@ jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v3
- uses: dessant/lock-threads@v4
with:
github-token: ${{ github.token }}
issue-inactive-days: '90'

View File

@@ -6,6 +6,9 @@ on:
new_release:
type: boolean
description: Force new Release
force_version:
type: boolean
description: Force update version
schedule:
- cron: '0 18 * * *'
push:
@@ -62,7 +65,7 @@ jobs:
- vscode_arch: x64
image: vscodium/vscodium-linux-build-agent:centos7-devtoolset8-x64
# - vscode_arch: arm64
# image: vscodium/vscodium-linux-build-agent:bionic-x64
# image: vscodium/vscodium-linux-build-agent:centos7-devtoolset8-arm64
container:
image: ${{ matrix.image }}
if: needs.check.outputs.SHOULD_BUILD == 'yes' || needs.check.outputs.SHOULD_DEPLOY == 'yes'
@@ -76,33 +79,24 @@ jobs:
run: ./get_repo.sh
- uses: docker/setup-qemu-action@v2
if: matrix.vscode_arch == 'arm64'
if: matrix.vscode_arch == 'arm64' || matrix.vscode_arch == 'ppc64le'
- name: Setup Node.js environment
uses: actions/setup-node@v3
with:
node-version: 16
node-version: '16'
- name: Install Yarn
run: npm install -g yarn
- name: Install remote dependencies (x64)
env:
npm_config_arch: x64
- name: Install remote dependencies
run: ./install_remote_dependencies.sh
if: matrix.vscode_arch == 'x64'
# - name: Install remote dependencies (arm64)
# run: |
# set -e
# docker run -e VSCODE_QUALITY -e GITHUB_TOKEN -v $(pwd):/root/vscodium vscodium/vscodium-linux-build-agent:centos7-devtoolset8-arm64 /root/vscodium/install_remote_dependencies.sh
# if: matrix.vscode_arch == 'arm64'
- name: Save remote dependencies
uses: actions/upload-artifact@v3
with:
name: remote-dependencies-${{ matrix.vscode_arch }}
path: ./vscode/remote/node_modules
path: ./remote-dependencies.tar
retention-days: ${{ needs.check.outputs.SHOULD_DEPLOY == 'yes' && 30 || 1 }}
build:
@@ -111,6 +105,7 @@ jobs:
- dependencies
runs-on: ubuntu-latest
env:
DISABLE_UPDATE: 'yes'
MS_COMMIT: ${{ needs.check.outputs.MS_COMMIT }}
MS_TAG: ${{ needs.check.outputs.MS_TAG }}
RELEASE_VERSION: ${{ needs.check.outputs.RELEASE_VERSION }}
@@ -125,10 +120,13 @@ jobs:
image: vscodium/vscodium-linux-build-agent:bionic-x64
- vscode_arch: arm64
npm_arch: arm64
image: vscodium/vscodium-linux-build-agent:stretch-arm64
image: vscodium/vscodium-linux-build-agent:bionic-arm64
- vscode_arch: armhf
npm_arch: armv7l
image: vscodium/vscodium-linux-build-agent:stretch-armhf
npm_arch: arm
image: vscodium/vscodium-linux-build-agent:bionic-armhf
- vscode_arch: ppc64le
npm_arch: ppc64
image: vscodium/vscodium-linux-build-agent:bionic-ppc64le
container:
image: ${{ matrix.image }}
env:
@@ -151,7 +149,7 @@ jobs:
- name: Setup Node.js environment
uses: actions/setup-node@v3
with:
node-version: 16
node-version: '16'
- name: Install Yarn
run: npm install -g yarn
@@ -167,7 +165,6 @@ jobs:
uses: actions/download-artifact@v3
with:
name: remote-dependencies-${{ matrix.vscode_arch }}
path: ./vscode/remote/node_modules
if: env.SHOULD_BUILD == 'yes' && matrix.vscode_arch == 'x64'
- name: Build
@@ -189,10 +186,11 @@ jobs:
- name: Update versions repo
env:
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
if: env.SHOULD_DEPLOY == 'yes'
aur:
needs:
@@ -241,7 +239,7 @@ jobs:
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
run: ./stores/snapcraft/check_version.sh
- uses: docker/setup-qemu-action@v1
- uses: docker/setup-qemu-action@v2
if: env.SHOULD_DEPLOY == 'yes'
- uses: diddlesnaps/snapcraft-multiarch-action@v1

View File

@@ -6,6 +6,9 @@ on:
new_release:
type: boolean
description: Force new Release
force_version:
type: boolean
description: Force update version
schedule:
- cron: '0 18 * * *'
push:
@@ -44,7 +47,7 @@ jobs:
- name: Setup Node.js environment
uses: actions/setup-node@v3
with:
node-version: 16
node-version: '16'
- name: Clone VSCode repo
run: . get_repo.sh
@@ -81,10 +84,11 @@ jobs:
- name: Update versions repo
env:
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
if: env.SHOULD_DEPLOY == 'yes'
- name: Clean up keychain
if: always()

View File

@@ -6,6 +6,9 @@ on:
new_release:
type: boolean
description: Force new Release
force_version:
type: boolean
description: Force update version
schedule:
- cron: '0 18 * * *'
push:
@@ -50,13 +53,13 @@ jobs:
- name: Setup Node.js environment
uses: actions/setup-node@v3
with:
node-version: 16
node-version: '16'
- name: Install Yarn
run: npm install -g yarn
- name: Setup Python 3
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: '3.x'
@@ -93,10 +96,11 @@ jobs:
- name: Update versions repo
env:
FORCE_UPDATE: ${{ github.event.inputs.force_version }}
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
GITHUB_USERNAME: ${{ github.repository_owner }}
run: ./update_version.sh
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
if: env.SHOULD_DEPLOY == 'yes'
winget:
needs: build
@@ -117,7 +121,7 @@ jobs:
RELEASE_VERSION: ${{ needs.build.outputs.RELEASE_VERSION }}
- name: Release to WinGet
uses: vedantmgoyal2009/winget-releaser@v1
uses: vedantmgoyal2009/winget-releaser@v2
with:
identifier: ${{ env.APP_IDENTIFIER }}
version: ${{ env.RELEASE_VERSION }}

View File

@@ -11,7 +11,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v6
- uses: actions/stale@v8
with:
days-before-stale: 180
days-before-close: 30

1
.gitignore vendored
View File

@@ -13,3 +13,4 @@ build/linux/appimage/VSCodium
build/windows/msi/releasedir
build/windows/msi/Files*.wxs
build/windows/msi/Files*.wixobj
remote-dependencies.tar

2
.nvmrc
View File

@@ -1 +1 @@
v16.14.2
16.20

58
DOCS.md
View File

@@ -5,7 +5,9 @@
- [Getting all the Telemetry Out](#disable-telemetry)
- [Replacements to Microsoft Online Services](#replacement-online-services)
- [Extensions + Marketplace](#extensions-marketplace)
- [How to use the OpenVSX Marketplace](#howto-openvsx-marketplace)
- [How to use the VS Code Marketplace](#howto-vscode-marketplace)
- [How to self host your own VS Code Marketplace](#howto-selfhost-marketplace)
- [Proprietary Debugging Tools](#proprietary-debugging-tools)
- [Proprietary Extensions](#proprietary-extensions)
- [Migrating from Visual Studio Code to VSCodium](#migrating)
@@ -43,44 +45,74 @@ Likewise, while the descriptions for "Extensions: Auto Check Updates" and "Exten
## <a id="extensions-marketplace"></a>Extensions + Marketplace
The `product.json` file is set up to use [open-vsx.org](https://open-vsx.org/) as extension gallery, which has an [adapter](https://github.com/eclipse/openvsx/wiki/Using-Open-VSX-in-VS-Code) to the Marketplace API used by VS Code. Since that is a rather new project, you will likely miss some extensions you know from the VS Code Marketplace. You have the following options to obtain such missing extensions:
Being a vscode based editor, VSCodium gets additional features by installing VS Code extensions.
Unfortunately, as Microsoft [prohibits usages of the Microsoft marketplace by any other products](https://github.com/microsoft/vscode/issues/31168) or redistribution of `.vsix` files from it, in order to use VS Code extensions in non-Microsoft products those need to be installed differently.
By default, the `product.json` file is set up to use [open-vsx.org](https://open-vsx.org/) as extension gallery, which has an [adapter](https://github.com/eclipse/openvsx/wiki/Using-Open-VSX-in-VS-Code) to the Marketplace API used by VS Code. Since that is a rather new project, you will likely miss some extensions you know from the VS Code Marketplace. You have the following options to obtain such missing extensions:
* Ask the extension maintainers to publish to [open-vsx.org](https://open-vsx.org/) in addition to the VS Code Marketplace. The publishing process is documented in the [Open VSX Wiki](https://github.com/eclipse/openvsx/wiki/Publishing-Extensions).
* Create a pull request to [this repository](https://github.com/open-vsx/publish-extensions) to have the [@open-vsx](https://github.com/open-vsx) service account publish the extensions for you.
* Download and [install the vsix files](https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix).
* Download and [install the vsix files](https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix), for example from the release page in their source repository.
### <a id="howto-openvsx-marketplace"></a>How to use the Open VSX Registry
As noted above, the [Open VSX Registry](https://open-vsx.org/) is the pre-set extension gallery in VSCodium. Using the extension view in VSCodium will therefore by default use it.
See [this article](https://www.gitpod.io/blog/open-vsx/) for more information on the motivation behind Open VSX.
### <a id="howto-vscode-marketplace"></a>How to use the VS Code Marketplace
### <a id="howto-switch-marketplace"></a>How to use a different extension gallery
You can switch and use the VS Code marketplace by using the following solutions. However, note that [ this is not legal](https://github.com/microsoft/vscode/issues/31168).
You can switch from the pre-set Open VSX Registry by configuring the endpoints using the following solutions.
These examples use the URLs for Microsoft's VS Code Marketplace, see [below](#howto-vscode-marketplace) for more information on that.
With the following environment variables:
- `VSCODE_GALLERY_SERVICE_URL='https://marketplace.visualstudio.com/_apis/public/gallery'`
- `VSCODE_GALLERY_CACHE_URL='https://vscode.blob.core.windows.net/gallery/index'`
- `VSCODE_GALLERY_ITEM_URL='https://marketplace.visualstudio.com/items'`
- `VSCODE_GALLERY_CACHE_URL='https://vscode.blob.core.windows.net/gallery/index'`
- `VSCODE_GALLERY_CONTROL_URL=''`
- `VSCODE_GALLERY_RECOMMENDATIONS_URL=''`
Or by creating a custom `product.json` at the following location:
Or by creating a custom `product.json` at the following location (replace `VSCodium` by `VSCodium - Insiders` if you use that):
- Windows: `%APPDATA%\VSCodium` or `%USERPROFILE%\AppData\Roaming\VSCodium`
- macOS: `~/Library/Application Support/VSCodium`
- Linux: `$XDG_CONFIG_HOME/VSCodium` or `~/.config/VSCodium`
with the content:
```json
- Note: set `cacheUrl` to empty string for every other extension gallery
```jsonc
{
"extensionsGallery": {
"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
"cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
"itemUrl": "https://marketplace.visualstudio.com/items",
"controlUrl": "",
"recommendationsUrl": ""
"cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
"controlUrl": ""
}
}
```
### <a id="howto-selfhost-marketplace"></a>How to self-host your own extension gallery
Individual developers and enterprise companies in regulated or security-conscious industries can self-host their own extension gallery. In all of these cases you'd enter its endpoint URLs as noted above, replacing `marketplace.visualstudio.com` with `your-self-hosted-marketplace-address.example.com` (or IP address), setting `cacheUrl` / `VSCODE_GALLERY_CACHE_URL` to an empty string.
There are likely other options, but the following were reported to work:
* [Open VSX](https://github.com/eclipse/openvsx) eclipse open-source project
While the public instance which is run by the Eclipse Foundation is the pre-set endpoint in VSCodium, you can host your own instance.
> Open VSX is a [vendor-neutral](https://projects.eclipse.org/projects/ecd.openvsx) open-source alternative to the [Visual Studio Marketplace](https://marketplace.visualstudio.com/vscode). It provides a server application that manages [VS Code extensions](https://code.visualstudio.com/api) in a database, a web application similar to the VS Code Marketplace, and a command-line tool for publishing extensions similar to [vsce](https://code.visualstudio.com/api/working-with-extensions/publishing-extension#vsce).
* [code-marketplace](https://coder.com/blog/running-a-private-vs-code-extension-marketplace) open-source project
> `code-marketplace` is a self-contained go binary that does not have a frontend or any mechanisms for extension authors to add or update extensions in the marketplace. It simply reads extensions from file storage and provides an API for VSCode compatible editors to consume.
### <a id="howto-vscode-marketplace"></a>How to use the VS Code Marketplace
As with any online service, ensure you've understood [its terms of use](https://aka.ms/vsmarketplace-ToU).
Also note that this extension gallery hosts multiple extensions that are non-free and have license-agreements that explicitly forbid using them in non-Microsoft products, along with using telemetry.
The endpoint URLs are given in the [example above](#howto-switch-marketplace).
### <a id="proprietary-debugging-tools"></a>Proprietary Debugging Tools
The debugger provided with Microsoft's [C# extension](https://github.com/OmniSharp/omnisharp-vscode) as well as the (Windows) debugger provided with their [C++ extension](https://github.com/Microsoft/vscode-cpptools) are very restrictively licensed to only work with the official Visual Studio Code build. See [this comment in the C# extension repo](https://github.com/OmniSharp/omnisharp-vscode/issues/2491#issuecomment-418811364) and [this comment in the C++ extension repo](https://github.com/Microsoft/vscode-cpptools/issues/21#issuecomment-248349017).
@@ -91,7 +123,7 @@ A workaround exists to get debugging working in C# projects, by using Samsung's
Like the debuggers mentioned above, some extensions you may find in the marketplace (like the [Remote Development Extensions](https://code.visualstudio.com/docs/remote/remote-overview)) only function with the official Visual Studio Code build. You can work around this by adding the extension's internal ID (found on the extension's page) to the `extensionAllowedProposedApi` property of the product.json in your VSCodium installation. For example:
```json
```jsonc
"extensionAllowedProposedApi": [
// ...
"ms-vscode-remote.vscode-remote-extensionpack",
@@ -161,7 +193,7 @@ inode/directory=codium.desktop;org.gnome.Nautilus.desktop;
This is a common question for Visual Studio Code and the procedure is slightly different in VSCodium because the `defaults` path is different.
```bash
$ defaults write com.visualstudio.code.oss ApplePressAndHoldEnabled -bool false
$ defaults write com.vscodium ApplePressAndHoldEnabled -bool false
```
## <a id="terminal-support"></a>How do I open VSCodium from the terminal?

View File

@@ -1,6 +1,6 @@
<div id="vscodium-logo" align="center">
<br />
<img src="./src/stable/resources/linux/code.png" alt="VSCodium Logo" width="200"/>
<img src="./icons/stable/codium_cnl.svg" alt="VSCodium Logo" width="200"/>
<h1>VSCodium</h1>
<h3>Free/Libre Open Source Software Binaries of VS Code</h3>
</div>
@@ -13,9 +13,9 @@
[![codium](https://snapcraft.io//codium/badge.svg)](https://snapcraft.io/codium)
[![codium](https://snapcraft.io//codium/trending.svg?name=0)](https://snapcraft.io/codium)
[![build status (linux)](https://img.shields.io/github/workflow/status/VSCodium/vscodium/linux_build/master?label=build%28linux%29)](https://github.com/VSCodium/vscodium/actions/workflows/linux.yml?query=branch%3Amaster)
[![build status (macos)](https://img.shields.io/github/workflow/status/VSCodium/vscodium/macos_build/master?label=build%28macos%29)](https://github.com/VSCodium/vscodium/actions/workflows/macos.yml?query=branch%3Amaster)
[![build status (windows)](https://img.shields.io/github/workflow/status/VSCodium/vscodium/windows_build/master?label=build%28windows%29)](https://github.com/VSCodium/vscodium/actions/workflows/windows.yml?query=branch%3Amaster)
[![build status (linux)](https://img.shields.io/github/actions/workflow/status/VSCodium/vscodium/stable-linux.yml?branch=master&label=build%28linux%29)](https://github.com/VSCodium/vscodium/actions/workflows/stable-linux.yml?query=branch%3Amaster)
[![build status (macos)](https://img.shields.io/github/actions/workflow/status/VSCodium/vscodium/stable-macos.yml?branch=master&label=build%28macOS%29)](https://github.com/VSCodium/vscodium/actions/workflows/stable-macos.yml?query=branch%3Amaster)
[![build status (windows)](https://img.shields.io/github/actions/workflow/status/VSCodium/vscodium/stable-windows.yml?branch=master&label=build%28windows%29)](https://github.com/VSCodium/vscodium/actions/workflows/stable-windows.yml?query=branch%3Amaster)
</div>
@@ -166,13 +166,9 @@ If you would like to support the development of VSCodium, feel free to send BTC
Special thanks to:
<table>
<tr>
<td>@estatra</td>
<td>for the latest logo</td>
</tr>
<tr>
<td><a href="https://github.com/jaredreich" target="_blank">@jaredreich</a></td>
<td>for the previous logo</td>
<td>for the logo</td>
</tr>
<tr>
<td><a href="https://github.com/PalinuroSec" target="_blank">@PalinuroSec</a></td>

View File

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

View File

@@ -1,12 +1,2 @@
[
{
"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

@@ -1,7 +1,12 @@
#!/bin/bash
#!/usr/bin/env bash
# shellcheck disable=SC1091
set -ex
if [[ -f "./remote-dependencies.tar" ]]; then
tar -xf ./remote-dependencies.tar ./vscode/remote/node_modules
fi
. version.sh
if [[ "${SHOULD_BUILD}" == "yes" ]]; then
@@ -25,7 +30,7 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then
if [[ "${OS_NAME}" == "osx" ]]; then
yarn gulp "vscode-darwin-${VSCODE_ARCH}-min-ci"
find "../VSCode-darwin-${VSCODE_ARCH}" -exec touch {} \;
find "../VSCode-darwin-${VSCODE_ARCH}" -print0 | xargs -0 touch -c
VSCODE_PLATFORM="darwin"
elif [[ "${OS_NAME}" == "windows" ]]; then
@@ -38,10 +43,12 @@ if [[ "${SHOULD_BUILD}" == "yes" ]]; then
fi
VSCODE_PLATFORM="win32"
elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then # linux-ppc64le
VSCODE_PLATFORM="linux"
else # linux
yarn gulp "vscode-linux-${VSCODE_ARCH}-min-ci"
find "../VSCode-linux-${VSCODE_ARCH}" -exec touch {} \;
find "../VSCode-linux-${VSCODE_ARCH}" -print0 | xargs -0 touch -c
VSCODE_PLATFORM="linux"
fi

View File

@@ -1,4 +1,5 @@
#!/bin/bash
#!/usr/bin/env bash
# shellcheck disable=SC1091,SC2129
### Windows
# to run with Bash: "C:\Program Files\Git\bin\bash.exe" ./build/build.sh
@@ -7,12 +8,13 @@
export APP_NAME="VSCodium"
export CI_BUILD="no"
export SHOULD_BUILD="yes"
export SKIP_BUILD="no"
export SKIP_ASSETS="yes"
export SKIP_BUILD="no"
export SKIP_SOURCE="no"
export VSCODE_LATEST="no"
export VSCODE_QUALITY="stable"
while getopts ":ilop" opt; do
while getopts ":ilops" opt; do
case "$opt" in
i)
export VSCODE_QUALITY="insider"
@@ -26,6 +28,11 @@ while getopts ":ilop" opt; do
p)
export SKIP_ASSETS="no"
;;
s)
export SKIP_SOURCE="yes"
;;
*)
;;
esac
done
@@ -45,34 +52,36 @@ UNAME_ARCH=$( uname -m )
if [[ "${UNAME_ARCH}" == "arm64" ]]; then
export VSCODE_ARCH="arm64"
elif [[ "${UNAME_ARCH}" == "ppc64le" ]]; then
export VSCODE_ARCH="ppc64le"
else
export VSCODE_ARCH="x64"
fi
echo "OS_NAME=\"${OS_NAME}\""
echo "SKIP_SOURCE=\"${SKIP_SOURCE}\""
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
if [[ "${SKIP_SOURCE}" == "no" ]]; then
rm -rf vscode* VSCode*
. get_repo.sh
. version.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
if [[ "${SKIP_ASSETS}" != "no" ]]; then
rm -rf VSCode*
fi
. build.env
echo "MS_TAG=\"${MS_TAG}\""
@@ -81,6 +90,24 @@ else
echo "BUILD_SOURCEVERSION=\"${BUILD_SOURCEVERSION}\""
fi
if [[ "${SKIP_BUILD}" == "no" ]]; then
if [[ "${SKIP_SOURCE}" != "no" ]]; then
cd vscode || { echo "'vscode' dir not found"; exit 1; }
git add .
git reset -q --hard HEAD
cd ..
fi
. build.sh
if [[ "${VSCODE_QUALITY}" == "insider" && "${VSCODE_LATEST}" == "yes" ]]; then
jsonTmp=$( jq --arg 'tag' "${MS_TAG/\-insider/}" --arg 'commit' "${MS_COMMIT}" '. "insider.json" | .tag=$tag | .commit=$commit' )
echo "${jsonTmp}" > "insider.json" && unset jsonTmp
fi
fi
if [[ "${SKIP_ASSETS}" == "no" ]]; then
if [[ "${OS_NAME}" == "windows" ]]; then
rm -rf build/windows/msi/releasedir

View File

@@ -1,6 +1,7 @@
#!/bin/bash
#!/usr/bin/env bash
# shellcheck disable=SC1091
exists() { type -t "$1" > /dev/null 2>&1; }
exists() { type -t "$1" &> /dev/null; }
export APP_NAME="VSCodium"
export CI_BUILD="no"
@@ -19,7 +20,9 @@ while getopts ":ilp" opt; do
export VSCODE_LATEST="yes"
;;
p)
export SKIP_ASSETS="no"
export SKIP_ASSETS="no"
;;
*)
;;
esac
done

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
set -ex
@@ -15,11 +15,11 @@ if [[ "${VSCODE_ARCH}" == "x64" ]]; then
exit 1
fi
wget -c "${APPIMAGE_URL}"
wget -c "${APPIMAGE_URL}" -O pkg2appimage.AppImage
chmod +x ./pkg2appimage-*.AppImage
chmod +x ./pkg2appimage.AppImage
./pkg2appimage-*.AppImage --appimage-extract && mv ./squashfs-root ./pkg2appimage.AppDir
./pkg2appimage.AppImage --appimage-extract && mv ./squashfs-root ./pkg2appimage.AppDir
# add update's url
sed -i 's/generate_type2_appimage/generate_type2_appimage -u "gh-releases-zsync|VSCodium|vscodium|latest|*.AppImage.zsync"/' pkg2appimage.AppDir/AppRun

View File

@@ -1,23 +1,25 @@
#!/bin/bash
#!/usr/bin/env bash
set -e
export VSCODE_QUALITY="stable"
while getopts ":ilp" opt; do
while getopts ":i" 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/'`
URL=$( curl -s "https://update.code.visualstudio.com/api/update/win32-x64-archive/${VSCODE_QUALITY}/0000000000000000000000000000000000000000" | jq -c '.url' | sed -E 's/.*"([^"]+)".*/\1/' )
# echo "url: ${URL}"
FILE=`echo "${URL}" | sed -E 's|.*/([^/]+\.zip)$|\1|'`
FILE="${URL##*/}"
# echo "file: ${FILE}"
DIRECTORY=`echo "${URL}" | sed -E 's|.*/([^/]+)\.zip$|\1|'`
DIRECTORY="${FILE%.zip}"
# echo "directory: ${DIRECTORY}"
if [[ ! -f "${FILE}" ]]; then
@@ -28,6 +30,9 @@ if [[ ! -d "${DIRECTORY}" ]]; then
unzip "${FILE}" -d "${DIRECTORY}"
fi
APIS=`cat ${DIRECTORY}/resources/app/product.json | jq -r '.extensionEnabledApiProposals'`
APIS=$( jq -r '.extensionEnabledApiProposals' "${DIRECTORY}/resources/app/product.json" )
cat <<< $(jq --argjson v "${APIS}" 'setpath(["extensionEnabledApiProposals"]; $v)' product.json) > product.json
APIS=$( echo "${APIS}" | jq '. += {"jeanp413.open-remote-ssh": ["resolvers", "tunnels", "terminalDataWriteEvent", "contribRemoteHelp", "contribViewsRemote"]}' )
jsonTmp=$( jq --argjson v "${APIS}" 'setpath(["extensionEnabledApiProposals"]; $v)' product.json )
echo "${jsonTmp}" > product.json && unset jsonTmp

View File

@@ -1,21 +1,60 @@
#!/bin/bash
#!/usr/bin/env bash
export VSCODE_QUALITY="stable"
while getopts ":i" opt; do
case "$opt" in
i)
export VSCODE_QUALITY="insider"
;;
*)
;;
esac
done
cd vscode || { echo "'vscode' dir not found"; exit 1; }
git add .
git reset -q --hard HEAD
for file in ../patches/*.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}"
git apply --reject "${file}"
read -p "Press any key when the conflict have been resolved..." -n1 -s
git diff -U1 > "${file}"
for FILE in ../patches/*.patch; do
if [[ -f "${FILE}" ]]; then
echo applying patch: "${FILE}"
if ! git apply --ignore-whitespace "${FILE}"; then
echo failed to apply patch "${FILE}"
git apply --reject "${FILE}"
git apply --reject "../patches/helper/settings.patch"
read -rp "Press any key when the conflict have been resolved..." -n1 -s
git restore .vscode/settings.json
git add .
git diff --staged -U1 > "${FILE}"
fi
git add .
git reset -q --hard HEAD
fi
done
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
for FILE in ../patches/insider/*.patch; do
if [[ -f "${FILE}" ]]; then
echo applying patch: "${FILE}"
if ! git apply --ignore-whitespace "${FILE}"; then
echo failed to apply patch "${FILE}"
git apply --reject "${FILE}"
git apply --reject "../patches/helper/settings.patch"
read -rp "Press any key when the conflict have been resolved..." -n1 -s
git restore .vscode/settings.json
git add .
git diff --staged -U1 > "${FILE}"
fi
git add .
git reset -q --hard HEAD
fi
done
fi

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
set -ex
@@ -10,9 +10,8 @@ SCRIPT_DIR=$( pwd )
cd "../../../VSCode-win32-${VSCODE_ARCH}/resources/app"
cp product.json product.json.bak
cat product.json.bak | jq "del(.updateUrl)" > product.json
rm -f product.json.bak
jsonTmp=$( jq "del(.updateUrl)" product.json )
echo "${jsonTmp}" > product.json && unset jsonTmp
cd "${SCRIPT_DIR}"

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
set -ex
@@ -11,14 +11,12 @@ WIN_SDK_FULL_VERSION="10.0.17763.0"
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"
@@ -51,7 +49,7 @@ 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" {} \;
find i18n -name '*.wxl' -print0 | xargs -0 sed -i "s|@@PRODUCT_NAME@@|${PRODUCT_NAME}|g"
BuildSetupTranslationTransform() {
local CULTURE=${1}

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

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

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
cd "$( dirname "${BASH_SOURCE[0]}" )"/../../../vscode || { echo "'vscode' dir not found"; exit 1; }

View File

@@ -1,4 +1,5 @@
#!/bin/bash
#!/usr/bin/env bash
# shellcheck disable=SC2129
set -e
@@ -22,9 +23,9 @@ else
export SHOULD_DEPLOY="yes"
fi
if [[ "${GITHUB_ENV}" ]]; then
if [[ "${GITHUB_ENV}" ]]; then
echo "GITHUB_BRANCH=${GITHUB_BRANCH}" >> "${GITHUB_ENV}"
echo "SHOULD_BUILD=${SHOULD_BUILD}" >> "${GITHUB_ENV}"
echo "SHOULD_DEPLOY=${SHOULD_DEPLOY}" >> "${GITHUB_ENV}"
echo "SHOULD_BUILD=${SHOULD_BUILD}" >> "${GITHUB_ENV}"
echo "SHOULD_DEPLOY=${SHOULD_DEPLOY}" >> "${GITHUB_ENV}"
echo "VSCODE_QUALITY=${VSCODE_QUALITY}" >> "${GITHUB_ENV}"
fi

View File

@@ -1,18 +1,19 @@
#!/bin/bash
#!/usr/bin/env bash
# shellcheck disable=SC2129
set -e
if [[ -z "${GITHUB_TOKEN}" ]]; then
echo "Will not build because no GITHUB_TOKEN defined"
exit
exit 0
fi
APP_NAME_LC=$( echo "${APP_NAME}" | awk '{print tolower($0)}' )
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
if [[ "${MS_TAG}" != "${BASH_REMATCH[1]}" ]]; then
echo "New VSCode version, new build"
export SHOULD_BUILD="yes"
elif [[ "${NEW_RELEASE}" == "true" ]]; then
@@ -22,7 +23,7 @@ if [[ "${LATEST_VERSION}" =~ ^([0-9]+\.[0-9]+\.[0-9]+) ]]; then
BODY=$( echo "${GITHUB_RESPONSE}" | jq -c -r '.body' )
if [[ "${BODY}" =~ \[([a-z0-9]+)\] ]]; then
if [ "${MS_COMMIT}" != "${BASH_REMATCH[1]}" ]; then
if [[ "${MS_COMMIT}" != "${BASH_REMATCH[1]}" ]]; then
echo "New VSCode Insiders version, new build"
export SHOULD_BUILD="yes"
fi
@@ -46,7 +47,7 @@ contains() {
echo "${ASSETS}" | grep "${1}\""
}
if [ "${ASSETS}" != "null" ]; then
if [[ "${ASSETS}" != "null" ]]; then
# macos
if [[ "${OS_NAME}" == "osx" ]]; then
if [[ "${VSCODE_ARCH}" == "arm64" ]]; then
@@ -282,6 +283,24 @@ if [ "${ASSETS}" != "null" ]; then
echo "Already have all the Linux arm builds"
fi
# linux-ppc64le
elif [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
SHOULD_BUILD_DEB="no"
SHOULD_BUILD_APPIMAGE="no"
SHOULD_BUILD_RPM="no"
SHOULD_BUILD_TAR="no"
if [[ -z $( contains "${APP_NAME_LC}-reh-linux-ppc64le-${RELEASE_VERSION}.tar.gz" ) ]]; then
echo "Building on Linux PowerPC64LE because we have no REH archive"
export SHOULD_BUILD="yes"
else
export SHOULD_BUILD_REH="no"
fi
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
echo "Already have all the Linux PowerPC64LE builds"
fi
# linux-x64
else
if [[ -z $( contains "amd64.deb" ) ]]; then
@@ -326,7 +345,12 @@ if [ "${ASSETS}" != "null" ]; then
fi
else
if [[ "${OS_NAME}" == "linux" ]]; then
if [[ "${VSCODE_ARCH}" != "x64" ]]; then
if [[ "${VSCODE_ARCH}" == "ppc64le" ]]; then
SHOULD_BUILD_DEB="no"
SHOULD_BUILD_APPIMAGE="no"
SHOULD_BUILD_RPM="no"
SHOULD_BUILD_TAR="no"
elif [[ "${VSCODE_ARCH}" != "x64" ]]; then
export SHOULD_BUILD_APPIMAGE="no"
fi
elif [[ "${OS_NAME}" == "osx" ]]; then
@@ -343,6 +367,7 @@ else
export SHOULD_BUILD="yes"
fi
echo "SHOULD_BUILD=${SHOULD_BUILD}" >> "${GITHUB_ENV}"
echo "SHOULD_BUILD_APPIMAGE=${SHOULD_BUILD_APPIMAGE}" >> "${GITHUB_ENV}"
echo "SHOULD_BUILD_DEB=${SHOULD_BUILD_DEB}" >> "${GITHUB_ENV}"

View File

@@ -38,6 +38,10 @@
- imagemagick (for AppImage)
### <a id="dependencies-macos"></a>MacOS
- imagemagick
- png2icns (`npm install png2icns -g`)
- librsvg
### <a id="dependencies-windows"></a>Windows

View File

@@ -1,4 +1,5 @@
#!/bin/bash
#!/usr/bin/env bash
# shellcheck disable=SC2129
set -e
@@ -10,30 +11,30 @@ 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 )
UPDATE_INFO=$( curl --silent --fail https://update.code.visualstudio.com/api/update/darwin/insider/0000000000000000000000000000000000000000 )
else
export MS_COMMIT=$(jq -r '.commit' insider.json)
export MS_TAG=$(jq -r '.tag' insider.json)
MS_COMMIT=$( jq -r '.commit' insider.json )
MS_TAG=$( jq -r '.tag' insider.json )
fi
else
UPDATE_INFO=$( curl --silent https://update.code.visualstudio.com/api/update/darwin/stable/lol )
UPDATE_INFO=$( curl --silent --fail https://update.code.visualstudio.com/api/update/darwin/stable/0000000000000000000000000000000000000000 )
fi
if [[ -z "${MS_COMMIT}" ]]; then
export MS_COMMIT=$( echo "${UPDATE_INFO}" | jq -r '.version' )
export MS_TAG=$( echo "${UPDATE_INFO}" | jq -r '.name' )
MS_COMMIT=$( echo "${UPDATE_INFO}" | jq -r '.version' )
MS_TAG=$( echo "${UPDATE_INFO}" | jq -r '.name' )
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
export MS_TAG="${MS_TAG/\-insider/}"
MS_TAG="${MS_TAG/\-insider/}"
fi
fi
date=$( date +%Y%j )
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
export RELEASE_VERSION="${MS_TAG}.${date: -5}-insider"
RELEASE_VERSION="${MS_TAG}.${date: -5}-insider"
else
export RELEASE_VERSION="${MS_TAG}.${date: -5}"
RELEASE_VERSION="${MS_TAG}.${date: -5}"
fi
else
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
@@ -41,14 +42,14 @@ else
then
MS_TAG="${BASH_REMATCH[1]}"
else
echo "Bad RELEASE_VERSION: ${RELEASE_VERSION}"
echo "Error: 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)
if [[ "${MS_TAG}" == "$( jq -r '.tag' insider.json )" ]]; then
MS_COMMIT=$( jq -r '.commit' insider.json )
else
echo "No MS_COMMIT for ${RELEASE_VERSION}"
echo "Error: No MS_COMMIT for ${RELEASE_VERSION}"
exit 1
fi
else
@@ -56,7 +57,7 @@ else
then
MS_TAG="${BASH_REMATCH[1]}"
else
echo "Bad RELEASE_VERSION: ${RELEASE_VERSION}"
echo "Error: Bad RELEASE_VERSION: ${RELEASE_VERSION}"
exit 1
fi
fi
@@ -73,23 +74,23 @@ git remote add origin https://github.com/Microsoft/vscode.git
# figure out latest tag by calling MS update API
if [[ -z "${MS_TAG}" ]]; then
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
UPDATE_INFO=$( curl --silent https://update.code.visualstudio.com/api/update/darwin/insider/lol )
UPDATE_INFO=$( curl --silent --fail https://update.code.visualstudio.com/api/update/darwin/insider/0000000000000000000000000000000000000000 )
else
UPDATE_INFO=$( curl --silent https://update.code.visualstudio.com/api/update/darwin/stable/lol )
UPDATE_INFO=$( curl --silent --fail https://update.code.visualstudio.com/api/update/darwin/stable/0000000000000000000000000000000000000000 )
fi
export MS_COMMIT=$( echo "${UPDATE_INFO}" | jq -r '.version' )
export MS_TAG=$( echo "${UPDATE_INFO}" | jq -r '.name' )
MS_COMMIT=$( echo "${UPDATE_INFO}" | jq -r '.version' )
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
echo "The following tag can't be found: ${MS_TAG}"
echo "Error: The following tag can't be found: ${MS_TAG}"
exit 1
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]}"
MS_COMMIT="${BASH_REMATCH[1]}"
MS_TAG="${BASH_REMATCH[2]}"
else
echo "The following reference can't be parsed: ${REFERENCE}"
echo "Error: The following reference can't be parsed: ${REFERENCE}"
exit 1
fi
fi
@@ -108,3 +109,7 @@ if [[ "${GITHUB_ENV}" ]]; then
echo "MS_COMMIT=${MS_COMMIT}" >> "${GITHUB_ENV}"
echo "RELEASE_VERSION=${RELEASE_VERSION}" >> "${GITHUB_ENV}"
fi
export MS_TAG
export MS_COMMIT
export RELEASE_VERSION

9
icons/README.md Normal file
View File

@@ -0,0 +1,9 @@
## Files
| filename | color | width | border |
| ------------------------- | ------ | ----- | ------ |
| `codium_clt.svg` | light | | |
| `codium_cnl.svg` | normal | | |
| `codium_cnl_w80_b8.svg` | normal | 80% | 8pt |
| `codium_cnl_w100_b05.svg` | normal | 100% | 0.5pt |

View File

@@ -1,4 +1,5 @@
#!/usr/bin/env bash
# shellcheck disable=SC1091
set -e
@@ -6,42 +7,61 @@ set -e
# set -o xtrace
QUALITY="stable"
COLOR="blue1"
while getopts ":i" opt; do
case "$opt" in
i)
export QUALITY="insider"
export COLOR="orange1"
;;
*)
;;
esac
done
check_programs() {
for arg in "$@"
do
if ! command -v "${arg}" >/dev/null 2>&1
then
check_programs() { # {{{
for arg in "$@"; do
if ! command -v "${arg}" &> /dev/null; then
echo "${arg} could not be found"
exit
exit 0
fi
done
}
} # }}}
check_programs "icns2png" "composite" "convert" "png2icns" "icotool"
check_programs "icns2png" "composite" "convert" "png2icns" "icotool" "rsvg-convert" "sed"
. ./utils.sh
SRC_PREFIX=""
VSCODE_PREFIX=""
build_darwin_types() {
for file in "${VSCODE_PREFIX}"vscode/resources/darwin/*
do
if [ -f "${file}" ]; then
build_darwin_main() { # {{{
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/darwin/code.icns" ]]; then
rsvg-convert -w 655 -h 655 "icons/${QUALITY}/codium_cnl.svg" -o "code_logo.png"
composite "code_logo.png" -gravity center "icons/template_macos.png" "code_1024.png"
convert "code_1024.png" -resize 512x512 code_512.png
convert "code_1024.png" -resize 256x256 code_256.png
convert "code_1024.png" -resize 128x128 code_128.png
png2icns "${SRC_PREFIX}src/${QUALITY}/resources/darwin/code.icns" code_512.png code_256.png code_128.png
rm code_1024.png code_512.png code_256.png code_128.png code_logo.png
fi
} # }}}
build_darwin_types() { # {{{
rsvg-convert -w 128 -h 128 "icons/${QUALITY}/codium_cnl_w80_b8.svg" -o "code_logo.png"
for file in "${VSCODE_PREFIX}"vscode/resources/darwin/*; do
if [[ -f "${file}" ]]; then
name=$(basename "${file}" '.icns')
if [[ ${name} != 'code' ]] && [ ! -f "${SRC_PREFIX}src/${QUALITY}/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/${QUALITY}/code_darwin.png" "${name}.png" "${name}.png"
composite -geometry +359+374 "code_logo.png" "${name}.png" "${name}.png"
convert "${name}.png" -resize 256x256 "${name}_256.png"
@@ -51,113 +71,107 @@ build_darwin_types() {
fi
fi
done
}
build_darwin_main() {
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
rm "code_logo.png"
} # }}}
png2icns "${SRC_PREFIX}src/${QUALITY}/resources/darwin/code.icns" code_512.png code_256.png code_128.png
build_linux_main() { # {{{
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" ]]; then
wget "https://raw.githubusercontent.com/VSCodium/icons/main/icons/linux/circle1/${COLOR}/paulo22s.png" -O "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png"
fi
rm code_512.png code_256.png code_128.png
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/linux/rpm"
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/linux/rpm/code.xpm" ]]; then
convert "${SRC_PREFIX}src/${QUALITY}/resources/linux/code.png" "${SRC_PREFIX}src/${QUALITY}/resources/linux/rpm/code.xpm"
fi
} # }}}
build_media() { # {{{
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/src/vs/workbench/browser/media/code-icon.svg" ]]; then
cp "icons/${QUALITY}/codium_clt.svg" "${SRC_PREFIX}src/${QUALITY}/src/vs/workbench/browser/media/code-icon.svg"
gsed -i 's|width="100" height="100"|width="1024" height="1024"|' "${SRC_PREFIX}src/${QUALITY}/src/vs/workbench/browser/media/code-icon.svg"
fi
} # }}}
build_windows_main() { # {{{
if [[ ! -f "${SRC_PREFIX}src/${QUALITY}/resources/win32/code.ico" ]]; then
wget "https://raw.githubusercontent.com/VSCodium/icons/main/icons/win32/nobg/${COLOR}/paulo22s.ico" -O "${SRC_PREFIX}src/${QUALITY}/resources/win32/code.ico"
fi
} # }}}
build_windows_type() {
local FILE_PATH IMG_SIZE IMG_BG_COLOR LOGO_SIZE GRAVITY
FILE_PATH="$1"
IMG_SIZE="$2"
IMG_BG_COLOR="$3"
LOGO_SIZE="$4"
GRAVITY="$5"
if [[ ! -f "${FILE_PATH}" ]]; then
if [[ "${FILE_PATH##*.}" == "png" ]]; then
convert -size "${IMG_SIZE}" "${IMG_BG_COLOR}" PNG32:"${FILE_PATH}"
else
convert -size "${IMG_SIZE}" "${IMG_BG_COLOR}" "${FILE_PATH}"
fi
rsvg-convert -w "${LOGO_SIZE}" -h "${LOGO_SIZE}" "icons/${QUALITY}/codium_cnl.svg" -o "code_logo.png"
composite -gravity "${GRAVITY}" "code_logo.png" "${FILE_PATH}" "${FILE_PATH}"
fi
}
build_win32() {
build_windows_types() { # {{{
mkdir -p "${SRC_PREFIX}src/${QUALITY}/resources/win32"
for file in "${VSCODE_PREFIX}"vscode/resources/win32/*.ico
do
if [ -f "${file}" ]; then
rsvg-convert -b "#F5F6F7" -w 64 -h 64 "icons/${QUALITY}/codium_cnl.svg" -o "code_logo.png"
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/${QUALITY}/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/${QUALITY}/code_64.png" "${name}_1_256x256x32.png" "${name}.png"
composite -geometry +150+185 "code_logo.png" "${name}_9_256x256x32.png" "${name}.png"
convert "${name}.png" -define icon:auto-resize=256,128,96,64,48,32,24,20,16 "${SRC_PREFIX}src/${QUALITY}/resources/win32/${name}.ico"
rm "${name}_1_256x256x32.png" "${name}.png"
rm "${name}_9_256x256x32.png" "${name}.png"
fi
fi
done
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
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/code_70x70.png" "70x70" "canvas:transparent" "45" "center"
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/code_150x150.png" "150x150" "canvas:transparent" "64" "+44+25"
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-100.bmp" "164x314" "xc:white" "126" "center"
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-125.bmp" "192x386" "xc:white" "147" "center"
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-150.bmp" "246x459" "xc:white" "190" "center"
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-175.bmp" "273x556" "xc:white" "211" "center"
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-200.bmp" "328x604" "xc:white" "255" "center"
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-225.bmp" "355x700" "xc:white" "273" "center"
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-big-250.bmp" "410x797" "xc:white" "317" "center"
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-100.bmp" "55x55" "xc:white" "44" "center"
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-125.bmp" "64x68" "xc:white" "52" "center"
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-150.bmp" "83x80" "xc:white" "63" "center"
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-175.bmp" "92x97" "xc:white" "76" "center"
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-200.bmp" "110x106" "xc:white" "86" "center"
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-225.bmp" "119x123" "xc:white" "103" "center"
build_windows_type "${SRC_PREFIX}src/${QUALITY}/resources/win32/inno-small-250.bmp" "138x140" "xc:white" "116" "center"
build_windows_type "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-banner.bmp" "493x58" "xc:white" "50" "+438+6"
build_windows_type "${SRC_PREFIX}build/windows/msi/resources/${QUALITY}/wix-dialog.bmp" "493x312" "xc:white" "120" "+22+152"
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/${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/${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/${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/${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/${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/${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
rm code_logo.png
} # }}}
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/${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/${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/${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/${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/${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/${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/${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/${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
}
if [[ "${0}" == "${BASH_SOURCE[0]}" ]]; then
build_darwin_main
build_linux_main
build_windows_main
if [ "${0}" == "${BASH_SOURCE}" ];
then
build_darwin_types
build_win32
build_windows_types
build_media
fi

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

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="199.997" y1="214.302" x2="296.665" y2="307.573" gradientTransform="matrix(1, 0, 0, 1, -200, -213)">
<stop offset="0" stop-color="#FFB062"/>
<stop offset="1" stop-color="#E04F00"/>
</linearGradient>
</defs>
<g id="Layer_1">
<path d="M48.26,2.274 C45.406,4.105 44.583,7.898 46.422,10.742 C56.531,26.397 58.917,38.205 57.882,48.553 C53.698,68.369 44.603,72.389 36.655,72.389 C28.895,72.389 30.973,59.618 36.806,55.88 C40.288,53.706 44.748,52.293 48.171,52.293 C51.563,52.293 54.313,49.552 54.313,46.17 C54.313,42.787 51.563,40.046 48.171,40.046 C44.173,40.046 40.251,40.886 36.59,42.316 C37.338,38.787 37.614,34.973 36.647,30.919 C35.179,24.763 30.953,18.883 23.615,13.183 C22.33,12.183 20.7,11.734 19.083,11.934 C17.466,12.134 15.995,12.966 14.994,14.248 C12.912,16.918 13.394,20.766 16.072,22.843 C22.05,27.486 24.024,30.923 24.699,33.752 C25.374,36.581 24.831,39.616 23.475,43.786 C21.742,49.406 19.73,54.423 18.848,59.234 C18.414,61.602 18.377,64.179 18.265,66.238 C13.96,62.042 12.275,56.502 12.275,48.407 C12.274,45.025 9.524,42.283 6.133,42.284 C2.744,42.287 -0.002,45.027 -0.003,48.407 C-0.003,59.463 3.23,69.983 11.895,77.001 C19.739,84.474 39.686,81.712 39.686,93.709 C39.686,97.095 44.642,98.743 48.033,98.743 C51.511,98.743 55.888,96.418 55.888,93.709 C55.888,80.097 70.233,71.824 93.848,71.86 C97.24,71.865 99.992,69.126 99.997,65.744 C100.003,62.361 97.259,59.614 93.867,59.608 C92.252,59.606 90.678,59.661 89.126,59.753 C91.766,53.544 92.937,46.708 92.695,39.324 C92.583,35.943 89.745,33.293 86.356,33.403 C82.963,33.513 80.305,36.346 80.416,39.729 C80.736,49.397 80.374,58.03 73.171,62.581 C71.123,63.874 68.742,64.996 66.484,64.996 C68.237,60.228 69.561,55.195 70.103,49.77 C70.449,46.308 70.486,42.195 70.091,39 C69.478,34.05 68.738,28.436 70.617,24.207 C72.305,20.565 76.087,19.04 81.64,19.04 C85.029,19.037 87.775,16.296 87.776,12.917 C87.778,9.534 85.031,6.79 81.64,6.787 C73.388,6.787 67.133,11.13 63.587,16.377 C61.733,12.417 59.475,8.336 56.747,4.112 C55.866,2.747 54.478,1.788 52.887,1.443 C52.099,1.272 51.285,1.257 50.491,1.399 C49.697,1.542 48.939,1.839 48.26,2.274 z" fill="url(#Gradient_1)" id="path6008"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 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="199.997" y1="214.302" x2="296.665" y2="307.573" gradientTransform="matrix(1, 0, 0, 1, -200, -213)">
<stop offset="0" stop-color="#FFA348"/>
<stop offset="1" stop-color="#C64600"/>
</linearGradient>
</defs>
<g id="Layer_1">
<path d="M48.26,2.274 C45.406,4.105 44.583,7.898 46.422,10.742 C56.531,26.397 58.917,38.205 57.882,48.553 C53.698,68.369 44.603,72.389 36.655,72.389 C28.895,72.389 30.973,59.618 36.806,55.88 C40.288,53.706 44.748,52.293 48.171,52.293 C51.563,52.293 54.313,49.552 54.313,46.17 C54.313,42.787 51.563,40.046 48.171,40.046 C44.173,40.046 40.251,40.886 36.59,42.316 C37.338,38.787 37.614,34.973 36.647,30.919 C35.179,24.763 30.953,18.883 23.615,13.183 C22.33,12.183 20.7,11.734 19.083,11.934 C17.466,12.134 15.995,12.966 14.994,14.248 C12.912,16.918 13.394,20.766 16.072,22.843 C22.05,27.486 24.024,30.923 24.699,33.752 C25.374,36.581 24.831,39.616 23.475,43.786 C21.742,49.406 19.73,54.423 18.848,59.234 C18.414,61.602 18.377,64.179 18.265,66.238 C13.96,62.042 12.275,56.502 12.275,48.407 C12.274,45.025 9.524,42.283 6.133,42.284 C2.744,42.287 -0.002,45.027 -0.003,48.407 C-0.003,59.463 3.23,69.983 11.895,77.001 C19.739,84.474 39.686,81.712 39.686,93.709 C39.686,97.095 44.642,98.743 48.033,98.743 C51.511,98.743 55.888,96.418 55.888,93.709 C55.888,80.097 70.233,71.824 93.848,71.86 C97.24,71.865 99.992,69.126 99.997,65.744 C100.003,62.361 97.259,59.614 93.867,59.608 C92.252,59.606 90.678,59.661 89.126,59.753 C91.766,53.544 92.937,46.708 92.695,39.324 C92.583,35.943 89.745,33.293 86.356,33.403 C82.963,33.513 80.305,36.346 80.416,39.729 C80.736,49.397 80.374,58.03 73.171,62.581 C71.123,63.874 68.742,64.996 66.484,64.996 C68.237,60.228 69.561,55.195 70.103,49.77 C70.449,46.308 70.486,42.195 70.091,39 C69.478,34.05 68.738,28.436 70.617,24.207 C72.305,20.565 76.087,19.04 81.64,19.04 C85.029,19.037 87.775,16.296 87.776,12.917 C87.778,9.534 85.031,6.79 81.64,6.787 C73.388,6.787 67.133,11.13 63.587,16.377 C61.733,12.417 59.475,8.336 56.747,4.112 C55.866,2.747 54.478,1.788 52.887,1.443 C52.099,1.272 51.285,1.257 50.491,1.399 C49.697,1.542 48.939,1.839 48.26,2.274 z" fill="url(#Gradient_1)" id="path6008"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,16 @@
<?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="209.998" y1="224.042" x2="287.332" y2="298.658" gradientTransform="matrix(1, 0, 0, 1, -200, -213)">
<stop offset="0" stop-color="#FFA348"/>
<stop offset="1" stop-color="#C64600"/>
</linearGradient>
</defs>
<g id="Layer_1">
<g id="path6008">
<path d="M48.608,11.819 C46.325,13.284 45.666,16.318 47.138,18.594 C55.225,31.118 57.134,40.564 56.306,48.842 C52.958,64.695 45.682,67.911 39.324,67.911 C33.116,67.911 34.778,57.694 39.445,54.704 C42.23,52.965 45.798,51.834 48.537,51.834 C51.25,51.834 53.45,49.642 53.45,46.936 C53.45,44.23 51.25,42.037 48.537,42.037 C45.338,42.037 42.201,42.709 39.272,43.853 C39.87,41.03 40.091,37.978 39.318,34.735 C38.143,29.81 34.762,25.106 28.892,20.546 C27.864,19.746 26.56,19.387 25.266,19.547 C23.973,19.707 22.796,20.373 21.995,21.398 C20.33,23.534 20.715,26.613 22.858,28.274 C27.64,31.989 29.219,34.738 29.759,37.002 C30.299,39.265 29.865,41.693 28.78,45.029 C27.394,49.525 25.784,53.538 25.078,57.387 C24.731,59.282 24.702,61.343 24.612,62.99 C21.168,59.634 19.82,55.202 19.82,48.726 C19.819,46.02 17.619,43.826 14.906,43.827 C12.195,43.83 9.998,46.022 9.998,48.726 C9.998,57.57 12.584,65.986 19.516,71.601 C25.791,77.579 41.749,75.37 41.749,84.967 C41.749,87.676 45.714,88.994 48.426,88.994 C51.209,88.994 54.71,87.134 54.71,84.967 C54.71,74.078 66.186,67.459 85.078,67.488 C87.792,67.492 89.994,65.301 89.998,62.595 C90.002,59.889 87.807,57.691 85.094,57.686 C83.802,57.685 82.542,57.729 81.301,57.802 C83.413,52.835 84.35,47.366 84.156,41.459 C84.066,38.754 81.796,36.634 79.085,36.722 C76.37,36.81 74.244,39.077 74.333,41.783 C74.589,49.518 74.299,56.424 68.537,60.065 C66.898,61.099 64.994,61.997 63.187,61.997 C64.59,58.182 65.649,54.156 66.082,49.816 C66.359,47.046 66.389,43.756 66.073,41.2 C65.582,37.24 64.99,32.749 66.494,29.366 C67.844,26.452 70.87,25.232 75.312,25.232 C78.023,25.23 80.22,23.037 80.221,20.334 C80.222,17.627 78.025,15.432 75.312,15.43 C68.71,15.43 63.706,18.904 60.87,23.102 C59.386,19.934 57.58,16.669 55.398,13.29 C54.693,12.198 53.582,11.43 52.31,11.154 C51.679,11.018 51.028,11.006 50.393,11.119 C49.758,11.234 49.151,11.471 48.608,11.819 z" fill="url(#Gradient_1)"/>
<path d="M50.239,3.082 C53.179,3.136 51.93,2.991 54.005,3.336 C57.346,4.061 60.265,6.078 62.118,8.949 L63.123,10.561 C66.826,8.362 71.068,7.561 75.319,7.43 C82.445,7.436 88.225,13.21 88.221,20.336 C88.238,24.02 86.639,27.172 84.086,29.721 C88.987,31.499 91.733,36.199 92.152,41.197 C92.18,44.58 92.249,44.83 91.827,48.956 C91.745,49.763 91.546,50.554 91.405,51.353 C95.577,53.799 97.765,57.84 97.997,62.607 C97.987,69.735 92.194,75.498 85.066,75.488 C70.02,75.465 62.71,79.675 62.71,84.967 C62.71,92.511 55.258,96.994 48.426,96.994 C45.777,96.994 42.898,96.36 40.479,95.145 C36.759,93.25 34.123,89.987 33.806,85.737 C32.068,84.879 30.15,84.434 28.286,83.932 C27.813,83.807 27.57,83.743 27.327,83.678 C22.661,82.517 18.074,80.985 14.415,77.761 C5.537,70.611 2.229,59.744 1.998,48.723 C2,41.6 7.778,35.834 14.904,35.827 C17.181,35.748 18.943,36.49 20.983,37.35 C20.117,36.294 19.008,35.452 17.955,34.596 C12.316,30.222 11.298,22.107 15.69,16.475 C17.796,13.777 20.888,12.028 24.284,11.608 C27.68,11.188 31.105,12.131 33.799,14.229 C37.211,17.046 35.576,15.553 38.702,18.711 C37.495,13.28 39.864,8.25 44.288,5.086 L44.292,5.083 C45.718,4.17 47.309,3.546 48.984,3.244 L50.239,3.082 z M51.353,11.043 L50.393,11.119 C49.758,11.234 49.151,11.471 48.608,11.819 C46.325,13.284 45.666,16.318 47.138,18.594 C55.225,31.118 57.134,40.564 56.306,48.842 C52.958,64.695 45.682,67.911 39.324,67.911 C33.116,67.911 34.778,57.694 39.445,54.704 C42.23,52.965 45.798,51.834 48.537,51.834 C51.25,51.834 53.45,49.642 53.45,46.936 C53.45,44.23 51.25,42.037 48.537,42.037 C45.338,42.037 42.201,42.709 39.272,43.853 C39.87,41.03 40.091,37.978 39.318,34.735 C38.143,29.81 34.762,25.106 28.892,20.546 C27.864,19.746 26.56,19.387 25.266,19.547 C23.973,19.707 22.796,20.373 21.995,21.398 C20.33,23.534 20.715,26.613 22.858,28.274 C27.64,31.989 29.219,34.738 29.759,37.002 C30.299,39.265 29.865,41.693 28.78,45.029 C27.394,49.525 25.784,53.538 25.078,57.387 C24.731,59.282 24.702,61.343 24.612,62.99 C21.168,59.634 19.82,55.202 19.82,48.726 C19.819,46.02 17.619,43.826 14.906,43.827 C12.195,43.83 9.998,46.022 9.998,48.726 C9.998,57.57 12.584,65.986 19.516,71.601 C25.791,77.579 41.749,75.37 41.749,84.967 C41.749,87.676 45.714,88.994 48.426,88.994 C51.209,88.994 54.71,87.134 54.71,84.967 C54.71,74.078 66.186,67.459 85.078,67.488 C87.792,67.492 89.994,65.301 89.998,62.595 C90.002,59.889 87.807,57.691 85.094,57.686 C83.802,57.685 82.542,57.729 81.301,57.802 C83.413,52.835 84.35,47.366 84.156,41.459 C84.066,38.754 81.796,36.634 79.085,36.722 C76.37,36.81 74.244,39.077 74.333,41.783 C74.589,49.518 74.299,56.424 68.537,60.065 C66.898,61.099 64.994,61.997 63.187,61.997 C64.59,58.182 65.649,54.156 66.082,49.816 C66.359,47.046 66.389,43.756 66.073,41.2 C65.582,37.24 64.99,32.749 66.494,29.366 C67.844,26.452 70.87,25.232 75.312,25.232 C78.023,25.23 80.22,23.037 80.221,20.334 C80.222,17.627 78.025,15.432 75.312,15.43 C68.71,15.43 63.706,18.904 60.87,23.102 C59.386,19.934 57.58,16.669 55.398,13.29 C54.693,12.198 53.582,11.43 52.31,11.154 L51.353,11.043 z" fill="#FFFFFF"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@@ -1,13 +0,0 @@
<?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>

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 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="199.997" y1="214.302" x2="296.665" y2="307.573" gradientTransform="matrix(1, 0, 0, 1, -200, -213)">
<stop offset="0" stop-color="#78AEED"/>
<stop offset="1" stop-color="#1D6BCA"/>
</linearGradient>
</defs>
<g id="Layer_1">
<path d="M48.26,2.274 C45.406,4.105 44.583,7.898 46.422,10.742 C56.531,26.397 58.917,38.205 57.882,48.553 C53.698,68.369 44.603,72.389 36.655,72.389 C28.895,72.389 30.973,59.618 36.806,55.88 C40.288,53.706 44.748,52.293 48.171,52.293 C51.563,52.293 54.313,49.552 54.313,46.17 C54.313,42.787 51.563,40.046 48.171,40.046 C44.173,40.046 40.251,40.886 36.59,42.316 C37.338,38.787 37.614,34.973 36.647,30.919 C35.179,24.763 30.953,18.883 23.615,13.183 C22.33,12.183 20.7,11.734 19.083,11.934 C17.466,12.134 15.995,12.966 14.994,14.248 C12.912,16.918 13.394,20.766 16.072,22.843 C22.05,27.486 24.024,30.923 24.699,33.752 C25.374,36.581 24.831,39.616 23.475,43.786 C21.742,49.406 19.73,54.423 18.848,59.234 C18.414,61.602 18.377,64.179 18.265,66.238 C13.96,62.042 12.275,56.502 12.275,48.407 C12.274,45.025 9.524,42.283 6.133,42.284 C2.744,42.287 -0.002,45.027 -0.003,48.407 C-0.003,59.463 3.23,69.983 11.895,77.001 C19.739,84.474 39.686,81.712 39.686,93.709 C39.686,97.095 44.642,98.743 48.033,98.743 C51.511,98.743 55.888,96.418 55.888,93.709 C55.888,80.097 70.233,71.824 93.848,71.86 C97.24,71.865 99.992,69.126 99.997,65.744 C100.003,62.361 97.259,59.614 93.867,59.608 C92.252,59.606 90.678,59.661 89.126,59.753 C91.766,53.544 92.937,46.708 92.695,39.324 C92.583,35.943 89.745,33.293 86.356,33.403 C82.963,33.513 80.305,36.346 80.416,39.729 C80.736,49.397 80.374,58.03 73.171,62.581 C71.123,63.874 68.742,64.996 66.484,64.996 C68.237,60.228 69.561,55.195 70.103,49.77 C70.449,46.308 70.486,42.195 70.091,39 C69.478,34.05 68.738,28.436 70.617,24.207 C72.305,20.565 76.087,19.04 81.64,19.04 C85.029,19.037 87.775,16.296 87.776,12.917 C87.778,9.534 85.031,6.79 81.64,6.787 C73.388,6.787 67.133,11.13 63.587,16.377 C61.733,12.417 59.475,8.336 56.747,4.112 C55.866,2.747 54.478,1.788 52.887,1.443 C52.099,1.272 51.285,1.257 50.491,1.399 C49.697,1.542 48.939,1.839 48.26,2.274 z" fill="url(#Gradient_1)" id="path6008"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 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="199.997" y1="214.302" x2="296.665" y2="307.573" gradientTransform="matrix(1, 0, 0, 1, -200, -213)">
<stop offset="0" stop-color="#62A0EA"/>
<stop offset="1" stop-color="#1A5FB4"/>
</linearGradient>
</defs>
<g id="Layer_1">
<path d="M48.26,2.274 C45.406,4.105 44.583,7.898 46.422,10.742 C56.531,26.397 58.917,38.205 57.882,48.553 C53.698,68.369 44.603,72.389 36.655,72.389 C28.895,72.389 30.973,59.618 36.806,55.88 C40.288,53.706 44.748,52.293 48.171,52.293 C51.563,52.293 54.313,49.552 54.313,46.17 C54.313,42.787 51.563,40.046 48.171,40.046 C44.173,40.046 40.251,40.886 36.59,42.316 C37.338,38.787 37.614,34.973 36.647,30.919 C35.179,24.763 30.953,18.883 23.615,13.183 C22.33,12.183 20.7,11.734 19.083,11.934 C17.466,12.134 15.995,12.966 14.994,14.248 C12.912,16.918 13.394,20.766 16.072,22.843 C22.05,27.486 24.024,30.923 24.699,33.752 C25.374,36.581 24.831,39.616 23.475,43.786 C21.742,49.406 19.73,54.423 18.848,59.234 C18.414,61.602 18.377,64.179 18.265,66.238 C13.96,62.042 12.275,56.502 12.275,48.407 C12.274,45.025 9.524,42.283 6.133,42.284 C2.744,42.287 -0.002,45.027 -0.003,48.407 C-0.003,59.463 3.23,69.983 11.895,77.001 C19.739,84.474 39.686,81.712 39.686,93.709 C39.686,97.095 44.642,98.743 48.033,98.743 C51.511,98.743 55.888,96.418 55.888,93.709 C55.888,80.097 70.233,71.824 93.848,71.86 C97.24,71.865 99.992,69.126 99.997,65.744 C100.003,62.361 97.259,59.614 93.867,59.608 C92.252,59.606 90.678,59.661 89.126,59.753 C91.766,53.544 92.937,46.708 92.695,39.324 C92.583,35.943 89.745,33.293 86.356,33.403 C82.963,33.513 80.305,36.346 80.416,39.729 C80.736,49.397 80.374,58.03 73.171,62.581 C71.123,63.874 68.742,64.996 66.484,64.996 C68.237,60.228 69.561,55.195 70.103,49.77 C70.449,46.308 70.486,42.195 70.091,39 C69.478,34.05 68.738,28.436 70.617,24.207 C72.305,20.565 76.087,19.04 81.64,19.04 C85.029,19.037 87.775,16.296 87.776,12.917 C87.778,9.534 85.031,6.79 81.64,6.787 C73.388,6.787 67.133,11.13 63.587,16.377 C61.733,12.417 59.475,8.336 56.747,4.112 C55.866,2.747 54.478,1.788 52.887,1.443 C52.099,1.272 51.285,1.257 50.491,1.399 C49.697,1.542 48.939,1.839 48.26,2.274 z" fill="url(#Gradient_1)" id="path6008"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,16 @@
<?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="209.998" y1="224.042" x2="287.332" y2="298.658" gradientTransform="matrix(1, 0, 0, 1, -200, -213)">
<stop offset="0" stop-color="#62A0EA"/>
<stop offset="1" stop-color="#1A5FB4"/>
</linearGradient>
</defs>
<g id="Layer_1">
<g id="path6008">
<path d="M48.608,11.819 C46.325,13.284 45.666,16.318 47.138,18.594 C55.225,31.118 57.134,40.564 56.306,48.842 C52.958,64.695 45.682,67.911 39.324,67.911 C33.116,67.911 34.778,57.694 39.445,54.704 C42.23,52.965 45.798,51.834 48.537,51.834 C51.25,51.834 53.45,49.642 53.45,46.936 C53.45,44.23 51.25,42.037 48.537,42.037 C45.338,42.037 42.201,42.709 39.272,43.853 C39.87,41.03 40.091,37.978 39.318,34.735 C38.143,29.81 34.762,25.106 28.892,20.546 C27.864,19.746 26.56,19.387 25.266,19.547 C23.973,19.707 22.796,20.373 21.995,21.398 C20.33,23.534 20.715,26.613 22.858,28.274 C27.64,31.989 29.219,34.738 29.759,37.002 C30.299,39.265 29.865,41.693 28.78,45.029 C27.394,49.525 25.784,53.538 25.078,57.387 C24.731,59.282 24.702,61.343 24.612,62.99 C21.168,59.634 19.82,55.202 19.82,48.726 C19.819,46.02 17.619,43.826 14.906,43.827 C12.195,43.83 9.998,46.022 9.998,48.726 C9.998,57.57 12.584,65.986 19.516,71.601 C25.791,77.579 41.749,75.37 41.749,84.967 C41.749,87.676 45.714,88.994 48.426,88.994 C51.209,88.994 54.71,87.134 54.71,84.967 C54.71,74.078 66.186,67.459 85.078,67.488 C87.792,67.492 89.994,65.301 89.998,62.595 C90.002,59.889 87.807,57.691 85.094,57.686 C83.802,57.685 82.542,57.729 81.301,57.802 C83.413,52.835 84.35,47.366 84.156,41.459 C84.066,38.754 81.796,36.634 79.085,36.722 C76.37,36.81 74.244,39.077 74.333,41.783 C74.589,49.518 74.299,56.424 68.537,60.065 C66.898,61.099 64.994,61.997 63.187,61.997 C64.59,58.182 65.649,54.156 66.082,49.816 C66.359,47.046 66.389,43.756 66.073,41.2 C65.582,37.24 64.99,32.749 66.494,29.366 C67.844,26.452 70.87,25.232 75.312,25.232 C78.023,25.23 80.22,23.037 80.221,20.334 C80.222,17.627 78.025,15.432 75.312,15.43 C68.71,15.43 63.706,18.904 60.87,23.102 C59.386,19.934 57.58,16.669 55.398,13.29 C54.693,12.198 53.582,11.43 52.31,11.154 C51.679,11.018 51.028,11.006 50.393,11.119 C49.758,11.234 49.151,11.471 48.608,11.819 z" fill="url(#Gradient_1)"/>
<path d="M50.239,3.082 C53.179,3.136 51.93,2.991 54.005,3.336 C57.346,4.061 60.265,6.078 62.118,8.949 L63.123,10.561 C66.826,8.362 71.068,7.561 75.319,7.43 C82.445,7.436 88.225,13.21 88.221,20.336 C88.238,24.02 86.639,27.172 84.086,29.721 C88.987,31.499 91.733,36.199 92.152,41.197 C92.18,44.58 92.249,44.83 91.827,48.956 C91.745,49.763 91.546,50.554 91.405,51.353 C95.577,53.799 97.765,57.84 97.997,62.607 C97.987,69.735 92.194,75.498 85.066,75.488 C70.02,75.465 62.71,79.675 62.71,84.967 C62.71,92.511 55.258,96.994 48.426,96.994 C45.777,96.994 42.898,96.36 40.479,95.145 C36.759,93.25 34.123,89.987 33.806,85.737 C32.068,84.879 30.15,84.434 28.286,83.932 C27.813,83.807 27.57,83.743 27.327,83.678 C22.661,82.517 18.074,80.985 14.415,77.761 C5.537,70.611 2.229,59.744 1.998,48.723 C2,41.6 7.778,35.834 14.904,35.827 C17.181,35.748 18.943,36.49 20.983,37.35 C20.117,36.294 19.008,35.452 17.955,34.596 C12.316,30.222 11.298,22.107 15.69,16.475 C17.796,13.777 20.888,12.028 24.284,11.608 C27.68,11.188 31.105,12.131 33.799,14.229 C37.211,17.046 35.576,15.553 38.702,18.711 C37.495,13.28 39.864,8.25 44.288,5.086 L44.292,5.083 C45.718,4.17 47.309,3.546 48.984,3.244 L50.239,3.082 z M51.353,11.043 L50.393,11.119 C49.758,11.234 49.151,11.471 48.608,11.819 C46.325,13.284 45.666,16.318 47.138,18.594 C55.225,31.118 57.134,40.564 56.306,48.842 C52.958,64.695 45.682,67.911 39.324,67.911 C33.116,67.911 34.778,57.694 39.445,54.704 C42.23,52.965 45.798,51.834 48.537,51.834 C51.25,51.834 53.45,49.642 53.45,46.936 C53.45,44.23 51.25,42.037 48.537,42.037 C45.338,42.037 42.201,42.709 39.272,43.853 C39.87,41.03 40.091,37.978 39.318,34.735 C38.143,29.81 34.762,25.106 28.892,20.546 C27.864,19.746 26.56,19.387 25.266,19.547 C23.973,19.707 22.796,20.373 21.995,21.398 C20.33,23.534 20.715,26.613 22.858,28.274 C27.64,31.989 29.219,34.738 29.759,37.002 C30.299,39.265 29.865,41.693 28.78,45.029 C27.394,49.525 25.784,53.538 25.078,57.387 C24.731,59.282 24.702,61.343 24.612,62.99 C21.168,59.634 19.82,55.202 19.82,48.726 C19.819,46.02 17.619,43.826 14.906,43.827 C12.195,43.83 9.998,46.022 9.998,48.726 C9.998,57.57 12.584,65.986 19.516,71.601 C25.791,77.579 41.749,75.37 41.749,84.967 C41.749,87.676 45.714,88.994 48.426,88.994 C51.209,88.994 54.71,87.134 54.71,84.967 C54.71,74.078 66.186,67.459 85.078,67.488 C87.792,67.492 89.994,65.301 89.998,62.595 C90.002,59.889 87.807,57.691 85.094,57.686 C83.802,57.685 82.542,57.729 81.301,57.802 C83.413,52.835 84.35,47.366 84.156,41.459 C84.066,38.754 81.796,36.634 79.085,36.722 C76.37,36.81 74.244,39.077 74.333,41.783 C74.589,49.518 74.299,56.424 68.537,60.065 C66.898,61.099 64.994,61.997 63.187,61.997 C64.59,58.182 65.649,54.156 66.082,49.816 C66.359,47.046 66.389,43.756 66.073,41.2 C65.582,37.24 64.99,32.749 66.494,29.366 C67.844,26.452 70.87,25.232 75.312,25.232 C78.023,25.23 80.22,23.037 80.221,20.334 C80.222,17.627 78.025,15.432 75.312,15.43 C68.71,15.43 63.706,18.904 60.87,23.102 C59.386,19.934 57.58,16.669 55.398,13.29 C54.693,12.198 53.582,11.43 52.31,11.154 L51.353,11.043 z" fill="#FFFFFF"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@@ -1,13 +0,0 @@
<?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="#56CCF2"/>
<stop offset="1" stop-color="#2F80ED"/>
</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>

Before

Width:  |  Height:  |  Size: 5.1 KiB

BIN
icons/template_macos.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

@@ -1,4 +1 @@
{
"tag": "1.73.0",
"commit": "8fa188b2b301d36553cbc9ce1b0a146ccb93351f"
}

View File

@@ -1,12 +1,12 @@
#!/bin/bash
#!/usr/bin/env bash
set -e
set -ex
GH_ARCH="amd64"
VERSION=`curl "https://api.github.com/repos/cli/cli/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/' | cut -c2-`
VERSION=$( curl --retry 12 --retry-delay 30 "https://api.github.com/repos/cli/cli/releases/latest" | grep '"tag_name"' | sed -E 's/.*"([^"]+)".*/\1/' | cut -c2- )
curl -sSL "https://github.com/cli/cli/releases/download/v${VERSION}/gh_${VERSION}_linux_${GH_ARCH}.tar.gz" -o "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"
curl --retry 12 --retry-delay 120 -sSL "https://github.com/cli/cli/releases/download/v${VERSION}/gh_${VERSION}_linux_${GH_ARCH}.tar.gz" -o "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"
tar xf "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
set -e
@@ -7,3 +7,5 @@ cd vscode || { echo "'vscode' dir not found"; exit 1; }
yarn --cwd remote --frozen-lockfile --check-files
cd ..
tar -cf remote-dependencies.tar ./vscode/remote/node_modules

View File

@@ -1,6 +1,10 @@
#!/bin/bash
#!/usr/bin/env bash
FILE="../patches/${1}.patch"
if [[ "${1}" == *patch ]]; then
FILE="../patches/${1}"
else
FILE="../patches/${1}.patch"
fi
cd vscode || { echo "'vscode' dir not found"; exit 1; }
@@ -11,7 +15,11 @@ if [[ -f "${FILE}" ]]; then
git apply --reject "${FILE}"
fi
read -p "Press any key when the conflict have been resolved..." -n1 -s
git apply --reject "../patches/helper/settings.patch"
read -rp "Press any key when the conflict have been resolved..." -n1 -s
git restore .vscode/settings.json
git add .
git diff --staged -U1 > "${FILE}"

1066
patches/brand.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,78 +1,69 @@
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 3907bc7..1772769 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -88,3 +88,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
index 2a0c236..9fea722 100644
--- a/build/gulpfile.reh.js
+++ b/build/gulpfile.reh.js
@@ -245,4 +245,5 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
@@ -250,4 +250,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
@@ -256,3 +257,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
index 0ca2cfd..3fb21d5 100644
--- a/build/gulpfile.vscode.js
+++ b/build/gulpfile.vscode.js
@@ -224,3 +224,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
@@ -225,3 +225,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
@@ -233,3 +233,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
@@ -244,3 +245,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
index 90f75cc..275c958 100644
--- a/build/gulpfile.vscode.linux.js
+++ b/build/gulpfile.vscode.linux.js
@@ -24,4 +24,2 @@ const commit = util.getVersion(root);
@@ -25,4 +25,2 @@ const commit = getVersion(root);
-const linuxPackageRevision = Math.floor(new Date().getTime() / 1000);
-
/**
@@ -87,3 +85,3 @@ function prepareDebPackage(arch) {
@@ -88,3 +86,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) {
@@ -193,4 +191,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) {
@@ -267,3 +264,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
index 6e9a6f3..9d80b6b 100644
--- a/build/gulpfile.vscode.win32.js
+++ b/build/gulpfile.vscode.win32.js
@@ -93,4 +93,4 @@ function buildWin32Setup(arch, target) {
@@ -94,4 +94,4 @@ function buildWin32Setup(arch, target) {
DirName: product.win32DirName,
- Version: pkg.version,
- RawVersion: pkg.version.replace(/-\w+$/, ''),
@@ -80,7 +71,7 @@ index 81ba509..43f5377 100644
+ 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
index 06b8549..3af1f45 100644
--- a/resources/linux/rpm/code.spec.template
+++ b/resources/linux/rpm/code.spec.template
@@ -2,3 +2,3 @@ Name: @@NAME@@
@@ -89,30 +80,30 @@ index 61659d2..5cafa06 100644
+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
index ac9cd5d..87b6105 100644
--- a/src/vs/base/common/product.ts
+++ b/src/vs/base/common/product.ts
@@ -34,2 +34,3 @@ export interface IProductConfiguration {
@@ -58,2 +58,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
index 0be311f..d6c4a18 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 {
@@ -224,3 +224,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
index 51a55e1..26dfe7b 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') {
@@ -43,6 +43,7 @@ else if (globalThis._VSCODE_PRODUCT_JSON && globalThis._VSCODE_PACKAGE_JSON) {
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 };
- const pkg = globalThis._VSCODE_PACKAGE_JSON as { version: string };
+ const pkg = globalThis._VSCODE_PACKAGE_JSON as { version: string, release: string };
Object.assign(product, {
- version: pkg.version
@@ -120,19 +111,19 @@ index bceda01..4fe44e2 100644
+ 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..2ed2c03 100644
index 4b320bb..6619c75 100644
--- a/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts
+++ b/src/vs/workbench/browser/parts/dialogs/dialogHandler.ts
@@ -22,2 +22,3 @@ import { IInstantiationService } from 'vs/platform/instantiation/common/instanti
import { MarkdownRenderer } from 'vs/editor/contrib/markdownRenderer/browser/markdownRenderer';
@@ -22,2 +22,3 @@ import { defaultButtonStyles, defaultCheckboxStyles, defaultDialogStyles, defaul
import { ResultKind } from 'vs/platform/keybinding/common/keybindingResolver';
+import { getReleaseString } from 'vs/workbench/common/release';
@@ -145,2 +146,4 @@ export class BrowserDialogHandler implements IDialogHandler {
@@ -79,2 +80,4 @@ export class BrowserDialogHandler extends AbstractDialogHandler {
const detailString = (useAgo: boolean): string => {
+ const releaseString = getReleaseString();
+
return localize('aboutDetail',
@@ -151,3 +154,3 @@ export class BrowserDialogHandler implements IDialogHandler {
@@ -85,3 +88,3 @@ export class BrowserDialogHandler extends AbstractDialogHandler {
navigator.userAgent
- );
+ ).replace('\n', `\n${releaseString} ${this.productService.release || 'Unknown'}\n`);
@@ -157,28 +148,20 @@ index 0000000..2a8ea57
+export function getReleaseString(): string {
+ return LABELS[language] ?? DEFAULT_LABEL;
+}
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..2b77c1b 100644
index 575bde3..f427833 100644
--- a/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts
+++ b/src/vs/workbench/electron-sandbox/parts/dialogs/dialogHandler.ts
@@ -17,2 +17,3 @@ import { IProductService } from 'vs/platform/product/common/productService';
@@ -14,2 +14,3 @@ import { IProductService } from 'vs/platform/product/common/productService';
import { process } from 'vs/base/parts/sandbox/electron-sandbox/globals';
+import { getReleaseString } from 'vs/workbench/common/release';
@@ -166,2 +167,3 @@ export class NativeDialogHandler implements IDialogHandler {
@@ -77,2 +78,3 @@ export class NativeDialogHandler extends AbstractDialogHandler {
const osProps = await this.nativeHostService.getOSProperties();
+ const releaseString = getReleaseString();
@@ -179,3 +181,3 @@ export class NativeDialogHandler implements IDialogHandler {
process.sandboxed ? 'Yes' : 'No' // TODO@bpasero remove me once sandbox is final
@@ -89,3 +91,3 @@ export class NativeDialogHandler extends AbstractDialogHandler {
`${osProps.type} ${osProps.arch} ${osProps.release}${isLinuxSnap ? ' snap' : ''}`
- );
+ ).replace('\n', `\n${releaseString} ${this.productService.release || 'Unknown'}\n`);
};

View File

@@ -1,13 +0,0 @@
diff --git a/build/gulpfile.vscode.win32.js b/build/gulpfile.vscode.win32.js
index 81ba509..59041e2 100644
--- a/build/gulpfile.vscode.win32.js
+++ b/build/gulpfile.vscode.win32.js
@@ -137,7 +137,7 @@ defineWin32SetupTasks('arm64', 'user');
*/
function archiveWin32Setup(arch) {
return cb => {
- const args = ['a', '-tzip', zipPath(arch), '-x!CodeSignSummary*.md', '.', '-r'];
+ const args = ['a', '-tzip', zipPath(arch), '-x!CodeSignSummary*.md', '-x!tools', '.', '-r'];
cp.spawn(_7z, args, { stdio: 'inherit', cwd: buildPath(arch) })
.on('error', cb)

View File

@@ -1,55 +0,0 @@
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
index bceda01..174c766 100644
--- a/src/vs/platform/product/common/product.ts
+++ b/src/vs/platform/product/common/product.ts
@@ -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';
@@ -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';
@@ -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[]) =>
+ objects.reduce((result, current) => {
+ Object.keys(current).forEach((key) => {
+ if (Array.isArray(result[key]) && Array.isArray(current[key])) {
+ result[key] = current[key];
+ } else if (typeof result[key] === 'object' && typeof current[key] === 'object') {
+ result[key] = merge(result[key], current[key]);
+ } else {
+ result[key] = current[key];
+ }
+ });
+
+ return result;
+ }, {}) as any;
+
+ const 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);
+
+ product = merge(product, userProduct);
+ } catch (ex) {
+ }
+
// Running out of sources

View File

@@ -1,8 +1,8 @@
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
index 8c2aa42..18b0975 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({
@@ -300,2 +300,8 @@ configurationRegistry.registerConfiguration({
},
+ 'workbench.welcomePage.extraAnnouncements': {
+ scope: ConfigurationScope.MACHINE,
@@ -12,10 +12,10 @@ index 2c18fde..e1031dd 100644
+ },
'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
index 9dd5330..9e2b6a2 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 = {
@@ -117,4 +117,8 @@ type GettingStartedActionEvent = {
type RecentEntry = (IRecentFolder | IRecentWorkspace) & { id: string };
+type AnnouncementEntry = { id: string, title: string, url: string };
@@ -24,30 +24,26 @@ index 9564618..eb8adfe 100644
+const BUILTIN_ANNOUNCEMENTS: AnnouncementEntry[] = [/* BUILTIN_ANNOUNCEMENTS */];
+
export class GettingStartedPage extends EditorPane {
@@ -148,2 +152,4 @@ export class GettingStartedPage extends EditorPane {
@@ -153,2 +157,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 {
private featuredExtensionsList?: GettingStartedIndexList<IFeaturedExtension>;
@@ -774,2 +780,3 @@ export class GettingStartedPage extends EditorPane {
const gettingStartedList = this.buildGettingStartedWalkthroughsList();
+ const announcementList = await this.buildAnnouncementList();
@@ -777,3 +783,3 @@ export class GettingStartedPage extends EditorPane {
@@ -784,3 +791,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 {
- reset(rightColumn, featuredExtensionList.getDomElement(), gettingStartedList.getDomElement());
+ reset(rightColumn, featuredExtensionList.getDomElement(), gettingStartedList.getDomElement(), announcementList.getDomElement());
}
@@ -788,3 +795,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 {
- reset(rightColumn, featuredExtensionList.getDomElement());
+ reset(rightColumn, featuredExtensionList.getDomElement(), announcementList.getDomElement());
}
@@ -946,2 +953,55 @@ export class GettingStartedPage extends EditorPane {
+ private async buildAnnouncementList(): Promise<GettingStartedIndexList<AnnouncementEntry>> {
+ const renderAnnouncement = (announcement: AnnouncementEntry) => {
@@ -79,15 +75,19 @@ index 9564618..eb8adfe 100644
+
+ if (showExtras) {
+ const branch = this.productService.quality === 'insider' ? 'insider' : 'master';
+ const res = await fetch(`https://raw.githubusercontent.com/VSCodium/vscodium/${branch}/announcements-extra.json`);
+ await fetch(`https://raw.githubusercontent.com/VSCodium/vscodium/${branch}/announcements-extra.json`)
+ .then(async res => {
+ if (res.ok) {
+ var extraAnnouncements = await res.json() as AnnouncementEntry[];
+
+ if (res.ok) {
+ var extraAnnouncements = await res.json() as AnnouncementEntry[];
+
+ this.announcementData = [...extraAnnouncements, ...BUILTIN_ANNOUNCEMENTS];
+ } else {
+ this.announcementData = BUILTIN_ANNOUNCEMENTS;
+ }
+ this.announcementData = [...extraAnnouncements, ...BUILTIN_ANNOUNCEMENTS];
+ } else {
+ this.announcementData = BUILTIN_ANNOUNCEMENTS;
+ }
+ })
+ .catch(err => {
+ this.announcementData = BUILTIN_ANNOUNCEMENTS;
+ });
+ } else {
+ this.announcementData = BUILTIN_ANNOUNCEMENTS;
+ }

View File

@@ -1,14 +1,14 @@
diff --git a/build/linux/dependencies-generator.js b/build/linux/dependencies-generator.js
index af20828..f09ba66 100644
index 0ea6699..c4524de 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
// Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/108.0.5359.215: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
index c0d8112..3bb0366 100644
--- a/build/linux/dependencies-generator.ts
+++ b/build/linux/dependencies-generator.ts
@@ -23,3 +23,3 @@ import { isRpmArchString, RpmArchString } from './rpm/types';
@@ -17,10 +17,10 @@ index 34573c4..91adb8f 100644
+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
index 06b8549..a7e3dfb 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 || :
@@ -81 +81,3 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
%{_datadir}/zsh/site-functions/_%{name}
+
+%config(noreplace) /usr/share/%{name}/resources/app/product.json

View File

@@ -0,0 +1,77 @@
diff --git a/src/vs/workbench/browser/parts/banner/bannerPart.ts b/src/vs/workbench/browser/parts/banner/bannerPart.ts
index b120c94..1bb2b88 100644
--- a/src/vs/workbench/browser/parts/banner/bannerPart.ts
+++ b/src/vs/workbench/browser/parts/banner/bannerPart.ts
@@ -11,3 +11,3 @@ import { InstantiationType, registerSingleton } from 'vs/platform/instantiation/
import { IInstantiationService, ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
-import { IStorageService } from 'vs/platform/storage/common/storage';
+import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
import { IThemeService } from 'vs/platform/theme/common/themeService';
@@ -30,2 +30,3 @@ import { widgetClose } from 'vs/platform/theme/common/iconRegistry';
import { BannerFocused } from 'vs/workbench/common/contextkeys';
+import { INeverShowAgainOptions, NeverShowAgainScope } from 'vs/platform/notification/common/notification';
@@ -67,3 +68,3 @@ export class BannerPart extends Part implements IBannerService {
@IWorkbenchLayoutService layoutService: IWorkbenchLayoutService,
- @IStorageService storageService: IStorageService,
+ @IStorageService private readonly storageService: IStorageService,
@IContextKeyService private readonly contextKeyService: IContextKeyService,
@@ -187,2 +188,14 @@ export class BannerPart extends Part implements IBannerService {
+ if (item.neverShowAgain) {
+ const scope = this.toStorageScope(item.neverShowAgain);
+ const id = item.neverShowAgain.id;
+
+ // If the user already picked to not show the notification
+ // again, we return with a no-op notification here
+ if (this.storageService.getBoolean(id, scope)) {
+ this.close(item);
+ return;
+ }
+ }
+
// Clear previous item
@@ -234,2 +247,15 @@ export class BannerPart extends Part implements IBannerService {
+ private toStorageScope(options: INeverShowAgainOptions): StorageScope {
+ switch (options.scope) {
+ case NeverShowAgainScope.APPLICATION:
+ return StorageScope.APPLICATION;
+ case NeverShowAgainScope.PROFILE:
+ return StorageScope.PROFILE;
+ case NeverShowAgainScope.WORKSPACE:
+ return StorageScope.WORKSPACE;
+ default:
+ return StorageScope.APPLICATION;
+ }
+ }
+
toJSON(): object {
diff --git a/src/vs/workbench/electron-sandbox/window.ts b/src/vs/workbench/electron-sandbox/window.ts
index cf6af9d..108ce8f 100644
--- a/src/vs/workbench/electron-sandbox/window.ts
+++ b/src/vs/workbench/electron-sandbox/window.ts
@@ -725,3 +725,4 @@ export class NativeWindow extends Disposable {
actions,
- icon: Codicon.warning
+ icon: Codicon.warning,
+ neverShowAgain: { id: 'windowseol', isSecondary: true, scope: NeverShowAgainScope.APPLICATION }
});
@@ -764,3 +765,4 @@ export class NativeWindow extends Disposable {
actions,
- icon: Codicon.warning
+ icon: Codicon.warning,
+ neverShowAgain: { id: 'macoseol', isSecondary: true, scope: NeverShowAgainScope.APPLICATION }
});
diff --git a/src/vs/workbench/services/banner/browser/bannerService.ts b/src/vs/workbench/services/banner/browser/bannerService.ts
index 639b1b2..70e8847 100644
--- a/src/vs/workbench/services/banner/browser/bannerService.ts
+++ b/src/vs/workbench/services/banner/browser/bannerService.ts
@@ -10,2 +10,3 @@ import { ILinkDescriptor } from 'vs/platform/opener/browser/link';
import { ThemeIcon } from 'vs/base/common/themables';
+import { INeverShowAgainOptions } from 'vs/platform/notification/common/notification';
@@ -18,2 +19,3 @@ export interface IBannerItem {
readonly onClose?: () => void;
+ readonly neverShowAgain?: INeverShowAgainOptions;
}

View File

@@ -0,0 +1,24 @@
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 7ae8bce..724b9ad 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -9,5 +9,5 @@
"cli/target": true,
- "build/**/*.js": {
- "when": "$(basename).ts"
- }
+ // "build/**/*.js": {
+ // "when": "$(basename).ts"
+ // }
},
@@ -81,3 +81,3 @@
"gulp.autoDetect": "off",
- "files.insertFinalNewline": true,
+ // "files.insertFinalNewline": true,
"[plaintext]": {
@@ -91,4 +91,4 @@
"[javascript]": {
"editor.defaultFormatter": "vscode.typescript-language-features",
- "editor.formatOnSave": true
+ // "editor.formatOnSave": true
},

View File

@@ -0,0 +1,18 @@
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
index 2a0c236..0f10f17 100644
--- a/build/gulpfile.reh.js
+++ b/build/gulpfile.reh.js
@@ -256,3 +256,3 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
const productJsonStream = gulp.src(['product.json'], { base: '.' })
- .pipe(json({ commit, date, version, release }));
+ .pipe(json({ commit, date, version, release, serverDownloadUrlTemplate: 'https://github.com/VSCodium/vscodium-insiders/releases/download/${version}.${release}-insider/vscodium-reh-${os}-${arch}-${version}.${release}-insider.tar.gz' }));
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
index 0ca2cfd..9bf83a7 100644
--- a/build/gulpfile.vscode.js
+++ b/build/gulpfile.vscode.js
@@ -244,3 +244,3 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
const date = new Date().toISOString();
- const productJsonUpdate = { commit, date, checksums, version, release };
+ const productJsonUpdate = { commit, date, checksums, version, release, serverDownloadUrlTemplate: 'https://github.com/VSCodium/vscodium-insiders/releases/download/${version}.${release}-insider/vscodium-reh-${os}-${arch}-${version}.${release}-insider.tar.gz' };

View File

@@ -1,21 +0,0 @@
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,15 @@
diff --git a/build/gulpfile.vscode.win32.js b/build/gulpfile.vscode.win32.js
index 0d3abda..9e5143a 100644
--- a/build/gulpfile.vscode.win32.js
+++ b/build/gulpfile.vscode.win32.js
@@ -116,6 +116,6 @@ function buildWin32Setup(arch, target) {
- if (quality === 'insider') {
- definitions['AppxPackage'] = `code_insiders_explorer_${arch === 'ia32' ? 'x86' : arch}.appx`;
- definitions['AppxPackageFullname'] = `Microsoft.${product.win32RegValueName}_1.0.0.0_neutral__8wekyb3d8bbwe`;
- }
+ // if (quality === 'insider') {
+ // definitions['AppxPackage'] = `code_insiders_explorer_${arch === 'ia32' ? 'x86' : arch}.appx`;
+ // definitions['AppxPackageFullname'] = `Microsoft.${product.win32RegValueName}_1.0.0.0_neutral__8wekyb3d8bbwe`;
+ // }

View File

@@ -0,0 +1,68 @@
diff --git a/src/main.js b/src/main.js
index d986fee..1ad0ef0 100644
--- a/src/main.js
+++ b/src/main.js
@@ -18,2 +18,3 @@ perf.mark('code/didStartMain');
const path = require('path');
+const { fileURLToPath } = require('url');
const fs = require('fs');
@@ -149,2 +150,14 @@ app.once('ready', function () {
+function resolveUserProduct() {
+ const userDataPath = getUserDataPath({}, product.nameShort ?? 'code-oss-dev');
+ const userProductPath = `file:///${userDataPath}/product.json`;
+
+ try {
+ // Assign the product configuration to the global scope
+ const productPath = require(fileURLToPath(userProductPath));
+ global["_VSCODE_USER_PRODUCT_JSON"] = productPath;
+ } catch (ex) {
+ }
+}
+
/**
@@ -160,2 +173,3 @@ function startup(codeCachePath, nlsConfig) {
process.env['VSCODE_CODE_CACHE_PATH'] = codeCachePath || '';
+ resolveUserProduct();
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
index 51a55e1..e2af375 100644
--- a/src/vs/platform/product/common/product.ts
+++ b/src/vs/platform/product/common/product.ts
@@ -29,2 +29,36 @@ else if (globalThis._VSCODE_PRODUCT_JSON && globalThis._VSCODE_PACKAGE_JSON) {
+ const { serviceUrl, searchUrl, itemUrl, controlUrl } = 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,
+ }
+ });
+
+ // Merge user-customized product.json
+ try {
+ const merge = (...objects: any[]) =>
+ objects.reduce((result, current) => {
+ Object.keys(current).forEach((key) => {
+ if (Array.isArray(result[key]) && Array.isArray(current[key])) {
+ result[key] = current[key];
+ } else if (typeof result[key] === 'object' && typeof current[key] === 'object') {
+ result[key] = merge(result[key], current[key]);
+ } else {
+ result[key] = current[key];
+ }
+ });
+
+ return result;
+ }, {}) as any;
+
+ const userProduct = (globalThis as Record<string, any>)._VSCODE_USER_PRODUCT_JSON || {};
+
+ product = merge(product, userProduct);
+ } catch (ex) {
+ }
+
// Running out of sources

View File

@@ -0,0 +1,264 @@
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
index 2a0c236eaf0..be2528c5c48 100644
--- a/build/gulpfile.reh.js
+++ b/build/gulpfile.reh.js
@@ -46,6 +46,7 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'x64' },
{ platform: 'linux', arch: 'armhf' },
{ platform: 'linux', arch: 'arm64' },
+ { platform: 'linux', arch: 'ppc64le' },
{ platform: 'alpine', arch: 'arm64' },
// legacy: we use to ship only one alpine so it was put in the arch, but now we ship
// multiple alpine images and moved to a better model (alpine as the platform)
diff --git a/build/gulpfile.scan.js b/build/gulpfile.scan.js
index 62691fcc8cf..dbefb8549f1 100644
--- a/build/gulpfile.scan.js
+++ b/build/gulpfile.scan.js
@@ -24,6 +24,7 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'x64' },
{ platform: 'linux', arch: 'armhf' },
{ platform: 'linux', arch: 'arm64' },
+ { platform: 'linux', arch: 'ppc64le' },
];
BUILD_TARGETS.forEach(buildTarget => {
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
index 0ca2cfd60a9..18a60efc405 100644
--- a/build/gulpfile.vscode.js
+++ b/build/gulpfile.vscode.js
@@ -426,6 +426,7 @@ const BUILD_TARGETS = [
{ platform: 'linux', arch: 'x64' },
{ platform: 'linux', arch: 'armhf' },
{ platform: 'linux', arch: 'arm64' },
+ { platform: 'linux', arch: 'ppc64le' },
];
BUILD_TARGETS.forEach(buildTarget => {
const dashed = (str) => (str ? `-${str}` : ``);
diff --git a/build/gulpfile.vscode.linux.js b/build/gulpfile.vscode.linux.js
index 90f75ccfabd..a9fe7715da9 100644
--- a/build/gulpfile.vscode.linux.js
+++ b/build/gulpfile.vscode.linux.js
@@ -29,7 +29,7 @@ const linuxPackageRevision = Math.floor(new Date().getTime() / 1000);
* @param {string} arch
*/
function getDebPackageArch(arch) {
- return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64' }[arch];
+ return { x64: 'amd64', armhf: 'armhf', arm64: 'arm64', ppc64le: 'ppc64le' }[arch];
}
function prepareDebPackage(arch) {
@@ -136,7 +136,7 @@ function getRpmBuildPath(rpmArch) {
* @param {string} arch
*/
function getRpmPackageArch(arch) {
- return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64' }[arch];
+ return { x64: 'x86_64', armhf: 'armv7hl', arm64: 'aarch64', ppc64le: 'ppc64le' }[arch];
}
/**
@@ -292,6 +292,7 @@ const BUILD_TARGETS = [
{ arch: 'x64' },
{ arch: 'armhf' },
{ arch: 'arm64' },
+ { arch: 'ppc64le' },
];
BUILD_TARGETS.forEach(({ arch }) => {
diff --git a/build/linux/debian/calculate-deps.ts b/build/linux/debian/calculate-deps.ts
index b13d3cdfaaf..650e4de3894 100644
--- a/build/linux/debian/calculate-deps.ts
+++ b/build/linux/debian/calculate-deps.ts
@@ -52,6 +52,9 @@ function calculatePackageDeps(binaryPath: string, arch: DebianArchString, sysroo
case 'arm64':
cmd.push(`-l${sysroot}/usr/lib/aarch64-linux-gnu`,
`-l${sysroot}/lib/aarch64-linux-gnu`);
+ case 'ppc64le':
+ cmd.push(`-l${sysroot}/usr/lib/ppc64le-linux-gnu`,
+ `-l${sysroot}/lib/ppc64le-linux-gnu`);
break;
}
cmd.push(`-l${sysroot}/usr/lib`);
diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts
index 52aa56d960b..857589ec9ff 100644
--- a/build/linux/debian/dep-lists.ts
+++ b/build/linux/debian/dep-lists.ts
@@ -136,5 +136,44 @@ export const referenceGeneratedDepsByArch = {
'libxkbfile1',
'libxrandr2',
'xdg-utils (>= 1.0.2)'
+ ],
+ 'ppc64le': [
+ 'ca-certificates',
+ 'libasound2 (>= 1.0.17)',
+ 'libatk-bridge2.0-0 (>= 2.5.3)',
+ 'libatk1.0-0 (>= 2.2.0)',
+ 'libatspi2.0-0 (>= 2.9.90)',
+ 'libc6 (>= 2.17)',
+ 'libc6 (>= 2.28)',
+ 'libcairo2 (>= 1.6.0)',
+ 'libcurl3-gnutls | libcurl3-nss | libcurl4 | libcurl3',
+ 'libdbus-1-3 (>= 1.0.2)',
+ 'libdrm2 (>= 2.4.60)',
+ 'libexpat1 (>= 2.0.1)',
+ 'libgbm1 (>= 17.1.0~rc2)',
+ 'libglib2.0-0 (>= 2.16.0)',
+ 'libglib2.0-0 (>= 2.39.4)',
+ 'libgtk-3-0 (>= 3.9.10)',
+ 'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
+ 'libnspr4 (>= 2:4.9-2~)',
+ 'libnss3 (>= 2:3.22)',
+ 'libnss3 (>= 3.26)',
+ 'libpango-1.0-0 (>= 1.14.0)',
+ 'libsecret-1-0 (>= 0.18)',
+ 'libstdc++6 (>= 4.1.1)',
+ 'libstdc++6 (>= 5)',
+ 'libstdc++6 (>= 5.2)',
+ 'libstdc++6 (>= 6)',
+ 'libx11-6',
+ 'libx11-6 (>= 2:1.4.99.1)',
+ 'libxcb1 (>= 1.9.2)',
+ 'libxcomposite1 (>= 1:0.4.4-1)',
+ 'libxdamage1 (>= 1:1.1)',
+ 'libxext6',
+ 'libxfixes3',
+ 'libxkbcommon0 (>= 0.4.1)',
+ 'libxkbfile1',
+ 'libxrandr2',
+ 'xdg-utils (>= 1.0.2)'
]
};
diff --git a/build/linux/debian/types.ts b/build/linux/debian/types.ts
index e97485ef128..356027a648b 100644
--- a/build/linux/debian/types.ts
+++ b/build/linux/debian/types.ts
@@ -3,8 +3,8 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
-export type DebianArchString = 'amd64' | 'armhf' | 'arm64';
+export type DebianArchString = 'amd64' | 'armhf' | 'arm64' | 'ppc64le';
export function isDebianArchString(s: string): s is DebianArchString {
- return ['amd64', 'armhf', 'arm64'].includes(s);
+ return ['amd64', 'armhf', 'arm64', 'ppc64le'].includes(s);
}
diff --git a/cli/src/update_service.rs b/cli/src/update_service.rs
index b03d8ea5963..2beceeac640 100644
--- a/cli/src/update_service.rs
+++ b/cli/src/update_service.rs
@@ -209,6 +209,7 @@ pub enum Platform {
LinuxX64,
LinuxARM64,
LinuxARM32,
+ LinuxPPC64LE,
DarwinX64,
DarwinARM64,
WindowsX64,
@@ -222,6 +223,7 @@ impl Platform {
Platform::LinuxX64 => Some("linux-x64".to_owned()),
Platform::LinuxARM64 => Some("linux-arm64".to_owned()),
Platform::LinuxARM32 => Some("linux-armhf".to_owned()),
+ Platform::LinuxPPC64LE => Some("linux-ppc64le".to_owned()),
Platform::DarwinX64 => Some("darwin".to_owned()),
Platform::DarwinARM64 => Some("darwin-arm64".to_owned()),
Platform::WindowsX64 => Some("win32-x64-archive".to_owned()),
@@ -237,6 +239,7 @@ impl Platform {
Platform::LinuxX64 => "server-linux-x64",
Platform::LinuxARM64 => "server-linux-arm64",
Platform::LinuxARM32 => "server-linux-armhf",
+ Platform::LinuxPPC64LE => "server-linux-ppc64le",
Platform::DarwinX64 => "server-darwin",
Platform::DarwinARM64 => "server-darwin-arm64",
Platform::WindowsX64 => "server-win32-x64",
@@ -253,6 +256,7 @@ impl Platform {
Platform::LinuxX64 => "cli-linux-x64",
Platform::LinuxARM64 => "cli-linux-arm64",
Platform::LinuxARM32 => "cli-linux-armhf",
+ Platform::LinuxPPC64LE => "cli-linux-ppc64le",
Platform::DarwinX64 => "cli-darwin-x64",
Platform::DarwinARM64 => "cli-darwin-arm64",
Platform::WindowsARM64 => "cli-win32-arm64",
@@ -285,6 +289,8 @@ impl Platform {
Some(Platform::LinuxARM32)
} else if cfg!(all(target_os = "linux", target_arch = "aarch64")) {
Some(Platform::LinuxARM64)
+ } else if cfg!(all(target_os = "linux", target_arch = "ppc64le")) {
+ Some(Platform::LinuxPPC64LE)
} else if cfg!(all(target_os = "macos", target_arch = "x86_64")) {
Some(Platform::DarwinX64)
} else if cfg!(all(target_os = "macos", target_arch = "aarch64")) {
@@ -309,6 +315,7 @@ impl fmt::Display for Platform {
Platform::LinuxX64 => "LinuxX64",
Platform::LinuxARM64 => "LinuxARM64",
Platform::LinuxARM32 => "LinuxARM32",
+ Platform::LinuxPPC64LE => "LinuxPPC64LE",
Platform::DarwinX64 => "DarwinX64",
Platform::DarwinARM64 => "DarwinARM64",
Platform::WindowsX64 => "WindowsX64",
diff --git a/cli/src/util/prereqs.rs b/cli/src/util/prereqs.rs
index d8cbd1b91dd..191d312e994 100644
--- a/cli/src/util/prereqs.rs
+++ b/cli/src/util/prereqs.rs
@@ -64,6 +64,8 @@ impl PreReqChecker {
Platform::LinuxX64
} else if cfg!(target_arch = "arm") {
Platform::LinuxARM32
+ } else if cfg!(target_arch = "ppc64le") {
+ Platform::LinuxPPC64LE
} else {
Platform::LinuxARM64
});
diff --git a/src/main.js b/src/main.js
index d986fee6f6d..02cd26a4d93 100644
--- a/src/main.js
+++ b/src/main.js
@@ -405,6 +405,7 @@ function configureCrashReporter() {
}
}
} else if (isLinux) {
+
submitURL = appCenter['linux-x64'];
}
submitURL = submitURL.concat('&uid=', crashReporterId, '&iid=', crashReporterId, '&sid=', crashReporterId);
diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts
index d407374f6ee..636da84fd62 100644
--- a/src/vs/platform/extensionManagement/common/extensionManagement.ts
+++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts
@@ -28,6 +28,7 @@ export function TargetPlatformToString(targetPlatform: TargetPlatform) {
case TargetPlatform.LINUX_X64: return 'Linux 64 bit';
case TargetPlatform.LINUX_ARM64: return 'Linux ARM 64';
case TargetPlatform.LINUX_ARMHF: return 'Linux ARM';
+ case TargetPlatform.LINUX_PPC64LE: return 'Linux PPC64LE';
case TargetPlatform.ALPINE_X64: return 'Alpine Linux 64 bit';
case TargetPlatform.ALPINE_ARM64: return 'Alpine ARM 64';
@@ -52,6 +53,7 @@ export function toTargetPlatform(targetPlatform: string): TargetPlatform {
case TargetPlatform.LINUX_X64: return TargetPlatform.LINUX_X64;
case TargetPlatform.LINUX_ARM64: return TargetPlatform.LINUX_ARM64;
case TargetPlatform.LINUX_ARMHF: return TargetPlatform.LINUX_ARMHF;
+ case TargetPlatform.LINUX_PPC64LE: return TargetPlatform.LINUX_PPC64LE;
case TargetPlatform.ALPINE_X64: return TargetPlatform.ALPINE_X64;
case TargetPlatform.ALPINE_ARM64: return TargetPlatform.ALPINE_ARM64;
@@ -90,6 +92,9 @@ export function getTargetPlatform(platform: Platform | 'alpine', arch: string |
if (arch === 'arm') {
return TargetPlatform.LINUX_ARMHF;
}
+ if (arch === 'ppc64le') {
+ return TargetPlatform.LINUX_PPC64LE;
+ }
return TargetPlatform.UNKNOWN;
case 'alpine':
diff --git a/src/vs/platform/extensions/common/extensions.ts b/src/vs/platform/extensions/common/extensions.ts
index cfa0e3296f0..d38a82114e3 100644
--- a/src/vs/platform/extensions/common/extensions.ts
+++ b/src/vs/platform/extensions/common/extensions.ts
@@ -296,6 +296,7 @@ export const enum TargetPlatform {
LINUX_X64 = 'linux-x64',
LINUX_ARM64 = 'linux-arm64',
LINUX_ARMHF = 'linux-armhf',
+ LINUX_PPC64LE = 'linux-ppc64le',
ALPINE_X64 = 'alpine-x64',
ALPINE_ARM64 = 'alpine-arm64',

View File

@@ -0,0 +1,61 @@
diff --git a/build/lib/compilation.js b/build/lib/compilation.js
index 2270e05..1bd7b90 100644
--- a/build/lib/compilation.js
+++ b/build/lib/compilation.js
@@ -104,24 +104,3 @@ function compileTask(src, out, build, options = {}) {
}
- // mangle: TypeScript to TypeScript
- let mangleStream = es.through();
- if (build && !options.disableMangle) {
- let ts2tsMangler = new index_1.Mangler(compile.projectPath, (...data) => fancyLog(ansiColors.blue('[mangler]'), ...data), { mangleExports: true, manglePrivateFields: true });
- const newContentsByFileName = ts2tsMangler.computeNewFileContents(new Set(['saveState']));
- mangleStream = es.through(async function write(data) {
- const tsNormalPath = ts.normalizePath(data.path);
- const newContents = (await newContentsByFileName).get(tsNormalPath);
- if (newContents !== undefined) {
- data.contents = Buffer.from(newContents.out);
- data.sourceMap = newContents.sourceMap && JSON.parse(newContents.sourceMap);
- }
- this.push(data);
- }, async function end() {
- // free resources
- (await newContentsByFileName).clear();
- this.push(null);
- ts2tsMangler = undefined;
- });
- }
return srcPipe
- .pipe(mangleStream)
.pipe(generator.stream)
diff --git a/build/lib/compilation.ts b/build/lib/compilation.ts
index d5da3f1..fa46962 100644
--- a/build/lib/compilation.ts
+++ b/build/lib/compilation.ts
@@ -123,27 +123,3 @@ export function compileTask(src: string, out: string, build: boolean, options: {
- // mangle: TypeScript to TypeScript
- let mangleStream = es.through();
- if (build && !options.disableMangle) {
- let ts2tsMangler = new Mangler(compile.projectPath, (...data) => fancyLog(ansiColors.blue('[mangler]'), ...data), { mangleExports: true, manglePrivateFields: true });
- const newContentsByFileName = ts2tsMangler.computeNewFileContents(new Set(['saveState']));
- mangleStream = es.through(async function write(data: File & { sourceMap?: RawSourceMap }) {
- type TypeScriptExt = typeof ts & { normalizePath(path: string): string };
- const tsNormalPath = (<TypeScriptExt>ts).normalizePath(data.path);
- const newContents = (await newContentsByFileName).get(tsNormalPath);
- if (newContents !== undefined) {
- data.contents = Buffer.from(newContents.out);
- data.sourceMap = newContents.sourceMap && JSON.parse(newContents.sourceMap);
- }
- this.push(data);
- }, async function end() {
- // free resources
- (await newContentsByFileName).clear();
-
- this.push(null);
- (<any>ts2tsMangler) = undefined;
- });
- }
-
return srcPipe
- .pipe(mangleStream)
.pipe(generator.stream)

View File

@@ -1,13 +1,16 @@
diff --git a/src/vs/code/electron-sandbox/issue/issueReporterMain.ts b/src/vs/code/electron-sandbox/issue/issueReporterMain.ts
index 33e66be..a7ade0a 100644
--- a/src/vs/code/electron-sandbox/issue/issueReporterMain.ts
+++ b/src/vs/code/electron-sandbox/issue/issueReporterMain.ts
@@ -468,3 +468,3 @@ export class IssueReporter extends Disposable {
diff --git a/src/vs/code/electron-sandbox/issue/issueReporterService.ts b/src/vs/code/electron-sandbox/issue/issueReporterService.ts
index d0c4789..9e6bfc5 100644
--- a/src/vs/code/electron-sandbox/issue/issueReporterService.ts
+++ b/src/vs/code/electron-sandbox/issue/issueReporterService.ts
@@ -455,5 +455,5 @@ export class IssueReporter extends Disposable {
- private searchVSCodeIssues(title: string, issueDescription?: string): void {
+ private searchVSCodeIssues(title: string, _issueDescription?: string): void {
if (title) {
- this.searchDuplicates(title, issueDescription);
+ this.searchGitHub('VSCodium/vscodium', title);
} else {
@@ -556,33 +556,2 @@ export class IssueReporter extends Disposable {
@@ -549,33 +549,2 @@ export class IssueReporter extends Disposable {
- @debounce(300)
- private searchDuplicates(title: string, body?: string): void {
@@ -41,13 +44,13 @@ index 33e66be..a7ade0a 100644
- }
-
private displaySearchResults(results: SearchResult[]) {
@@ -674,3 +643,3 @@ export class IssueReporter extends Disposable {
@@ -667,3 +636,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));
diff --git a/src/vs/code/electron-sandbox/issue/issueReporterModel.ts b/src/vs/code/electron-sandbox/issue/issueReporterModel.ts
index a58acca..1903a0c 100644
index 98338df..6d2f581 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}
@@ -56,7 +59,7 @@ index a58acca..1903a0c 100644
+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
index 0eedb21..c83e092 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
@@ -70,10 +73,10 @@ index 6467d66..d425016 100644
+ '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 20154ad..bca59b8 100644
index 87839a6..49727fc 100644
--- a/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts
+++ b/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts
@@ -148,3 +148,3 @@ class ReportExtensionSlowAction extends Action {
@@ -153,3 +153,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}`);

View File

@@ -1,13 +1,9 @@
diff --git a/src/vs/platform/update/electron-main/updateService.win32.ts b/src/vs/platform/update/electron-main/updateService.win32.ts
index 93424ca..133657e 100644
index d45291e..74d4080 100644
--- a/src/vs/platform/update/electron-main/updateService.win32.ts
+++ b/src/vs/platform/update/electron-main/updateService.win32.ts
@@ -53,7 +53,7 @@ export class Win32UpdateService extends AbstractUpdateService {
@memoize
@@ -55,3 +55,3 @@ export class Win32UpdateService extends AbstractUpdateService {
get cachePath(): Promise<string> {
- const result = path.join(tmpdir(), `vscode-update-${this.productService.target}-${process.arch}`);
+ const result = path.join(tmpdir(), `${this.productService.applicationName}-update-${this.productService.target}-${process.arch}`);
- const result = path.join(tmpdir(), `vscode-${this.productService.quality}-${this.productService.target}-${process.arch}`);
+ const result = path.join(tmpdir(), `${this.productService.applicationName}-${this.productService.quality}-${this.productService.target}-${process.arch}`);
return pfs.Promises.mkdir(result, { recursive: true }).then(() => result);
}

View File

@@ -9,7 +9,7 @@ index 7cd4a84..7cbdf21 100644
+ 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
index d45291e..4d8c5df 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 {
@@ -45,7 +45,7 @@ index caecd71..4c02afa 100644
}
@@ -243,6 +254,14 @@ export class Win32UpdateService extends AbstractUpdateService {
} else {
- spawn(this.availableUpdate.packagePath, ['/silent', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], {
- spawn(this.availableUpdate.packagePath, ['/silent', '/log', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], {
- detached: true,
- stdio: ['ignore', 'ignore', 'ignore']
- });
@@ -56,7 +56,7 @@ index caecd71..4c02afa 100644
+ stdio: ['ignore', 'ignore', 'ignore']
+ });
+ } else {
+ spawn(this.availableUpdate.packagePath, ['/silent', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], {
+ spawn(this.availableUpdate.packagePath, ['/silent', '/log', '/mergetasks=runcode,!desktopicon,!quicklaunchicon'], {
+ detached: true,
+ stdio: ['ignore', 'ignore', 'ignore']
+ });

View File

@@ -1,435 +1,52 @@
diff --git a/extensions/github-authentication/src/githubServer.ts b/extensions/github-authentication/src/githubServer.ts
index 830e698..cd6f27e 100644
--- a/extensions/github-authentication/src/githubServer.ts
+++ b/extensions/github-authentication/src/githubServer.ts
@@ -7,4 +7,2 @@ import * as vscode from 'vscode';
import fetch, { Response } from 'node-fetch';
-import { v4 as uuid } from 'uuid';
-import { PromiseAdapter, promiseFromEvent } from './common/utils';
import { ExperimentationTelemetry } from './experimentationService';
@@ -12,13 +10,4 @@ import { AuthProviderType } from './github';
import { Log } from './common/logger';
-import { isSupportedEnvironment } from './common/env';
-import { LoopbackAuthServer } from './authServer';
-import path = require('path');
-
-const CLIENT_ID = '01ab8ac9400c4e429b23';
-const GITHUB_TOKEN_URL = 'https://vscode.dev/codeExchangeProxyEndpoints/github/login/oauth/access_token';
const NETWORK_ERROR = 'network error';
diff --git a/extensions/github-authentication/src/common/env.ts b/extensions/github-authentication/src/common/env.ts
index ebc4749..18fd732 100644
--- a/extensions/github-authentication/src/common/env.ts
+++ b/extensions/github-authentication/src/common/env.ts
@@ -7,21 +7,4 @@ import { AuthProviderType } from '../github';
-const REDIRECT_URL_STABLE = 'https://vscode.dev/redirect';
-const REDIRECT_URL_INSIDERS = 'https://insiders.vscode.dev/redirect';
-const VALID_DESKTOP_CALLBACK_SCHEMES = [
- 'vscode',
- 'vscode-insiders',
- // On Windows, some browsers don't seem to redirect back to OSS properly.
- // As a result, you get stuck in the auth flow. We exclude this from the
- // list until we can figure out a way to fix this behavior in browsers.
- // 'code-oss',
- 'vscode-wsl',
- 'vscode-exploration'
-];
-
class UriEventHandler extends vscode.EventEmitter<vscode.Uri> implements vscode.UriHandler {
@@ -42,9 +31,2 @@ export interface IGitHubServer extends vscode.Disposable {
-export function isSupportedClient(uri: Uri): boolean {
- return (
- VALID_DESKTOP_CALLBACK_SCHEMES.includes(uri.scheme) ||
- // vscode.dev & insiders.vscode.dev
- /(?:^|\.)vscode\.dev$/.test(uri.authority) ||
- // github.dev & codespaces
- /(?:^|\.)github\.dev$/.test(uri.authority)
- );
+export function isSupportedClient(_uri: Uri): boolean {
+ return false;
}
@@ -35,4 +18,4 @@ export function isSupportedTarget(type: AuthProviderType, gheUri?: Uri): boolean
-interface IGitHubDeviceCodeResponse {
- device_code: string;
- user_code: string;
- verification_uri: string;
- interval: number;
-}
-
async function getScopes(token: string, serverUri: vscode.Uri, logger: Log): Promise<string[]> {
@@ -55,3 +37,3 @@ async function getScopes(token: string, serverUri: vscode.Uri, logger: Log): Pro
Authorization: `token ${token}`,
- 'User-Agent': 'Visual-Studio-Code'
+ 'User-Agent': 'VSCodium'
}
@@ -75,7 +57,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 | undefined;
private static _uriHandler: UriEventHandler | undefined;
- private _redirectEndpoint: string | undefined;
@@ -83,2 +62,3 @@ export class GitHubServer implements IGitHubServer {
public readonly type: AuthProviderType,
+ // @ts-ignore
private readonly _supportDeviceCodeFlow: boolean,
@@ -102,41 +82,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.
- this._redirectEndpoint = REDIRECT_URL_STABLE;
- if (proxyEndpoints?.github && new URL(proxyEndpoints.github).hostname === 'insiders.vscode.dev') {
- this._redirectEndpoint = REDIRECT_URL_INSIDERS;
- }
- 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() {
@@ -156,58 +97,8 @@ export class GitHubServer implements IGitHubServer {
let userCancelled: boolean | undefined;
- const yes = vscode.l10n.t('Yes');
- const no = vscode.l10n.t('No');
- const promptToContinue = async () => {
- if (userCancelled === undefined) {
- // We haven't had a failure yet so wait to prompt
- return;
- }
- const message = userCancelled
- ? vscode.l10n.t('Having trouble logging in? Would you like to try a different way?')
- : vscode.l10n.t('You have not yet finished authorizing this extension to use GitHub. Would you like to keep trying?');
- const result = await vscode.window.showWarningMessage(message, yes, no);
- if (result !== yes) {
- 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)}`));
- const supported = isSupportedEnvironment(callbackUri);
- if (supported) {
- try {
- return await this.doLoginWithoutLocalServer(scopes, nonce, callbackUri);
- } catch (e) {
- this._logger.error(e);
- userCancelled = e.message ?? e === 'User Cancelled';
- }
- }
-
- // Starting a local server isn't supported in web
- if (vscode.env.uiKind === vscode.UIKind.Desktop) {
- try {
- await promptToContinue();
- return await this.doLoginWithLocalServer(scopes);
- } catch (e) {
- this._logger.error(e);
- userCancelled = e.message ?? e === 'User Cancelled';
- }
- }
-
- if (this._supportDeviceCodeFlow) {
- try {
- await promptToContinue();
- return await this.doLoginDeviceCodeFlow(scopes);
- } catch (e) {
- this._logger.error(e);
- userCancelled = e.message ?? e === 'User Cancelled';
- }
- } else if (!supported) {
- try {
- await promptToContinue();
- return await this.doLoginWithPat(scopes);
- } catch (e) {
- this._logger.error(e);
- userCancelled = e.message ?? e === 'User Cancelled';
- }
+ try {
+ return await this.doLoginWithPat(scopes);
+ } catch (e) {
+ this._logger.error(e);
+ userCancelled = e.message ?? e === 'User Cancelled';
}
@@ -217,136 +108,2 @@ 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: vscode.l10n.t({
- message: 'Signing in to {0}...',
- args: [this.baseUri.authority],
- comment: ['The {0} will be a url, e.g. github.com']
- }),
- cancellable: true
- }, async (_, token) => {
- const existingNonces = this._pendingNonces.get(scopes) || [];
- this._pendingNonces.set(scopes, [...existingNonces, nonce]);
- 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(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(GitHubServer._uriHandler!.event, this.handleUri(scopes));
- this._codeExchangePromises.set(scopes, codeExchangePromise);
- }
-
- try {
- return await Promise.race([
- codeExchangePromise.promise,
- new Promise<string>((_, reject) => setTimeout(() => reject('Timed out'), 300_000)), // 5min timeout
- promiseFromEvent<any, any>(token.onCancellationRequested, (_, __, reject) => { reject('User Cancelled'); }).promise
- ]);
- } finally {
- this._pendingNonces.delete(scopes);
- codeExchangePromise?.cancel.fire();
- this._codeExchangePromises.delete(scopes);
- }
- });
- }
-
- private async doLoginWithLocalServer(scopes: string): Promise<string> {
- this._logger.info(`Trying with local server... (${scopes})`);
- return await vscode.window.withProgress<string>({
- location: vscode.ProgressLocation.Notification,
- title: vscode.l10n.t({
- message: 'Signing in to {0}...',
- args: [this.baseUri.authority],
- comment: ['The {0} will be a url, e.g. github.com']
- }),
- cancellable: true
- }, async (_, token) => {
- const redirectUri = await this.getRedirectEndpoint();
- const searchParams = new URLSearchParams([
- ['client_id', CLIENT_ID],
- ['redirect_uri', redirectUri],
- ['scope', scopes],
- ]);
-
- 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;
- try {
- 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('Timed out'), 300_000)), // 5min timeout
- promiseFromEvent<any, any>(token.onCancellationRequested, (_, __, reject) => { reject('User Cancelled'); }).promise
- ]);
- codeToExchange = code;
- } finally {
- setTimeout(() => {
- void server.stop();
- }, 5000);
- }
-
- const accessToken = await this.exchangeCodeForToken(codeToExchange);
- return accessToken;
- });
- }
-
- private async doLoginDeviceCodeFlow(scopes: string): Promise<string> {
- this._logger.info(`Trying device code flow... (${scopes})`);
-
- // Get initial device code
- 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'
- }
- });
- if (!result.ok) {
- throw new Error(`Failed to get one-time code: ${await result.text()}`);
- }
-
- const json = await result.json() as IGitHubDeviceCodeResponse;
-
- const button = vscode.l10n.t('Copy & Continue to GitHub');
- const modalResult = await vscode.window.showInformationMessage(
- vscode.l10n.t({ message: 'Your Code: {0}', args: [json.user_code], comment: ['The {0} will be a code, e.g. 123-456'] }),
- {
- modal: true,
- detail: vscode.l10n.t('To finish authenticating, navigate to GitHub and paste in the above one-time code.')
- }, button);
-
- if (modalResult !== button) {
- throw new Error('User Cancelled');
- }
-
- await vscode.env.clipboard.writeText(json.user_code);
-
- const uriToOpen = await vscode.env.asExternalUri(vscode.Uri.parse(json.verification_uri));
- await vscode.env.openExternal(uriToOpen);
-
- return await this.waitForDeviceCodeAccessToken(json);
- }
-
private async doLoginWithPat(scopes: string): Promise<string> {
@@ -374,124 +131,2 @@ export class GitHubServer implements IGitHubServer {
- private async waitForDeviceCodeAccessToken(
- json: IGitHubDeviceCodeResponse,
- ): Promise<string> {
- return await vscode.window.withProgress<string>({
- location: vscode.ProgressLocation.Notification,
- cancellable: true,
- title: vscode.l10n.t({
- message: 'Open [{0}]({0}) in a new tab and paste your one-time code: {1}',
- args: [json.verification_uri, json.user_code],
- comment: [
- 'The [{0}]({0}) will be a url and the {1} will be a code, e.g. 123-456',
- '{Locked="[{0}]({0})"}'
- ]
- })
- }, async (_, token) => {
- 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;
- for (let i = 0; i < attempts; i++) {
- await new Promise(resolve => setTimeout(resolve, json.interval * 1000));
- if (token.isCancellationRequested) {
- throw new Error('User Cancelled');
- }
- let accessTokenResult;
- try {
- accessTokenResult = await fetch(refreshTokenUri.toString(true), {
- method: 'POST',
- headers: {
- Accept: 'application/json'
- }
- });
- } catch {
- continue;
- }
-
- if (!accessTokenResult.ok) {
- continue;
- }
-
- const accessTokenJson = await accessTokenResult.json();
-
- if (accessTokenJson.error === 'authorization_pending') {
- continue;
- }
-
- if (accessTokenJson.error) {
- throw new Error(accessTokenJson.error_description);
- }
-
- return accessTokenJson.access_token;
- }
-
- throw new Error('Cancelled');
- });
- }
-
- private handleUri: (scopes: string) => PromiseAdapter<vscode.Uri, string> =
- (scopes) => (uri, resolve, reject) => {
- const query = new URLSearchParams(uri.query);
- const code = query.get('code');
- const nonce = query.get('nonce');
- if (!code) {
- reject(new Error('No code'));
- return;
- }
- if (!nonce) {
- reject(new Error('No nonce'));
- return;
- }
-
- const acceptedNonces = this._pendingNonces.get(scopes) || [];
- if (!acceptedNonces.includes(nonce)) {
- // A common scenario of this happening is if you:
- // 1. Trigger a sign in with one set of scopes
- // 2. Before finishing 1, you trigger a sign in with a different set of scopes
- // In this scenario we should just return and wait for the next UriHandler event
- // to run as we are probably still waiting on the user to hit 'Continue'
- this._logger.info('Nonce not found in accepted nonces. Skipping this execution...');
- return;
- }
-
- resolve(this.exchangeCodeForToken(code));
- };
-
- private async exchangeCodeForToken(code: string): Promise<string> {
- this._logger.info('Exchanging code for token...');
-
- 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 = 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: {
- Accept: 'application/json',
- 'Content-Type': 'application/x-www-form-urlencoded',
- 'Content-Length': body.toString()
-
- },
- body: body.toString()
- });
-
- if (result.ok) {
- const json = await result.json();
- this._logger.info('Token exchange success!');
- return json.access_token;
- } else {
- const text = await result.text();
- const error = new Error(text);
- error.name = 'GitHubTokenExchangeError';
- throw error;
- }
- }
-
private getServerUri(path: string = '') {
-export function isHostedGitHubEnterprise(uri: Uri): boolean {
- return /\.ghe\.com$/.test(uri.authority);
+export function isHostedGitHubEnterprise(_uri: Uri): boolean {
+ return false;
}
diff --git a/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts b/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts
index ce2a3e8..2a5cf60 100644
index d09cfa0..dacbde5 100644
--- a/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts
+++ b/src/vs/workbench/browser/parts/activitybar/activitybarActions.ts
@@ -306,3 +306,3 @@ export class AccountsActivityActionViewItem extends MenuActivityActionViewItem {
@@ -356,3 +356,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));
diff --git a/src/vs/workbench/services/authentication/browser/authenticationService.ts b/src/vs/workbench/services/authentication/browser/authenticationService.ts
index d5e2b75..a996eb7 100644
index f6c2f14..aa27b28 100644
--- a/src/vs/workbench/services/authentication/browser/authenticationService.ts
+++ b/src/vs/workbench/services/authentication/browser/authenticationService.ts
@@ -279,12 +279,2 @@ export class AuthenticationService extends Disposable implements IAuthentication
@@ -284,12 +284,2 @@ export class AuthenticationService extends Disposable implements IAuthentication
}
-
- if (!this._authenticationProviders.size) {

9
patches/win7.patch Normal file
View File

@@ -0,0 +1,9 @@
diff --git a/build/win32/code.iss b/build/win32/code.iss
index 44c9f2f..454aa09 100644
--- a/build/win32/code.iss
+++ b/build/win32/code.iss
@@ -28,3 +28,3 @@ ChangesEnvironment=true
ChangesAssociations=true
-MinVersion=10.0
+MinVersion=6.1.7600
SourceDir={#SourceDir}

View File

@@ -1,8 +1,9 @@
#!/bin/bash
#!/usr/bin/env bash
# shellcheck disable=SC1091
set -e
APP_NAME_LC=$( echo "${APP_NAME}" | awk '{print tolower($0)}' )
APP_NAME_LC="$( echo "${APP_NAME}" | awk '{print tolower($0)}' )"
npm install -g checksum
@@ -29,7 +30,7 @@ if [[ "${OS_NAME}" == "osx" ]]; then
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 -s "$(security list-keychains | xargs)" "${KEYCHAIN}"
# security list-keychains -d user
# security show-keychain-info ${KEYCHAIN}
@@ -75,7 +76,7 @@ elif [[ "${OS_NAME}" == "windows" ]]; then
yarn gulp "vscode-win32-${VSCODE_ARCH}-inno-updater"
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
yarn gulp "vscode-win32-${VSCODE_ARCH}-archive"
7z.exe a -tzip "../assets/${APP_NAME}-win32-${VSCODE_ARCH}-${RELEASE_VERSION}.zip" -x!CodeSignSummary*.md -x!tools "../VSCode-win32-${VSCODE_ARCH}/*" -r
fi
if [[ "${SHOULD_BUILD_EXE_SYS}" != "no" ]]; then
@@ -179,8 +180,7 @@ fi
cd assets
for FILE in *
do
for FILE in *; do
if [[ -f "${FILE}" ]]; then
sum_file "${FILE}"
fi

View File

@@ -1,4 +1,5 @@
#!/bin/bash
#!/usr/bin/env bash
# shellcheck disable=SC1091,2154
set -e
@@ -21,70 +22,87 @@ cd vscode || { echo "'vscode' dir not found"; exit 1; }
{ set +x; } 2>/dev/null
for file in ../patches/*.patch; do
if [ -f "${file}" ]; then
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
if ! git apply --ignore-whitespace "${file}"; then
echo failed to apply patch "${file}" >&2
exit 1
fi
fi
done
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
for file in ../patches/insider/*.patch; do
if [ -f "${file}" ]; then
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
if ! git apply --ignore-whitespace "${file}"; then
echo failed to apply patch "${file}" >&2
exit 1
fi
fi
done
fi
for file in ../patches/user/*.patch; do
if [ -f "${file}" ]; then
if [[ -f "${file}" ]]; then
echo applying user patch: "${file}";
git apply --ignore-whitespace "${file}"
if [ $? -ne 0 ]; then
echo failed to apply patch "${file}" 1>&2
if ! git apply --ignore-whitespace "${file}"; then
echo failed to apply patch "${file}" >&2
exit 1
fi
fi
done
set -x
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
if [[ "${OS_NAME}" == "osx" ]]; then
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
CHILD_CONCURRENCY=1 yarn --frozen-lockfile --network-timeout 180000
yarn postinstall
elif [[ "${npm_config_arch}" == "armv7l" || "${npm_config_arch}" == "ia32" ]]; then
# node-gyp@9.0.0 shipped with node@16.15.0 starts using config.gypi
# from the custom headers path if dist-url option was set, instead of
# using the config value from the process. Electron builds with pointer compression
# enabled for x64 and arm64, but incorrectly ships a single copy of config.gypi
# with v8_enable_pointer_compression option always set for all target architectures.
# We use the force_process_config option to use the config.gypi from the
# nodejs process executing npm for 32-bit architectures.
export npm_config_force_process_config="true"
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
else
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
if [[ "${npm_config_arch}" == "arm" ]]; then
export npm_config_arm_version=7
elif [[ "${npm_config_arch}" == "ia32" ]]; then
# TODO: Should be replaced with upstream URL once https://github.com/nodejs/node-gyp/pull/2825
# gets merged.
rm -rf .build/node-gyp
mkdir -p .build/node-gyp
cd .build/node-gyp
git clone https://github.com/rzhao271/node-gyp.git .
git checkout 102b347da0c92c29f9c67df22e864e70249cf086
npm install
npm_config_node_gyp=$( pwd )
export npm_config_node_gyp
cd ../..
fi
CHILD_CONCURRENCY=1 yarn --frozen-lockfile --network-timeout 180000
fi
setpath() {
local jsonTmp
{ set +x; } 2>/dev/null
echo "$( cat "${1}.json" | jq --arg 'path' "${2}" --arg 'value' "${3}" 'setpath([$path]; $value)' )" > "${1}.json"
jsonTmp=$( jq --arg 'path' "${2}" --arg 'value' "${3}" 'setpath([$path]; $value)' "${1}.json" )
echo "${jsonTmp}" > "${1}.json"
set -x
}
setpath_json() {
local jsonTmp
{ set +x; } 2>/dev/null
echo "$( cat "${1}.json" | jq --arg 'path' "${2}" --argjson 'value' "${3}" 'setpath([$path]; $value)' )" > "${1}.json"
jsonTmp=$( jq --arg 'path' "${2}" --argjson 'value' "${3}" 'setpath([$path]; $value)' "${1}.json" )
echo "${jsonTmp}" > "${1}.json"
set -x
}
# product.json
cp product.json product.json.bak
cp product.json{,.bak}
setpath "product" "checksumFailMoreInfoUrl" "https://go.microsoft.com/fwlink/?LinkId=828886"
setpath "product" "documentationUrl" "https://go.microsoft.com/fwlink/?LinkID=533484#vscode"
@@ -103,6 +121,7 @@ setpath "product" "twitterUrl" "https://go.microsoft.com/fwlink/?LinkID=533687"
if [[ "${DISABLE_UPDATE}" != "yes" ]]; then
setpath "product" "updateUrl" "https://vscodium.now.sh"
setpath "product" "downloadUrl" "https://github.com/VSCodium/vscodium/releases"
fi
if [[ "${VSCODE_QUALITY}" == "insider" ]]; then
@@ -152,20 +171,21 @@ else
setpath "product" "win32arm64UserAppId" "{{57FD70A5-1B8D-4875-9F40-C5553F094828}"
fi
echo "$( jq -s '.[0] * .[1]' product.json ../product.json )" > product.json
jsonTmp=$( jq -s '.[0] * .[1]' product.json ../product.json )
echo "${jsonTmp}" > product.json && unset jsonTmp
cat product.json
# package.json
cp package.json package.json.bak
cp 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" )
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
replace "s|\\[\\/\\* BUILTIN_ANNOUNCEMENTS \\*\\/\\]|$( tr -d '\n' < ../announcements-builtin.json )|" src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts
../undo_telemetry.sh

View File

@@ -51,11 +51,12 @@
"testObserver"
],
"VisualStudioExptTeam.vscodeintellicode-completions": [
"inlineCompletionsNew",
"inlineCompletionsAdditions"
],
"ms-vsliveshare.vsliveshare": [
"contribMenuBarHome",
"contribShareMenu",
"contribStatusBarItems",
"diffCommand",
"documentFiltersExclusive",
"fileSearchProvider",
@@ -70,15 +71,22 @@
"portsAttributes",
"findTextInFiles",
"workspaceTrust",
"resolvers",
"tunnels"
],
"ms-toolsai.vscode-ai-remote": [
"resolvers"
],
"ms-python.python": [
"contribEditorContentMenu",
"quickPickSortByLabel",
"testObserver"
"portsAttributes",
"testObserver",
"envShellEvent",
"quickPickItemTooltip",
"terminalDataWriteEvent",
"envCollectionWorkspace",
"saveEditor",
"envCollectionOptions"
],
"ms-dotnettools.dotnet-interactive-vscode": [
"notebookMessaging"
@@ -100,6 +108,7 @@
"textSearchProvider"
],
"ms-vscode.remote-repositories": [
"canonicalUriProvider",
"contribEditSessions",
"contribRemoteHelp",
"contribMenuBarHome",
@@ -112,6 +121,8 @@
"fileSearchProvider",
"quickPickSortByLabel",
"workspaceTrust",
"shareProvider",
"scmActionButton",
"scmSelectedProvider",
"scmValidation",
"textSearchProvider",
@@ -119,6 +130,7 @@
],
"ms-vscode-remote.remote-wsl": [
"resolvers",
"contribRemoteHelp",
"contribViewsRemote",
"telemetry"
],
@@ -126,6 +138,7 @@
"resolvers",
"tunnels",
"terminalDataWriteEvent",
"contribRemoteHelp",
"contribViewsRemote",
"telemetry"
],
@@ -134,6 +147,7 @@
"tunnels"
],
"ms-vscode.remote-explorer": [
"contribRemoteHelp",
"contribViewsRemote",
"extensionsAny"
],
@@ -143,32 +157,52 @@
"tunnels",
"workspaceTrust",
"terminalDimensions",
"contribRemoteHelp",
"contribViewsRemote"
],
"ms-vscode.js-debug-nightly": [
"portsAttributes",
"findTextInFiles",
"workspaceTrust",
"resolvers",
"tunnels"
],
"ms-vscode.lsif-browser": [
"documentFiltersExclusive"
],
"GitHub.vscode-pull-request-github": [
"contribCommentThreadAdditionalMenu",
"tokenInformation",
"commentsResolvedState",
"contribShareMenu",
"fileComments",
"contribCommentPeekContext",
"treeItemCheckbox"
"codiconDecoration",
"diffCommand",
"contribCommentEditorActionsMenu",
"readonlyMessage",
"shareProvider",
"quickDiffProvider",
"quickPickItemIcon"
],
"GitHub.copilot": [
"inlineCompletionsNew",
"inlineCompletionsAdditions"
"inlineCompletionsAdditions",
"interactive",
"interactiveUserActions",
"semanticSimilarity",
"terminalDataWriteEvent"
],
"GitHub.copilot-nightly": [
"inlineCompletionsNew",
"inlineCompletionsAdditions"
"inlineCompletionsAdditions",
"interactive",
"interactiveUserActions",
"semanticSimilarity",
"terminalDataWriteEvent"
],
"GitHub.copilot-chat": [
"handleIssueUri",
"interactive",
"interactiveUserActions",
"semanticSimilarity",
"terminalDataWriteEvent"
],
"GitHub.remotehub": [
"contribRemoteHelp",
@@ -195,7 +229,6 @@
"contribNotebookStaticPreloads"
],
"ms-toolsai.jupyter": [
"notebookControllerKind",
"notebookDeprecated",
"notebookMessaging",
"notebookMime",
@@ -205,23 +238,54 @@
"notebookKernelSource",
"interactiveWindow",
"notebookControllerAffinityHidden",
"contribNotebookStaticPreloads"
"contribNotebookStaticPreloads",
"quickPickItemTooltip",
"notebookExecution"
],
"dbaeumer.vscode-eslint": [
"notebookCellExecutionState"
],
"ms-vscode.azure-sphere-tools-ui": [
"resolvers",
"tunnels"
],
"ms-azuretools.vscode-azureappservice": [
"terminalDataWriteEvent"
],
"ms-azuretools.vscode-azureresourcegroups": [
"authGetSessions"
],
"ms-vscode.anycode": [
"extensionsAny"
],
"ms-vscode.cpptools": [
"terminalDataWriteEvent"
],
"redhat.java": [
"documentPaste"
],
"ms-dotnettools.csdevkit": [
"inlineCompletionsAdditions"
],
"ms-dotnettools.vscodeintellicode-csharp": [
"inlineCompletionsAdditions"
],
"digitarald.chat-plugins": [
"interactiveSlashCommands"
],
"microsoft-IsvExpTools.powerplatform-vscode": [
"fileSearchProvider",
"textSearchProvider"
],
"microsoft-IsvExpTools.powerplatform-vscode-preview": [
"fileSearchProvider",
"textSearchProvider"
],
"jeanp413.open-remote-ssh": [
"resolvers",
"tunnels",
"terminalDataWriteEvent",
"contribRemoteHelp",
"contribViewsRemote"
]
},
"extensionKind": {

View File

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env bash
set -e
@@ -19,19 +19,18 @@ if [[ $( gh release view --repo "${ASSETS_REPOSITORY}" "${RELEASE_VERSION}" 2>&1
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 ))"
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}
gh release create "${RELEASE_VERSION}" --repo "${ASSETS_REPOSITORY}" --title "${RELEASE_VERSION}" --notes "${NOTES}" ${CREATE_OPTIONS}
fi
cd assets
set +e
for FILE in *
do
for FILE in *; do
if [[ -f "${FILE}" ]] && [[ "${FILE}" != *.sha1 ]] && [[ "${FILE}" != *.sha256 ]]; then
echo "::group::Uploading '${FILE}' at $( date "+%T" )"
gh release upload --repo "${ASSETS_REPOSITORY}" "${RELEASE_VERSION}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
@@ -40,8 +39,7 @@ do
echo "exit: ${EXIT_STATUS}"
if (( "${EXIT_STATUS}" )); then
for (( i=0; i<10; i++ ))
do
for (( i=0; i<10; i++ )); do
github-release delete --owner "${REPOSITORY_OWNER}" --repo "${REPOSITORY_NAME}" --tag "${RELEASE_VERSION}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
sleep $(( 15 * (i + 1)))

Binary file not shown.

Binary file not shown.

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