mirror of
https://github.com/VSCodium/vscodium.git
synced 2026-04-17 21:24:40 +10:00
Compare commits
43 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1ef601a79b | ||
|
|
c67c2ad9f5 | ||
|
|
d164e43b78 | ||
|
|
f3ba593ae7 | ||
|
|
78b32d7931 | ||
|
|
c71f2250ce | ||
|
|
b0154c7831 | ||
|
|
23313d41ba | ||
|
|
cf48030b59 | ||
|
|
848aabfe54 | ||
|
|
10a0cb4b30 | ||
|
|
0469329683 | ||
|
|
6acd2fbfe1 | ||
|
|
38810539a7 | ||
|
|
34b399c05a | ||
|
|
b0ff3b4f34 | ||
|
|
ca2dc5fcaf | ||
|
|
962326e182 | ||
|
|
d3371f8aab | ||
|
|
0f5a7d4a1b | ||
|
|
02cc193086 | ||
|
|
e564685c1e | ||
|
|
85cbd0b0f2 | ||
|
|
b748657b09 | ||
|
|
db02ad1133 | ||
|
|
573c0230c5 | ||
|
|
bb483f44e2 | ||
|
|
3fa3f18d91 | ||
|
|
ef1ce60ad8 | ||
|
|
a6da364b3c | ||
|
|
a8964122dc | ||
|
|
f1dd2cf1cc | ||
|
|
108166f640 | ||
|
|
07877c5e12 | ||
|
|
5439ac0757 | ||
|
|
9c2f61b79c | ||
|
|
0d433893b7 | ||
|
|
bf524a9c2c | ||
|
|
d862b86a27 | ||
|
|
8aa9de17b1 | ||
|
|
72363757b3 | ||
|
|
96332714ae | ||
|
|
a5506b975c |
22
.editorconfig
Normal file
22
.editorconfig
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
tab_width = 2
|
||||||
|
end_of_line = lf
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
insert_final_newline = true
|
||||||
|
|
||||||
|
[*.sh]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.{yml,yaml}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
|
||||||
|
[*.patch]
|
||||||
|
trim_trailing_whitespace = false
|
||||||
|
insert_final_newline = false
|
||||||
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
2
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -30,7 +30,7 @@ A clear and concise description of what you expected to happen.
|
|||||||
If applicable, add screenshots to help explain your problem.
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
**Desktop (please complete the following information):**
|
**Desktop (please complete the following information):**
|
||||||
- OS: [e.g. Mac OS, Ubuntu 16.04, etc]
|
- OS: [e.g. Mac OS, Ubuntu 20.04, etc]
|
||||||
- Architecture [e.g. x64, ia32, arm64]
|
- Architecture [e.g. x64, ia32, arm64]
|
||||||
- Version [e.g. 1.33.0]
|
- Version [e.g. 1.33.0]
|
||||||
|
|
||||||
|
|||||||
36
.github/workflows/linux.yml
vendored
36
.github/workflows/linux.yml
vendored
@@ -11,7 +11,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
linux:
|
linux:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container:
|
container:
|
||||||
image: ${{ matrix.image }}
|
image: ${{ matrix.image }}
|
||||||
env:
|
env:
|
||||||
OS_NAME: 'linux'
|
OS_NAME: 'linux'
|
||||||
@@ -20,7 +20,6 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
vscode_arch: [x64, arm64, armhf]
|
|
||||||
include:
|
include:
|
||||||
- vscode_arch: x64
|
- vscode_arch: x64
|
||||||
npm_arch: x64
|
npm_arch: x64
|
||||||
@@ -35,6 +34,9 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Install GH
|
||||||
|
run: ./install_gh.sh
|
||||||
|
|
||||||
- name: Setup Node.js environment
|
- name: Setup Node.js environment
|
||||||
uses: actions/setup-node@v1
|
uses: actions/setup-node@v1
|
||||||
with:
|
with:
|
||||||
@@ -43,12 +45,12 @@ jobs:
|
|||||||
- name: Install Yarn
|
- name: Install Yarn
|
||||||
run: npm install -g yarn
|
run: npm install -g yarn
|
||||||
|
|
||||||
- name: Check PR or cron
|
|
||||||
run: ./check_cron_or_pr.sh
|
|
||||||
|
|
||||||
- name: Clone VSCode repo
|
- name: Clone VSCode repo
|
||||||
run: ./get_repo.sh
|
run: ./get_repo.sh
|
||||||
|
|
||||||
|
- name: Check PR or cron
|
||||||
|
run: ./check_cron_or_pr.sh
|
||||||
|
|
||||||
- name: Check existing VSCodium tags/releases
|
- name: Check existing VSCodium tags/releases
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@@ -80,31 +82,15 @@ jobs:
|
|||||||
run: ./build.sh
|
run: ./build.sh
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
if: env.SHOULD_BUILD == 'yes'
|
||||||
|
|
||||||
- name: Zip release
|
- name: Prepare artifacts
|
||||||
run: |
|
run: ./prepare_artifacts.sh
|
||||||
cd VSCode-linux-${VSCODE_ARCH}
|
|
||||||
tar czf ../VSCodium-linux-${VSCODE_ARCH}-${LATEST_MS_TAG}.tar.gz .
|
|
||||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
- name: Generate shasums
|
|
||||||
run: ./sum.sh
|
|
||||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
|
||||||
|
|
||||||
- name: Release
|
- name: Release
|
||||||
uses: softprops/action-gh-release@v1
|
|
||||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
|
||||||
with:
|
|
||||||
tag_name: ${{ env.LATEST_MS_TAG }}
|
|
||||||
files: |
|
|
||||||
./*.sha256
|
|
||||||
./*.zip
|
|
||||||
./*.tar.gz
|
|
||||||
./*.deb
|
|
||||||
./*.rpm
|
|
||||||
./VSCodium-*.AppImage
|
|
||||||
./VSCodium-*.AppImage.zsync
|
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: ./release.sh
|
||||||
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
- name: Update versions repo
|
- name: Update versions repo
|
||||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|||||||
58
.github/workflows/macos.yml
vendored
58
.github/workflows/macos.yml
vendored
@@ -10,31 +10,39 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: macOS-latest
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- vscode_arch: x64
|
||||||
|
os: macOS-10.15
|
||||||
|
# - vscode_arch: arm64
|
||||||
|
# os: macOS-11
|
||||||
|
|
||||||
env:
|
env:
|
||||||
OS_NAME: "osx"
|
OS_NAME: "osx"
|
||||||
VSCODE_ARCH: "x64"
|
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Setup Node.js environment
|
- name: Setup Node.js environment
|
||||||
uses: actions/setup-node@v1
|
uses: actions/setup-node@v1
|
||||||
with:
|
with:
|
||||||
node-version: 14
|
node-version: 14
|
||||||
|
|
||||||
- name: Check PR or cron
|
|
||||||
run: |
|
|
||||||
. check_cron_or_pr.sh
|
|
||||||
|
|
||||||
- name: Clone VSCode repo
|
- name: Clone VSCode repo
|
||||||
run: |
|
run: . get_repo.sh
|
||||||
. get_repo.sh
|
|
||||||
|
- name: Check PR or cron
|
||||||
|
run: . check_cron_or_pr.sh
|
||||||
|
|
||||||
- name: Check existing VSCodium tags/releases
|
- name: Check existing VSCodium tags/releases
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: |
|
run: . check_tags.sh
|
||||||
. check_tags.sh
|
|
||||||
if: env.SHOULD_DEPLOY == 'yes'
|
if: env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
- name: Compute cache key
|
- name: Compute cache key
|
||||||
@@ -81,35 +89,15 @@ jobs:
|
|||||||
codesign --deep --force --verbose --sign "$CERTIFICATE_OSX_ID" VSCodium.app
|
codesign --deep --force --verbose --sign "$CERTIFICATE_OSX_ID" VSCodium.app
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Zip release
|
- name: Prepare artifacts
|
||||||
run: |
|
run: ./prepare_artifacts.sh
|
||||||
cd "VSCode-darwin-${VSCODE_ARCH}"
|
|
||||||
zip -r -X -y ../VSCodium-darwin-${VSCODE_ARCH}-${LATEST_MS_TAG}.zip ./*.app
|
|
||||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
- name: DMG the release
|
|
||||||
run: |
|
|
||||||
pushd "VSCode-darwin-${VSCODE_ARCH}"
|
|
||||||
npx create-dmg VSCodium.app ..
|
|
||||||
mv "../VSCodium ${LATEST_MS_TAG}.dmg" "../VSCodium.${VSCODE_ARCH}.${LATEST_MS_TAG}.dmg"
|
|
||||||
popd
|
|
||||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
|
||||||
|
|
||||||
- name: Generate shasums
|
|
||||||
run: ./sum.sh
|
|
||||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
|
||||||
|
|
||||||
- name: Release
|
- name: Release
|
||||||
uses: softprops/action-gh-release@v1
|
|
||||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
|
||||||
with:
|
|
||||||
tag_name: ${{ env.LATEST_MS_TAG }}
|
|
||||||
files: |
|
|
||||||
./*.zip
|
|
||||||
./*.dmg
|
|
||||||
./*.sha256
|
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: ./release.sh
|
||||||
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
- name: Update versions repo
|
- name: Update versions repo
|
||||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|||||||
38
.github/workflows/windows.yml
vendored
38
.github/workflows/windows.yml
vendored
@@ -11,6 +11,9 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
windows:
|
windows:
|
||||||
runs-on: windows-2016
|
runs-on: windows-2016
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash
|
||||||
env:
|
env:
|
||||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||||
OS_NAME: 'windows'
|
OS_NAME: 'windows'
|
||||||
@@ -35,19 +38,16 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python-version: '2.x'
|
python-version: '2.x'
|
||||||
|
|
||||||
- name: Check PR or cron
|
|
||||||
run: ./check_cron_or_pr.sh
|
|
||||||
shell: bash
|
|
||||||
|
|
||||||
- name: Clone VSCode repo
|
- name: Clone VSCode repo
|
||||||
run: ./get_repo.sh
|
run: ./get_repo.sh
|
||||||
shell: bash
|
|
||||||
|
- name: Check PR or cron
|
||||||
|
run: ./check_cron_or_pr.sh
|
||||||
|
|
||||||
- name: Check existing VSCodium tags/releases
|
- name: Check existing VSCodium tags/releases
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: ./check_tags.sh
|
run: ./check_tags.sh
|
||||||
shell: bash
|
|
||||||
if: env.SHOULD_DEPLOY == 'yes'
|
if: env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
- name: Compute cache key
|
- name: Compute cache key
|
||||||
@@ -74,39 +74,21 @@ jobs:
|
|||||||
npm_config_arch: ${{ matrix.vscode_arch }}
|
npm_config_arch: ${{ matrix.vscode_arch }}
|
||||||
npm_config_target_arch: ${{ matrix.vscode_arch }}
|
npm_config_target_arch: ${{ matrix.vscode_arch }}
|
||||||
run: ./build.sh
|
run: ./build.sh
|
||||||
shell: bash
|
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
if: env.SHOULD_BUILD == 'yes'
|
||||||
|
|
||||||
- name: Move/rename build artifacts
|
- name: Prepare artifacts
|
||||||
run: |
|
run: ./prepare_artifacts.sh
|
||||||
mv vscode\\.build\\win32-${VSCODE_ARCH}\\system-setup\\VSCodeSetup.exe VSCodiumSetup-${VSCODE_ARCH}-${LATEST_MS_TAG}.exe
|
|
||||||
mv vscode\\.build\\win32-${VSCODE_ARCH}\\user-setup\\VSCodeSetup.exe VSCodiumUserSetup-${VSCODE_ARCH}-${LATEST_MS_TAG}.exe
|
|
||||||
mv vscode\\.build\\win32-${VSCODE_ARCH}\\archive\\VSCode-win32-${VSCODE_ARCH}.zip VSCodium-win32-${VSCODE_ARCH}-${LATEST_MS_TAG}.zip
|
|
||||||
shell: bash
|
|
||||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
- name: Generate shasums
|
|
||||||
run: ./sum.sh
|
|
||||||
shell: bash
|
|
||||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
|
||||||
|
|
||||||
- name: Release
|
- name: Release
|
||||||
uses: softprops/action-gh-release@v1
|
|
||||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
|
||||||
with:
|
|
||||||
tag_name: ${{ env.LATEST_MS_TAG }}
|
|
||||||
files: |
|
|
||||||
./*.sha256
|
|
||||||
./VSCodium*.zip
|
|
||||||
./VSCodiumUserSetup*.exe
|
|
||||||
./VSCodiumSetup*.exe
|
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
run: ./release.sh
|
||||||
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
- name: Update versions repo
|
- name: Update versions repo
|
||||||
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
run: ./update_version.sh
|
run: ./update_version.sh
|
||||||
shell: bash
|
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||||
|
|||||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,3 +1,7 @@
|
|||||||
vscode
|
vscode
|
||||||
VS*/*
|
VS*/*
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
build/linux/appimage/out
|
||||||
|
build/windows/msi/releasedir
|
||||||
|
build/windows/rtf/Readme (Abridged).txt
|
||||||
|
build/windows/rtf/TXT to RTF Converter.exe
|
||||||
|
|||||||
11
DOCS.md
11
DOCS.md
@@ -9,6 +9,7 @@
|
|||||||
- [Proprietary Debugging Tools](#proprietary-debugging-tools)
|
- [Proprietary Debugging Tools](#proprietary-debugging-tools)
|
||||||
- [Proprietary Extensions](#proprietary-extensions)
|
- [Proprietary Extensions](#proprietary-extensions)
|
||||||
- [Migrating from Visual Studio Code to VSCodium](#migrating)
|
- [Migrating from Visual Studio Code to VSCodium](#migrating)
|
||||||
|
- [Sign in with GitHub](#signin-github)
|
||||||
- [How do I run VSCodium in portable mode?](#portable)
|
- [How do I run VSCodium in portable mode?](#portable)
|
||||||
- [How do I press and hold a key and have it repeat in VSCodium?](#press-and-hold)
|
- [How do I press and hold a key and have it repeat in VSCodium?](#press-and-hold)
|
||||||
- [How do I open VSCodium from the terminal?](#terminal-support)
|
- [How do I open VSCodium from the terminal?](#terminal-support)
|
||||||
@@ -122,6 +123,16 @@ To copy your settings manually:
|
|||||||
- Click the three dots `...` and choose 'Open settings.json'
|
- Click the three dots `...` and choose 'Open settings.json'
|
||||||
- Copy the contents of settings.json into the same place in VSCodium
|
- Copy the contents of settings.json into the same place in VSCodium
|
||||||
|
|
||||||
|
## <a id="signin-github"></a>Sign in with GitHub
|
||||||
|
|
||||||
|
In VSCodium, `Sign in with GitHub` is using a Personal Access Token.<br />
|
||||||
|
Follow the documentation https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token to create your token.<br />
|
||||||
|
Select the scopes dependending of the extension which need access to GitHub. (GitLens requires the `repo` scope.)
|
||||||
|
|
||||||
|
### Linux
|
||||||
|
|
||||||
|
If you are getting the error `Writing login information to the keychain failed with error 'The name org.freedesktop.secrets was not provided by any .service files'.`, you need to install the package `gnome-keyring`.
|
||||||
|
|
||||||
## <a id="portable"></a>How do I run VSCodium in portable mode?
|
## <a id="portable"></a>How do I run VSCodium in portable mode?
|
||||||
You can follow the [Portable Mode instructions](https://code.visualstudio.com/docs/editor/portable) from the Visual Studio Code website.
|
You can follow the [Portable Mode instructions](https://code.visualstudio.com/docs/editor/portable) from the Visual Studio Code website.
|
||||||
- **Windows** / **Linux** : the instructions can be followed as written.
|
- **Windows** / **Linux** : the instructions can be followed as written.
|
||||||
|
|||||||
4
LICENSE
4
LICENSE
@@ -1,6 +1,8 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2021 Peter Squicciarini
|
Copyright (c) 2018-present The VSCodium contributors
|
||||||
|
Copyright (c) 2018-present Peter Squicciarini
|
||||||
|
Copyright (c) 2015-present Microsoft Corporation
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
54
build.sh
54
build.sh
@@ -2,10 +2,10 @@
|
|||||||
|
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
if [[ "${SHOULD_BUILD}" == "yes" ]]; then
|
||||||
npm config set scripts-prepend-node-path true
|
npm config set scripts-prepend-node-path true
|
||||||
|
|
||||||
echo "LATEST_MS_COMMIT: ${LATEST_MS_COMMIT}"
|
echo "MS_COMMIT: ${MS_COMMIT}"
|
||||||
|
|
||||||
. prepare_vscode.sh
|
. prepare_vscode.sh
|
||||||
|
|
||||||
@@ -19,22 +19,50 @@ if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
|||||||
yarn gulp compile-extensions-build
|
yarn gulp compile-extensions-build
|
||||||
yarn gulp minify-vscode
|
yarn gulp minify-vscode
|
||||||
|
|
||||||
if [[ "$OS_NAME" == "osx" ]]; then
|
if [[ "${OS_NAME}" == "osx" ]]; then
|
||||||
yarn gulp "vscode-darwin-${VSCODE_ARCH}-min-ci"
|
yarn gulp "vscode-darwin-${VSCODE_ARCH}-min-ci"
|
||||||
elif [[ "$OS_NAME" == "windows" ]]; then
|
elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||||
cp LICENSE.txt LICENSE.rtf # windows build expects rtf license
|
. ../build/windows/rtf/make.sh
|
||||||
|
|
||||||
yarn gulp "vscode-win32-${VSCODE_ARCH}-min-ci"
|
yarn gulp "vscode-win32-${VSCODE_ARCH}-min-ci"
|
||||||
yarn gulp "vscode-win32-${VSCODE_ARCH}-code-helper"
|
|
||||||
yarn gulp "vscode-win32-${VSCODE_ARCH}-inno-updater"
|
yarn gulp "vscode-win32-${VSCODE_ARCH}-inno-updater"
|
||||||
yarn gulp "vscode-win32-${VSCODE_ARCH}-archive"
|
|
||||||
yarn gulp "vscode-win32-${VSCODE_ARCH}-system-setup"
|
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
|
||||||
yarn gulp "vscode-win32-${VSCODE_ARCH}-user-setup"
|
yarn gulp "vscode-win32-${VSCODE_ARCH}-archive"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD_EXE_SYS}" != "no" ]]; then
|
||||||
|
yarn gulp "vscode-win32-${VSCODE_ARCH}-system-setup"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD_EXE_USR}" != "no" ]]; then
|
||||||
|
yarn gulp "vscode-win32-${VSCODE_ARCH}-user-setup"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${VSCODE_ARCH}" == "ia32" || "${VSCODE_ARCH}" == "x64" ]]; then
|
||||||
|
if [[ "${SHOULD_BUILD_MSI}" != "no" ]]; then
|
||||||
|
. ../build/windows/msi/build.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD_MSI_NOUP}" != "no" ]]; then
|
||||||
|
. ../build/windows/msi/build-updates-disabled.sh
|
||||||
|
fi
|
||||||
|
fi
|
||||||
else # linux
|
else # linux
|
||||||
yarn gulp "vscode-linux-${VSCODE_ARCH}-min-ci"
|
yarn gulp "vscode-linux-${VSCODE_ARCH}-min-ci"
|
||||||
if [[ "$SKIP_LINUX_PACKAGES" != "True" ]]; then
|
|
||||||
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-deb"
|
if [[ "${SKIP_LINUX_PACKAGES}" != "True" ]]; then
|
||||||
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-rpm"
|
if [[ "${SHOULD_BUILD_DEB}" != "no" || "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
|
||||||
. ../create_appimage.sh
|
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-deb"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD_RPM}" != "no" ]]; then
|
||||||
|
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-rpm"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
|
||||||
|
. ../build/linux/appimage/build.sh
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,6 @@
|
|||||||
# powershell -ExecutionPolicy ByPass -File .\build\build_windows.ps1
|
# powershell -ExecutionPolicy ByPass -File .\build\build_windows.ps1
|
||||||
|
|
||||||
$env:Path += ";C:\Program Files\Git\bin"
|
# first so `bash` is the one installed with `git`, avoid conflict with WSL
|
||||||
|
$env:Path = "C:\Program Files\Git\bin;" + $env:Path
|
||||||
|
|
||||||
Remove-Item -Recurse -Force VSCode*
|
bash ./build/build_windows.sh
|
||||||
|
|
||||||
bash ./get_repo.sh
|
|
||||||
|
|
||||||
$Env:SHOULD_BUILD = 'yes'
|
|
||||||
$Env:CI_BUILD = 'no'
|
|
||||||
$Env:OS_NAME = 'windows'
|
|
||||||
$Env:VSCODE_ARCH = 'x64'
|
|
||||||
|
|
||||||
bash ./build.sh
|
|
||||||
|
|||||||
11
build/build_windows.sh
Executable file
11
build/build_windows.sh
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# to run with Bash: "C:\Program Files\Git\bin\bash.exe" ./build/build_windows.sh
|
||||||
|
|
||||||
|
rm -rf VSCode*
|
||||||
|
rm -rf vscode
|
||||||
|
rm -rf build/windows/msi/releasedir
|
||||||
|
|
||||||
|
. get_repo.sh
|
||||||
|
|
||||||
|
SHOULD_BUILD=yes CI_BUILD=no OS_NAME=windows VSCODE_ARCH=x64 . build.sh
|
||||||
@@ -1,6 +1,10 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
cd ..
|
set -ex
|
||||||
|
|
||||||
|
CALLER_DIR=$( pwd )
|
||||||
|
|
||||||
|
cd "$( dirname "${BASH_SOURCE[0]}" )"
|
||||||
|
|
||||||
if [[ "$VSCODE_ARCH" == "x64" ]]; then
|
if [[ "$VSCODE_ARCH" == "x64" ]]; then
|
||||||
wget -c https://github.com/$(wget -q https://github.com/AppImage/pkg2appimage/releases -O - | grep "pkg2appimage-.*-x86_64.AppImage" | head -n 1 | cut -d '"' -f 2)
|
wget -c https://github.com/$(wget -q https://github.com/AppImage/pkg2appimage/releases -O - | grep "pkg2appimage-.*-x86_64.AppImage" | head -n 1 | cut -d '"' -f 2)
|
||||||
@@ -14,7 +18,11 @@ if [[ "$VSCODE_ARCH" == "x64" ]]; then
|
|||||||
# remove check so build in docker can succeed
|
# remove check so build in docker can succeed
|
||||||
sed -i 's/grep docker/# grep docker/' pkg2appimage.AppDir/usr/share/pkg2appimage/functions.sh
|
sed -i 's/grep docker/# grep docker/' pkg2appimage.AppDir/usr/share/pkg2appimage/functions.sh
|
||||||
|
|
||||||
bash -ex pkg2appimage.AppDir/AppRun VSCodium-AppImage-Recipe.yml
|
bash -ex pkg2appimage.AppDir/AppRun recipe.yml
|
||||||
|
|
||||||
|
rm -f pkg2appimage-*.AppImage
|
||||||
|
rm -rf pkg2appimage.AppDir
|
||||||
|
rm -rf VSCodium
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd vscode
|
cd "${CALLER_DIR}"
|
||||||
@@ -16,7 +16,7 @@ ingredients:
|
|||||||
- deb http://archive.ubuntu.com/ubuntu/ trusty main universe
|
- deb http://archive.ubuntu.com/ubuntu/ trusty main universe
|
||||||
script:
|
script:
|
||||||
- pwd
|
- pwd
|
||||||
- cp ../vscode/.build/linux/deb/amd64/deb/*.deb .
|
- cp ../../../../vscode/.build/linux/deb/amd64/deb/*.deb .
|
||||||
- ls codium_*.deb | cut -d _ -f 2 > VERSION
|
- ls codium_*.deb | cut -d _ -f 2 > VERSION
|
||||||
|
|
||||||
script:
|
script:
|
||||||
21
build/windows/msi/build-updates-disabled.sh
Normal file
21
build/windows/msi/build-updates-disabled.sh
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
CALLER_DIR=$( pwd )
|
||||||
|
|
||||||
|
cd "$( dirname "${BASH_SOURCE[0]}" )"
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
cd "${SCRIPT_DIR}"
|
||||||
|
|
||||||
|
. build.sh "updates-disabled"
|
||||||
|
|
||||||
|
cd "${CALLER_DIR}"
|
||||||
86
build/windows/msi/build.sh
Normal file
86
build/windows/msi/build.sh
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
CALLER_DIR=$( pwd )
|
||||||
|
|
||||||
|
cd "$( dirname "${BASH_SOURCE[0]}" )"
|
||||||
|
|
||||||
|
WIN_SDK_MAJOR_VERSION="10"
|
||||||
|
WIN_SDK_FULL_VERSION="10.0.17763.0"
|
||||||
|
|
||||||
|
PRODUCT_NAME="VSCodium"
|
||||||
|
PRODUCT_SKU="vscodium"
|
||||||
|
PRODUCT_ID=$( powershell.exe -command "[guid]::NewGuid().ToString().ToUpper()" )
|
||||||
|
PRODUCT_ID="${PRODUCT_ID%%[[:cntrl:]]}"
|
||||||
|
|
||||||
|
CULTURE="en-us"
|
||||||
|
LANGIDS="1033"
|
||||||
|
|
||||||
|
SETUP_RELEASE_DIR=".\\releasedir"
|
||||||
|
SETUP_RESOURCES_DIR=".\\resources"
|
||||||
|
BINARY_DIR="..\\..\\..\\VSCode-win32-${VSCODE_ARCH}"
|
||||||
|
ICON_DIR="..\\..\\..\\src\\resources\\win32"
|
||||||
|
LICENSE_DIR="..\\..\\..\\vscode"
|
||||||
|
PROGRAM_FILES_86=$( env | sed -n 's/^ProgramFiles(x86)=//p' )
|
||||||
|
|
||||||
|
if [[ -z "$1" ]]; then
|
||||||
|
OUTPUT_BASE_FILENAME="${PRODUCT_NAME}-${VSCODE_ARCH}-${MS_TAG}"
|
||||||
|
else
|
||||||
|
OUTPUT_BASE_FILENAME="${PRODUCT_NAME}-${VSCODE_ARCH}-$1-${MS_TAG}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${VSCODE_ARCH}" == "ia32" ]]; then
|
||||||
|
export PLATFORM="x86"
|
||||||
|
else
|
||||||
|
export PLATFORM="${VSCODE_ARCH}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
BuildSetupTranslationTransform() {
|
||||||
|
local CULTURE=$1
|
||||||
|
local LANGID=$2
|
||||||
|
|
||||||
|
LANGIDS="${LANGIDS},${LANGID}"
|
||||||
|
|
||||||
|
echo "Building setup translation for culture \"${CULTURE}\" with LangID \"${LANGID}\"..."
|
||||||
|
|
||||||
|
"${WIX}bin\\light.exe" vscodium.wixobj "Files-${OUTPUT_BASE_FILENAME}.wixobj" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -spdb -cc "${TEMP}\\vscodium-cab-cache\\${PLATFORM}" -reusecab -out "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi" -loc "i18n\\${PRODUCT_SKU}.${CULTURE}.wxl" -cultures:"${CULTURE}" -sice:ICE60 -sice:ICE69
|
||||||
|
|
||||||
|
cscript "${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\${PLATFORM}\\WiLangId.vbs" ${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi Product "${LANGID}"
|
||||||
|
|
||||||
|
"${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\x86\\msitran" -g "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.mst"
|
||||||
|
|
||||||
|
cscript "${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\${PLATFORM}\\wisubstg.vbs" ${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi ${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.mst "${LANGID}"
|
||||||
|
|
||||||
|
cscript "${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\${PLATFORM}\\wisubstg.vbs" ${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi
|
||||||
|
|
||||||
|
rm -f "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.msi"
|
||||||
|
rm -f "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.${CULTURE}.mst"
|
||||||
|
}
|
||||||
|
|
||||||
|
"${WIX}bin\\heat.exe" dir "${BINARY_DIR}" -out "Files-${OUTPUT_BASE_FILENAME}.wxs" -t vscodium.xsl -gg -sfrag -scom -sreg -srd -ke -cg "AppFiles" -var var.AppName -var var.ProductVersion -var var.IconDir -var var.LicenseDir -var var.BinaryDir -dr APPLICATIONFOLDER -platform "${PLATFORM}"
|
||||||
|
"${WIX}bin\\candle.exe" -arch "${PLATFORM}" vscodium.wxs "Files-${OUTPUT_BASE_FILENAME}.wxs" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -dAppName=${PRODUCT_NAME} -dProductVersion="${MS_TAG}" -dProductId="${PRODUCT_ID}" -dBinaryDir="${BINARY_DIR}" -dIconDir="${ICON_DIR}" -dLicenseDir="${LICENSE_DIR}" -dSetupResourcesDir="${SETUP_RESOURCES_DIR}" -dCulture="${CULTURE}"
|
||||||
|
"${WIX}bin\\light.exe" vscodium.wixobj "Files-${OUTPUT_BASE_FILENAME}.wixobj" -ext WixUIExtension -ext WixUtilExtension -ext WixNetFxExtension -spdb -cc "${TEMP}\\vscodium-cab-cache\\${PLATFORM}" -out "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi" -loc "i18n\\${PRODUCT_SKU}.${CULTURE}.wxl" -cultures:"${CULTURE}" -sice:ICE60 -sice:ICE69
|
||||||
|
|
||||||
|
BuildSetupTranslationTransform de-de 1031
|
||||||
|
BuildSetupTranslationTransform es-es 3082
|
||||||
|
BuildSetupTranslationTransform fr-fr 1036
|
||||||
|
BuildSetupTranslationTransform it-it 1040
|
||||||
|
# WixUI_Advanced bug: https://github.com/wixtoolset/issues/issues/5909
|
||||||
|
# BuildSetupTranslationTransform ja-jp 1041
|
||||||
|
BuildSetupTranslationTransform ko-kr 1042
|
||||||
|
BuildSetupTranslationTransform ru-ru 1049
|
||||||
|
BuildSetupTranslationTransform zh-cn 2052
|
||||||
|
BuildSetupTranslationTransform zh-tw 1028
|
||||||
|
|
||||||
|
# Add all supported languages to MSI Package attribute
|
||||||
|
cscript "${PROGRAM_FILES_86}\\Windows Kits\\${WIN_SDK_MAJOR_VERSION}\\bin\\${WIN_SDK_FULL_VERSION}\\${PLATFORM}\\WiLangId.vbs" "${SETUP_RELEASE_DIR}\\${OUTPUT_BASE_FILENAME}.msi" Package "${LANGIDS}"
|
||||||
|
|
||||||
|
# Remove files we do not need any longer.
|
||||||
|
rm -rf "${TEMP}\\vscodium-cab-cache"
|
||||||
|
rm -f "Files-${OUTPUT_BASE_FILENAME}.wxs"
|
||||||
|
rm -f "Files-${OUTPUT_BASE_FILENAME}.wixobj"
|
||||||
|
rm -f "vscodium.wixobj"
|
||||||
|
|
||||||
|
cd "${CALLER_DIR}"
|
||||||
25
build/windows/msi/i18n/vscodium.de-de.wxl
Normal file
25
build/windows/msi/i18n/vscodium.de-de.wxl
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WixLocalization Culture="de-de" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||||
|
<String Id="ProductLanguage">1031</String>
|
||||||
|
<String Id="ProductName">VSCodium</String>
|
||||||
|
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="PackageDescription">Paket mit VSCodium</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutTitle">Startmenü-Verknüpfung</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutDescription">Startmenü-Symbol erstellen.</String>
|
||||||
|
<String Id="FeatureDesktopShortcutTitle">Desktop-Verknüpfung</String>
|
||||||
|
<String Id="FeatureDesktopShortcutDescription">Desktop-Symbol erstellen.</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsTitle">Dateizuordnungen</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsDescription">VSCodium als Editor für unterstützte Dateitypen registrieren.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesTitle">Dateikontextmenü</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesDescription">Aktion "Mit VSCodium öffnen" dem Dateikontextmenü von Windows-Explorer hinzufügen.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersTitle">Verzeichniskontextmenü</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersDescription">Aktion "Mit VSCodium öffnen" dem Verzeichniskontextmenü von Windows-Explorer hinzufügen.</String>
|
||||||
|
<String Id="FeatureEnvironmentTitle">Zu PATH hinzufügen</String>
|
||||||
|
<String Id="FeatureEnvironmentDescription">VSCodium zur PATH Variable hinzufügen. Nach dem Neustart verfügbar.</String>
|
||||||
|
<String Id="LaunchApplication">VSCodium ausführen</String>
|
||||||
|
<String Id="NewerVersionInstalled">Eine neuere Version von VSCodium ist bereits installiert.</String>
|
||||||
|
<String Id="MinimumNetFramworkRequired">Diese Anwendung erfordert .NET Framework 4.5.2 oder höher. Bitte installieren Sie .NET Framework und führen Sie dieses Installationsprogramm erneut aus.</String>
|
||||||
|
<String Id="OSVersionRequired">Windows 7 oder neuer ist erforderlich.</String>
|
||||||
|
</WixLocalization>
|
||||||
25
build/windows/msi/i18n/vscodium.en-us.wxl
Normal file
25
build/windows/msi/i18n/vscodium.en-us.wxl
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WixLocalization Culture="en-us" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||||
|
<String Id="ProductLanguage">1033</String>
|
||||||
|
<String Id="ProductName">VSCodium</String>
|
||||||
|
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="PackageDescription">Package with VSCodium</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
|
||||||
|
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
|
||||||
|
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsDescription">Register VSCodium as an editor for supported file types.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with VSCodium" action to Windows Explorer file contect menu.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with VSCodium" action to Windows Explorer directory contect menu.</String>
|
||||||
|
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
|
||||||
|
<String Id="FeatureEnvironmentDescription">Add VSCodium to PATH environment variable. Available after restart.</String>
|
||||||
|
<String Id="LaunchApplication">Launch VSCodium</String>
|
||||||
|
<String Id="NewerVersionInstalled">Newer version of VSCodium is already installed.</String>
|
||||||
|
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
|
||||||
|
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
|
||||||
|
</WixLocalization>
|
||||||
25
build/windows/msi/i18n/vscodium.es-es.wxl
Normal file
25
build/windows/msi/i18n/vscodium.es-es.wxl
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WixLocalization Culture="es-es" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||||
|
<String Id="ProductLanguage">3082</String>
|
||||||
|
<String Id="ProductName">VSCodium</String>
|
||||||
|
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="PackageDescription">Package with VSCodium</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
|
||||||
|
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
|
||||||
|
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsDescription">Register VSCodium as an editor for supported file types.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with VSCodium" action to Windows Explorer file contect menu.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with VSCodium" action to Windows Explorer directory contect menu.</String>
|
||||||
|
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
|
||||||
|
<String Id="FeatureEnvironmentDescription">Add VSCodium to PATH environment variable. Available after restart.</String>
|
||||||
|
<String Id="LaunchApplication">Launch VSCodium</String>
|
||||||
|
<String Id="NewerVersionInstalled">Newer version of VSCodium is already installed.</String>
|
||||||
|
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
|
||||||
|
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
|
||||||
|
</WixLocalization>
|
||||||
25
build/windows/msi/i18n/vscodium.fr-fr.wxl
Normal file
25
build/windows/msi/i18n/vscodium.fr-fr.wxl
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WixLocalization Culture="fr-fr" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||||
|
<String Id="ProductLanguage">1036</String>
|
||||||
|
<String Id="ProductName">VSCodium</String>
|
||||||
|
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="PackageDescription">Package with VSCodium</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
|
||||||
|
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
|
||||||
|
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsDescription">Register VSCodium as an editor for supported file types.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with VSCodium" action to Windows Explorer file contect menu.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with VSCodium" action to Windows Explorer directory contect menu.</String>
|
||||||
|
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
|
||||||
|
<String Id="FeatureEnvironmentDescription">Add VSCodium to PATH environment variable. Available after restart.</String>
|
||||||
|
<String Id="LaunchApplication">Launch VSCodium</String>
|
||||||
|
<String Id="NewerVersionInstalled">Newer version of VSCodium is already installed.</String>
|
||||||
|
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
|
||||||
|
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
|
||||||
|
</WixLocalization>
|
||||||
25
build/windows/msi/i18n/vscodium.it-it.wxl
Normal file
25
build/windows/msi/i18n/vscodium.it-it.wxl
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WixLocalization Culture="it-it" Codepage="1252" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||||
|
<String Id="ProductLanguage">1040</String>
|
||||||
|
<String Id="ProductName">VSCodium</String>
|
||||||
|
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="PackageDescription">Package with VSCodium</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
|
||||||
|
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
|
||||||
|
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsDescription">Register VSCodium as an editor for supported file types.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with VSCodium" action to Windows Explorer file contect menu.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with VSCodium" action to Windows Explorer directory contect menu.</String>
|
||||||
|
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
|
||||||
|
<String Id="FeatureEnvironmentDescription">Add VSCodium to PATH environment variable. Available after restart.</String>
|
||||||
|
<String Id="LaunchApplication">Launch VSCodium</String>
|
||||||
|
<String Id="NewerVersionInstalled">Newer version of VSCodium is already installed.</String>
|
||||||
|
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
|
||||||
|
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
|
||||||
|
</WixLocalization>
|
||||||
25
build/windows/msi/i18n/vscodium.ja-jp.wxl
Normal file
25
build/windows/msi/i18n/vscodium.ja-jp.wxl
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WixLocalization Culture="ja-jp" Codepage="932" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||||
|
<String Id="ProductLanguage">1041</String>
|
||||||
|
<String Id="ProductName">VSCodium</String>
|
||||||
|
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="PackageDescription">Package with VSCodium</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
|
||||||
|
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
|
||||||
|
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsDescription">Register VSCodium as an editor for supported file types.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with VSCodium" action to Windows Explorer file contect menu.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with VSCodium" action to Windows Explorer directory contect menu.</String>
|
||||||
|
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
|
||||||
|
<String Id="FeatureEnvironmentDescription">Add VSCodium to PATH environment variable. Available after restart.</String>
|
||||||
|
<String Id="LaunchApplication">Launch VSCodium</String>
|
||||||
|
<String Id="NewerVersionInstalled">Newer version of VSCodium is already installed.</String>
|
||||||
|
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
|
||||||
|
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
|
||||||
|
</WixLocalization>
|
||||||
25
build/windows/msi/i18n/vscodium.ko-kr.wxl
Normal file
25
build/windows/msi/i18n/vscodium.ko-kr.wxl
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WixLocalization Culture="ko-kr" Codepage="949" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||||
|
<String Id="ProductLanguage">1042</String>
|
||||||
|
<String Id="ProductName">VSCodium</String>
|
||||||
|
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="PackageDescription">Package with VSCodium</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
|
||||||
|
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
|
||||||
|
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsDescription">Register VSCodium as an editor for supported file types.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with VSCodium" action to Windows Explorer file contect menu.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with VSCodium" action to Windows Explorer directory contect menu.</String>
|
||||||
|
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
|
||||||
|
<String Id="FeatureEnvironmentDescription">Add VSCodium to PATH environment variable. Available after restart.</String>
|
||||||
|
<String Id="LaunchApplication">Launch VSCodium</String>
|
||||||
|
<String Id="NewerVersionInstalled">Newer version of VSCodium is already installed.</String>
|
||||||
|
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
|
||||||
|
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
|
||||||
|
</WixLocalization>
|
||||||
25
build/windows/msi/i18n/vscodium.ru-ru.wxl
Normal file
25
build/windows/msi/i18n/vscodium.ru-ru.wxl
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WixLocalization Culture="ru-ru" Codepage="1251" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||||
|
<String Id="ProductLanguage">1049</String>
|
||||||
|
<String Id="ProductName">VSCodium</String>
|
||||||
|
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="PackageDescription">Package with VSCodium</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
|
||||||
|
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
|
||||||
|
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsDescription">Register VSCodium as an editor for supported file types.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with VSCodium" action to Windows Explorer file contect menu.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with VSCodium" action to Windows Explorer directory contect menu.</String>
|
||||||
|
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
|
||||||
|
<String Id="FeatureEnvironmentDescription">Add VSCodium to PATH environment variable. Available after restart.</String>
|
||||||
|
<String Id="LaunchApplication">Launch VSCodium</String>
|
||||||
|
<String Id="NewerVersionInstalled">Newer version of VSCodium is already installed.</String>
|
||||||
|
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
|
||||||
|
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
|
||||||
|
</WixLocalization>
|
||||||
25
build/windows/msi/i18n/vscodium.zh-cn.wxl
Normal file
25
build/windows/msi/i18n/vscodium.zh-cn.wxl
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WixLocalization Culture="zh-cn" Codepage="936" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||||
|
<String Id="ProductLanguage">2052</String>
|
||||||
|
<String Id="ProductName">VSCodium</String>
|
||||||
|
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="PackageDescription">Package with VSCodium</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
|
||||||
|
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
|
||||||
|
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsDescription">Register VSCodium as an editor for supported file types.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with VSCodium" action to Windows Explorer file contect menu.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with VSCodium" action to Windows Explorer directory contect menu.</String>
|
||||||
|
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
|
||||||
|
<String Id="FeatureEnvironmentDescription">Add VSCodium to PATH environment variable. Available after restart.</String>
|
||||||
|
<String Id="LaunchApplication">Launch VSCodium</String>
|
||||||
|
<String Id="NewerVersionInstalled">Newer version of VSCodium is already installed.</String>
|
||||||
|
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
|
||||||
|
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
|
||||||
|
</WixLocalization>
|
||||||
25
build/windows/msi/i18n/vscodium.zh-tw.wxl
Normal file
25
build/windows/msi/i18n/vscodium.zh-tw.wxl
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<WixLocalization Culture="zh-tw" Codepage="950" xmlns="http://schemas.microsoft.com/wix/2006/localization">
|
||||||
|
<String Id="ProductLanguage">1028</String>
|
||||||
|
<String Id="ProductName">VSCodium</String>
|
||||||
|
<String Id="ProductHelpLink">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlInfoAbout">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="ProductUrlUpdateInfo">https://github.com/VSCodium/vscodium</String>
|
||||||
|
<String Id="PackageDescription">Package with VSCodium</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutTitle">Start Menu shortcut</String>
|
||||||
|
<String Id="FeatureStartMenuShortcutDescription">Create a start menu icon.</String>
|
||||||
|
<String Id="FeatureDesktopShortcutTitle">Desktop shortcut</String>
|
||||||
|
<String Id="FeatureDesktopShortcutDescription">Create a desktop icon.</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsTitle">File Associations</String>
|
||||||
|
<String Id="FeatureFileTypeAssociationsDescription">Register VSCodium as an editor for supported file types.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesTitle">Files context menu</String>
|
||||||
|
<String Id="FeatureAddContextMenuFilesDescription">Add "Open with VSCodium" action to Windows Explorer file contect menu.</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersTitle">Directory context menu</String>
|
||||||
|
<String Id="FeatureAddContextMenuFoldersDescription">Add "Open with VSCodium" action to Windows Explorer directory contect menu.</String>
|
||||||
|
<String Id="FeatureEnvironmentTitle">Add to PATH</String>
|
||||||
|
<String Id="FeatureEnvironmentDescription">Add VSCodium to PATH environment variable. Available after restart.</String>
|
||||||
|
<String Id="LaunchApplication">Launch VSCodium</String>
|
||||||
|
<String Id="NewerVersionInstalled">Newer version of VSCodium is already installed.</String>
|
||||||
|
<String Id="MinimumNetFramworkRequired">This application requires .NET Framework 4.5.2 or later. Please install the .NET Framework then run this installer again.</String>
|
||||||
|
<String Id="OSVersionRequired">Windows 7 or later is required.</String>
|
||||||
|
</WixLocalization>
|
||||||
27
build/windows/msi/includes/vscodium-variables.wxi
Normal file
27
build/windows/msi/includes/vscodium-variables.wxi
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Include>
|
||||||
|
<!-- Setup UI strings. -->
|
||||||
|
<?if $(env.Platform)=x86?>
|
||||||
|
<?define ProgramFilesFolder="ProgramFilesFolder" ?>
|
||||||
|
<?define Win64="no" ?>
|
||||||
|
<?define Arch="(x86)" ?>
|
||||||
|
<?else?>
|
||||||
|
<?define ProgramFilesFolder="ProgramFiles64Folder" ?>
|
||||||
|
<?define Win64="yes" ?>
|
||||||
|
<?define Arch="(x64)" ?>
|
||||||
|
<?endif?>
|
||||||
|
|
||||||
|
<!-- <?define ProductVersion="$(var.ProductVersion)" ?> -->
|
||||||
|
<?define ProductName="!(loc.ProductName)" ?>
|
||||||
|
<?define ProductNameWithVersion="!(loc.ProductName) $(var.ProductVersion) $(var.Arch)" ?>
|
||||||
|
<?define ProductLanguage="!(loc.ProductLanguage)" ?>
|
||||||
|
<?define AppCodeName="$(var.AppName)" ?>
|
||||||
|
<!-- <?define AppName="$(var.AppName)" ?> -->
|
||||||
|
<?define AppFolderName="$(var.AppName)" ?>
|
||||||
|
<?define ProductManufacturerShort="$(var.AppName)" ?>
|
||||||
|
<?define ProductManufacturerLong="$(var.AppName)" ?>
|
||||||
|
|
||||||
|
<!-- Static settings, DO NOT TOUCH or upgrades will break! -->
|
||||||
|
<?define ProductUpgradeCode="{965370CD-253C-4720-82FC-2E6B02A53808}" ?>
|
||||||
|
<?define RTMProductVersion="0.0.1" ?>
|
||||||
|
</Include>
|
||||||
BIN
build/windows/msi/resources/wix-banner.bmp
Normal file
BIN
build/windows/msi/resources/wix-banner.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 84 KiB |
BIN
build/windows/msi/resources/wix-dialog.bmp
Normal file
BIN
build/windows/msi/resources/wix-dialog.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 451 KiB |
1507
build/windows/msi/vscodium.wxs
Normal file
1507
build/windows/msi/vscodium.wxs
Normal file
File diff suppressed because it is too large
Load Diff
468
build/windows/msi/vscodium.xsl
Normal file
468
build/windows/msi/vscodium.xsl
Normal file
@@ -0,0 +1,468 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xsl:stylesheet version="1.0"
|
||||||
|
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
xmlns:wi="http://schemas.microsoft.com/wix/2006/wi">
|
||||||
|
|
||||||
|
<xsl:strip-space elements="*"/>
|
||||||
|
|
||||||
|
<xsl:template match="@*|node()">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:apply-templates select="@*|node()" />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId1ToReplace" match="wi:Component[wi:File[contains(@Source,'VSCodium.exe')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId1ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">VSCODIUM.EXE</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'VSCodium.exe')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">VSCODIUM.EXE</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId2ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\bower.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId2ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">BOWER.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\bower.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">BOWER.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId3ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\c.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId3ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">C.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\c.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">C.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId4ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\config.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId4ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">CONFIG.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\config.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">CONFIG.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId5ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\cpp.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId5ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">CPP.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\cpp.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">CPP.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId7ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\csharp.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId7ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">CSHARP.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\csharp.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">CSHARP.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId8ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\css.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId8ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">CSS.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\css.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">CSS.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId9ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\default.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId9ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">DEFAULT.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\default.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">DEFAULT.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId10ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\go.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId10ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">GO.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\go.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">GO.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId11ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\html.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId11ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">HTML.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\html.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">HTML.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId12ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\jade.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId12ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">JADE.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\jade.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">JADE.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId13ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\java.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId13ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">JAVA.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\java.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">JAVA.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId14ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\javascript.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId14ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">JAVASCRIPT.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\javascript.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">JAVASCRIPT.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId15ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\json.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId15ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">JSON.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\json.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">JSON.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId16ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\less.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId16ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">LESS.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\less.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">LESS.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId17ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\markdown.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId17ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">MARKDOWN.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\markdown.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">MARKDOWN.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId18ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\php.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId18ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">PHP.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\php.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">PHP.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId19ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\powershell.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId19ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">POWERSHELL.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\powershell.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">POWERSHELL.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId20ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\python.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId20ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">PYTHON.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\python.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">PYTHON.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId21ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\react.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId21ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">REACT.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\react.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">REACT.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId22ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\ruby.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId22ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">RUBY.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\ruby.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">RUBY.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId23ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\sass.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId23ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">SASS.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\sass.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">SASS.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId24ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\shell.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId24ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">SHELL.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\shell.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">SHELL.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId25ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\sql.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId25ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">SQL.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\sql.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">SQL.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId26ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\typescript.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId26ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">TYPESCRIPT.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\typescript.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">TYPESCRIPT.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId27ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\vue.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId27ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">VUE.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\vue.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">VUE.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId28ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\xml.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId28ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">XML.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\xml.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">XML.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<xsl:key name="vId29ToReplace" match="wi:Component[wi:File[contains(@Source,'resources\app\resources\win32\yaml.ico')]]" use="@Id"/>
|
||||||
|
<xsl:template match="node()[key('vId29ToReplace', @Id)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">YAML.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
<xsl:template match="wi:Component/wi:File[contains(@Source,'resources\app\resources\win32\yaml.ico')]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:attribute name="Id">YAML.ICO</xsl:attribute>
|
||||||
|
<xsl:copy-of select="@*[name()!='Id']"/>
|
||||||
|
<xsl:apply-templates />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!-- Remove conflicting non-MSI updater -->
|
||||||
|
<xsl:key name="FileToRemove" match="wi:Component[wi:File[contains(@Source,'tools\inno_updater.exe')]]" use="@Id" />
|
||||||
|
<xsl:template match="*[self::wi:Component or self::wi:ComponentRef][key('FileToRemove', @Id)]" />
|
||||||
|
|
||||||
|
<xsl:key name="FileToRemove" match="wi:Component[wi:File[contains(@Source,'tools\vcruntime140.dll')]]" use="@Id" />
|
||||||
|
<xsl:template match="*[self::wi:Component or self::wi:ComponentRef][key('FileToRemove', @Id)]" />
|
||||||
|
</xsl:stylesheet>
|
||||||
20
build/windows/rtf/make.sh
Normal file
20
build/windows/rtf/make.sh
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
cd "$( dirname "${BASH_SOURCE[0]}" )"/../../../vscode
|
||||||
|
|
||||||
|
input=LICENSE.txt
|
||||||
|
target=LICENSE.rtf
|
||||||
|
|
||||||
|
cat - >$target <<_EOF
|
||||||
|
{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Consolas;}}
|
||||||
|
\viewkind4\uc1\pard\lang1033\f0\fs22
|
||||||
|
|
||||||
|
_EOF
|
||||||
|
|
||||||
|
sed -zE -e 's/([A-Za-z,])\r?\n([A-Za-z])/\1 \2/g' -e 's/\r?\n\r?\n/\\par\n\n/g' -e 's/(\\par\n)/\\line\1/g' -e 's/\s*(Copyright)/\\line\n\1/g' -e 's/(\\par)\\line/\1\n/g' $input >> $target
|
||||||
|
|
||||||
|
|
||||||
|
cat - >>$target <<_EOF
|
||||||
|
\par
|
||||||
|
}
|
||||||
|
_EOF
|
||||||
@@ -5,6 +5,11 @@ set -e
|
|||||||
if [[ $GITHUB_EVENT_NAME == "pull_request" ]]; then
|
if [[ $GITHUB_EVENT_NAME == "pull_request" ]]; then
|
||||||
echo "It's a PR"
|
echo "It's a PR"
|
||||||
|
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
export SHOULD_DEPLOY="no"
|
||||||
|
elif [[ $GITHUB_EVENT_NAME == "push" ]]; then
|
||||||
|
echo "It's a Push"
|
||||||
|
|
||||||
export SHOULD_BUILD="yes"
|
export SHOULD_BUILD="yes"
|
||||||
export SHOULD_DEPLOY="no"
|
export SHOULD_DEPLOY="no"
|
||||||
else
|
else
|
||||||
|
|||||||
381
check_tags.sh
381
check_tags.sh
@@ -2,132 +2,259 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
REPOSITORY=${GITHUB_REPOSITORY:-"VSCodium/vscodium"}
|
if [[ -z "${GITHUB_TOKEN}" ]]; then
|
||||||
GITHUB_RESPONSE=$(curl -s -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/repos/$REPOSITORY/releases/tags/$LATEST_MS_TAG)
|
echo "Will not build because no GITHUB_TOKEN defined"
|
||||||
VSCODIUM_ASSETS=$(echo $GITHUB_RESPONSE | jq '.assets')
|
exit
|
||||||
|
|
||||||
# if we just don't have the github token, get out fast
|
|
||||||
if [ "$GITHUB_TOKEN" != "" ]; then
|
|
||||||
if [ "$VSCODIUM_ASSETS" != "null" ]; then
|
|
||||||
if [[ "$OS_NAME" == "osx" ]]; then
|
|
||||||
HAVE_MAC=$(echo $VSCODIUM_ASSETS | jq --arg suffix "darwin-$VSCODE_ARCH-$LATEST_MS_TAG.zip" 'map(.name) | contains([$suffix])')
|
|
||||||
if [[ "$HAVE_MAC" != "true" ]]; then
|
|
||||||
echo "Building on Mac because we have no ZIP"
|
|
||||||
export SHOULD_BUILD="yes"
|
|
||||||
fi
|
|
||||||
elif [[ "$OS_NAME" == "windows" ]]; then
|
|
||||||
if [[ $VSCODE_ARCH == "arm64" ]]; then
|
|
||||||
HAVE_ARM64_SYS=$(echo $VSCODIUM_ASSETS | jq --arg suffix "VSCodiumSetup-$VSCODE_ARCH-$LATEST_MS_TAG.exe" 'map(.name) | contains([$suffix])')
|
|
||||||
HAVE_ARM64_USR=$(echo $VSCODIUM_ASSETS | jq --arg suffix "UserSetup-$VSCODE_ARCH-$LATEST_MS_TAG.exe" 'map(.name) | contains([$suffix])')
|
|
||||||
HAVE_ARM64_ZIP=$(echo $VSCODIUM_ASSETS | jq --arg suffix "win32-$VSCODE_ARCH-$LATEST_MS_TAG.zip" 'map(.name) | contains([$suffix])')
|
|
||||||
if [[ "$HAVE_ARM64_SYS" != "true" ]]; then
|
|
||||||
echo "Building on Windows arm64 because we have no system setup"
|
|
||||||
export SHOULD_BUILD="yes"
|
|
||||||
fi
|
|
||||||
if [[ "$HAVE_ARM64_USR" != "true" ]]; then
|
|
||||||
echo "Building on Windows arm64 because we have no user setup"
|
|
||||||
export SHOULD_BUILD="yes"
|
|
||||||
fi
|
|
||||||
if [[ "$HAVE_ARM64_ZIP" != "true" ]]; then
|
|
||||||
echo "Building on Windows arm64 because we have no zip"
|
|
||||||
export SHOULD_BUILD="yes"
|
|
||||||
fi
|
|
||||||
if [[ "$SHOULD_BUILD" != "yes" ]]; then
|
|
||||||
echo "Already have all the Windows arm64 builds"
|
|
||||||
fi
|
|
||||||
elif [[ $VSCODE_ARCH == "ia32" ]]; then
|
|
||||||
HAVE_IA32_SYS=$(echo $VSCODIUM_ASSETS | jq --arg suffix "VSCodiumSetup-$VSCODE_ARCH-$LATEST_MS_TAG.exe" 'map(.name) | contains([$suffix])')
|
|
||||||
HAVE_IA32_USR=$(echo $VSCODIUM_ASSETS | jq --arg suffix "UserSetup-$VSCODE_ARCH-$LATEST_MS_TAG.exe" 'map(.name) | contains([$suffix])')
|
|
||||||
HAVE_IA32_ZIP=$(echo $VSCODIUM_ASSETS | jq --arg suffix "win32-$VSCODE_ARCH-$LATEST_MS_TAG.zip" 'map(.name) | contains([$suffix])')
|
|
||||||
if [[ "$HAVE_IA32_SYS" != "true" ]]; then
|
|
||||||
echo "Building on Windows ia32 because we have no system setup"
|
|
||||||
export SHOULD_BUILD="yes"
|
|
||||||
fi
|
|
||||||
if [[ "$HAVE_IA32_USR" != "true" ]]; then
|
|
||||||
echo "Building on Windows ia32 because we have no user setup"
|
|
||||||
export SHOULD_BUILD="yes"
|
|
||||||
fi
|
|
||||||
if [[ "$HAVE_IA32_ZIP" != "true" ]]; then
|
|
||||||
echo "Building on Windows ia32 because we have no zip"
|
|
||||||
export SHOULD_BUILD="yes"
|
|
||||||
fi
|
|
||||||
if [[ "$SHOULD_BUILD" != "yes" ]]; then
|
|
||||||
echo "Already have all the Windows ia32 builds"
|
|
||||||
fi
|
|
||||||
else # Windows x64
|
|
||||||
HAVE_X64_SYS=$(echo $VSCODIUM_ASSETS | jq --arg suffix "VSCodiumSetup-$VSCODE_ARCH-$LATEST_MS_TAG.exe" 'map(.name) | contains([$suffix])')
|
|
||||||
HAVE_X64_USR=$(echo $VSCODIUM_ASSETS | jq --arg suffix "UserSetup-$VSCODE_ARCH-$LATEST_MS_TAG.exe" 'map(.name) | contains([$suffix])')
|
|
||||||
HAVE_X64_ZIP=$(echo $VSCODIUM_ASSETS | jq --arg suffix "win32-$VSCODE_ARCH-$LATEST_MS_TAG.zip" 'map(.name) | contains([$suffix])')
|
|
||||||
if [[ "$HAVE_X64_SYS" != "true" ]]; then
|
|
||||||
echo "Building on Windows x64 because we have no system setup"
|
|
||||||
export SHOULD_BUILD="yes"
|
|
||||||
fi
|
|
||||||
if [[ "$HAVE_X64_USR" != "true" ]]; then
|
|
||||||
echo "Building on Windows x64 because we have no user setup"
|
|
||||||
export SHOULD_BUILD="yes"
|
|
||||||
fi
|
|
||||||
if [[ "$HAVE_X64_ZIP" != "true" ]]; then
|
|
||||||
echo "Building on Windows x64 because we have no zip"
|
|
||||||
export SHOULD_BUILD="yes"
|
|
||||||
fi
|
|
||||||
if [[ "$SHOULD_BUILD" != "yes" ]]; then
|
|
||||||
echo "Already have all the Windows x64 builds"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
elif [[ "$OS_NAME" == "linux" ]]; then
|
|
||||||
if [[ $VSCODE_ARCH == "arm64" ]]; then
|
|
||||||
HAVE_ARM64_DEB=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["arm64.deb"])')
|
|
||||||
HAVE_ARM64_TAR=$(echo $VSCODIUM_ASSETS | jq --arg suffix "arm64-$LATEST_MS_TAG.tar.gz" 'map(.name) | contains([$suffix])')
|
|
||||||
if [[ "$HAVE_ARM64_DEB" != "true" ]]; then
|
|
||||||
echo "Building on Linux arm64 because we have no DEB"
|
|
||||||
export SHOULD_BUILD="yes"
|
|
||||||
fi
|
|
||||||
if [[ "$HAVE_ARM64_TAR" != "true" ]]; then
|
|
||||||
echo "Building on Linux arm64 because we have no TAR"
|
|
||||||
export SHOULD_BUILD="yes"
|
|
||||||
fi
|
|
||||||
if [[ "$SHOULD_BUILD" != "yes" ]]; then
|
|
||||||
echo "Already have all the Linux arm64 builds"
|
|
||||||
fi
|
|
||||||
elif [[ $VSCODE_ARCH == "armhf" ]]; then
|
|
||||||
HAVE_ARM_DEB=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["armhf.deb"])')
|
|
||||||
HAVE_ARM_TAR=$(echo $VSCODIUM_ASSETS | jq --arg suffix "armhf-$LATEST_MS_TAG.tar.gz" 'map(.name) | contains([$suffix])')
|
|
||||||
if [[ "$HAVE_ARM_DEB" != "true" ]]; then
|
|
||||||
echo "Building on Linux arm because we have no DEB"
|
|
||||||
export SHOULD_BUILD="yes"
|
|
||||||
fi
|
|
||||||
if [[ "$HAVE_ARM_TAR" != "true" ]]; then
|
|
||||||
echo "Building on Linux arm because we have no TAR"
|
|
||||||
export SHOULD_BUILD="yes"
|
|
||||||
fi
|
|
||||||
if [[ "$SHOULD_BUILD" != "yes" ]]; then
|
|
||||||
echo "Already have all the Linux arm builds"
|
|
||||||
fi
|
|
||||||
else # Linux x64
|
|
||||||
HAVE_64_RPM=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["x86_64.rpm"])')
|
|
||||||
HAVE_64_DEB=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["amd64.deb"])')
|
|
||||||
HAVE_64_TAR=$(echo $VSCODIUM_ASSETS | jq --arg suffix "x64-$LATEST_MS_TAG.tar.gz" 'map(.name) | contains([$suffix])')
|
|
||||||
if [[ "$HAVE_64_RPM" != "true" ]]; then
|
|
||||||
echo "Building on Linux x64 because we have no RPM"
|
|
||||||
export SHOULD_BUILD="yes"
|
|
||||||
fi
|
|
||||||
if [[ "$HAVE_64_DEB" != "true" ]]; then
|
|
||||||
echo "Building on Linux x64 because we have no DEB"
|
|
||||||
export SHOULD_BUILD="yes"
|
|
||||||
fi
|
|
||||||
if [[ "$HAVE_64_TAR" != "true" ]]; then
|
|
||||||
echo "Building on Linux x64 because we have no TAR"
|
|
||||||
export SHOULD_BUILD="yes"
|
|
||||||
fi
|
|
||||||
if [[ "$SHOULD_BUILD" != "yes" ]]; then
|
|
||||||
echo "Already have all the Linux x64 builds"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "Release assets do not exist at all, continuing build"
|
|
||||||
export SHOULD_BUILD="yes"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "SHOULD_BUILD=$SHOULD_BUILD" >> $GITHUB_ENV
|
REPOSITORY="${GITHUB_REPOSITORY:-"VSCodium/vscodium"}"
|
||||||
|
GITHUB_RESPONSE=$( curl -s -H "Authorization: token ${GITHUB_TOKEN}" https://api.github.com/repos/${REPOSITORY}/releases/tags/${MS_TAG})
|
||||||
|
VSCODIUM_ASSETS=$( echo "${GITHUB_RESPONSE}" | jq -c '.assets | map(.name)?' )
|
||||||
|
|
||||||
|
contains() {
|
||||||
|
# add " to match the end of a string so any hashs won't be matched by mistake
|
||||||
|
echo "${VSCODIUM_ASSETS}" | grep "$1\""
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "${VSCODIUM_ASSETS}" != "null" ]; then
|
||||||
|
# macos
|
||||||
|
if [[ "${OS_NAME}" == "osx" ]]; then
|
||||||
|
if [[ -z $( contains "darwin-${VSCODE_ARCH}-${MS_TAG}.zip" ) ]]; then
|
||||||
|
echo "Building on MacOS because we have no ZIP"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_ZIP="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $( contains ".${VSCODE_ARCH}.${MS_TAG}.dmg" ) ]]; then
|
||||||
|
echo "Building on MacOS because we have no DMG"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_DMG="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||||
|
echo "Already have all the MacOS builds"
|
||||||
|
fi
|
||||||
|
elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||||
|
|
||||||
|
# windows-arm64
|
||||||
|
if [[ ${VSCODE_ARCH} == "arm64" ]]; then
|
||||||
|
if [[ -z $( contains "VSCodiumSetup-${VSCODE_ARCH}-${MS_TAG}.exe" ) ]]; then
|
||||||
|
echo "Building on Windows arm64 because we have no system setup"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_EXE_SYS="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $( contains "UserSetup-${VSCODE_ARCH}-${MS_TAG}.exe" ) ]]; then
|
||||||
|
echo "Building on Windows arm64 because we have no user setup"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_EXE_USR="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $( contains "win32-${VSCODE_ARCH}-${MS_TAG}.zip" ) ]]; then
|
||||||
|
echo "Building on Windows arm64 because we have no zip"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_ZIP="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||||
|
echo "Already have all the Windows arm64 builds"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# windows-ia32
|
||||||
|
elif [[ ${VSCODE_ARCH} == "ia32" ]]; then
|
||||||
|
if [[ -z $( contains "VSCodiumSetup-${VSCODE_ARCH}-${MS_TAG}.exe" ) ]]; then
|
||||||
|
echo "Building on Windows ia32 because we have no system setup"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_EXE_SYS="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $( contains "UserSetup-${VSCODE_ARCH}-${MS_TAG}.exe" ) ]]; then
|
||||||
|
echo "Building on Windows ia32 because we have no user setup"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_EXE_USR="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $( contains "win32-${VSCODE_ARCH}-${MS_TAG}.zip" ) ]]; then
|
||||||
|
echo "Building on Windows ia32 because we have no zip"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_ZIP="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $( contains "VSCodium-${VSCODE_ARCH}-${MS_TAG}.msi" ) ]]; then
|
||||||
|
echo "Building on Windows ia32 because we have no msi"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_MSI="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $( contains "VSCodium-${VSCODE_ARCH}-updates-disabled-${MS_TAG}.msi" ) ]]; then
|
||||||
|
echo "Building on Windows ia32 because we have no updates-disabled msi"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_MSI_NOUP="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||||
|
echo "Already have all the Windows ia32 builds"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# windows-x64
|
||||||
|
else
|
||||||
|
if [[ -z $( contains "VSCodiumSetup-${VSCODE_ARCH}-${MS_TAG}.exe" ) ]]; then
|
||||||
|
echo "Building on Windows x64 because we have no system setup"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_EXE_SYS="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $( contains "UserSetup-${VSCODE_ARCH}-${MS_TAG}.exe" ) ]]; then
|
||||||
|
echo "Building on Windows x64 because we have no user setup"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_EXE_USR="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $( contains "win32-${VSCODE_ARCH}-${MS_TAG}.zip" ) ]]; then
|
||||||
|
echo "Building on Windows x64 because we have no zip"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_ZIP="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $( contains "VSCodium-${VSCODE_ARCH}-${MS_TAG}.msi" ) ]]; then
|
||||||
|
echo "Building on Windows x64 because we have no msi"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_MSI="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $( contains "VSCodium-${VSCODE_ARCH}-updates-disabled-${MS_TAG}.msi" ) ]]; then
|
||||||
|
echo "Building on Windows x64 because we have no updates-disabled msi"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_MSI_NOUP="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||||
|
echo "Already have all the Windows x64 builds"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
elif [[ "${OS_NAME}" == "linux" ]]; then
|
||||||
|
|
||||||
|
# linux-arm64
|
||||||
|
if [[ ${VSCODE_ARCH} == "arm64" ]]; then
|
||||||
|
if [[ -z $( contains "arm64.deb" ) ]]; then
|
||||||
|
echo "Building on Linux arm64 because we have no DEB"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_DEB="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $( contains "aarch64.rpm" ) ]]; then
|
||||||
|
echo "Building on Linux arm64 because we have no RPM"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_RPM="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $( contains "arm64-${MS_TAG}.tar.gz" ) ]]; then
|
||||||
|
echo "Building on Linux arm64 because we have no TAR"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_TAR="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
export SHOULD_BUILD_APPIMAGE="no"
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||||
|
echo "Already have all the Linux arm64 builds"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# linux-armhf
|
||||||
|
elif [[ ${VSCODE_ARCH} == "armhf" ]]; then
|
||||||
|
if [[ -z $( contains "armhf.deb" ) ]]; then
|
||||||
|
echo "Building on Linux arm because we have no DEB"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_DEB="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $( contains "armv7hl.rpm" ) ]]; then
|
||||||
|
echo "Building on Linux arm because we have no RPM"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_RPM="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $( contains "armhf-${MS_TAG}.tar.gz" ) ]]; then
|
||||||
|
echo "Building on Linux arm because we have no TAR"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_TAR="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
export SHOULD_BUILD_APPIMAGE="no"
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||||
|
echo "Already have all the Linux arm builds"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# linux-x64
|
||||||
|
else
|
||||||
|
if [[ -z $( contains "amd64.deb" ) ]]; then
|
||||||
|
echo "Building on Linux x64 because we have no DEB"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_DEB="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $( contains "x86_64.rpm" ) ]]; then
|
||||||
|
echo "Building on Linux x64 because we have no RPM"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_RPM="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $( contains "x64-${MS_TAG}.tar.gz" ) ]]; then
|
||||||
|
echo "Building on Linux x64 because we have no TAR"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_TAR="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $( contains "x86_64.AppImage" ) ]]; then
|
||||||
|
echo "Building on Linux x64 because we have no AppImage"
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
else
|
||||||
|
export SHOULD_BUILD_APPIMAGE="no"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||||
|
echo "Already have all the Linux x64 builds"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Release assets do not exist at all, continuing build"
|
||||||
|
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}"
|
||||||
|
echo "SHOULD_BUILD_DMG=${SHOULD_BUILD_DMG}" >> "${GITHUB_ENV}"
|
||||||
|
echo "SHOULD_BUILD_EXE_SYS=${SHOULD_BUILD_EXE_SYS}" >> "${GITHUB_ENV}"
|
||||||
|
echo "SHOULD_BUILD_EXE_USR=${SHOULD_BUILD_EXE_USR}" >> "${GITHUB_ENV}"
|
||||||
|
echo "SHOULD_BUILD_MSI=${SHOULD_BUILD_MSI}" >> "${GITHUB_ENV}"
|
||||||
|
echo "SHOULD_BUILD_MSI_NOUP=${SHOULD_BUILD_MSI_NOUP}" >> "${GITHUB_ENV}"
|
||||||
|
echo "SHOULD_BUILD_RPM=${SHOULD_BUILD_RPM}" >> "${GITHUB_ENV}"
|
||||||
|
echo "SHOULD_BUILD_TAR=${SHOULD_BUILD_TAR}" >> "${GITHUB_ENV}"
|
||||||
|
echo "SHOULD_BUILD_ZIP=${SHOULD_BUILD_ZIP}" >> "${GITHUB_ENV}"
|
||||||
|
|||||||
@@ -14,9 +14,13 @@
|
|||||||
- node 14
|
- node 14
|
||||||
- yarn
|
- yarn
|
||||||
- jq
|
- jq
|
||||||
|
- git
|
||||||
|
|
||||||
### <a id="dependencies-linux"></a>Linux
|
### <a id="dependencies-linux"></a>Linux
|
||||||
|
|
||||||
|
- GCC
|
||||||
|
- make
|
||||||
|
- pkg-config
|
||||||
- libx11-dev
|
- libx11-dev
|
||||||
- libxkbfile-dev
|
- libxkbfile-dev
|
||||||
- libsecret-1-dev
|
- libsecret-1-dev
|
||||||
@@ -24,21 +28,27 @@
|
|||||||
- rpm
|
- rpm
|
||||||
- rpmbuild
|
- rpmbuild
|
||||||
- dpkg
|
- dpkg
|
||||||
|
- python3
|
||||||
|
- libsecret-1-dev
|
||||||
|
- imagemagick (for AppImage)
|
||||||
|
|
||||||
### <a id="dependencies-macos"></a>MacOS
|
### <a id="dependencies-macos"></a>MacOS
|
||||||
|
|
||||||
### <a id="dependencies-windows"></a>Windows
|
### <a id="dependencies-windows"></a>Windows
|
||||||
|
|
||||||
- powershell
|
- powershell
|
||||||
- git
|
|
||||||
- sed
|
- sed
|
||||||
|
- 7z
|
||||||
|
- [WiX Toolset](http://wixtoolset.org/releases/)
|
||||||
|
- python2
|
||||||
|
- 'Tools for Native Modules' from official Node.js installer
|
||||||
|
|
||||||
## <a id="build-scripts"></a>Build Scripts
|
## <a id="build-scripts"></a>Build Scripts
|
||||||
|
|
||||||
Each platform has its build helper script in the directory `build`.
|
Each platform has its build helper script in the directory `build`.
|
||||||
|
|
||||||
- Linux: `./build/build_linux.sh`
|
- Linux: `./build/build_linux.sh`
|
||||||
- MacOS: `./build/build_macos_.sh`
|
- MacOS: `./build/build_macos.sh`
|
||||||
- Windows: `powershell -ExecutionPolicy ByPass -File .\build\build_windows.ps1`
|
- Windows: `powershell -ExecutionPolicy ByPass -File .\build\build_windows.ps1`
|
||||||
|
|
||||||
## <a id="build-docker"></a>Build in Docker
|
## <a id="build-docker"></a>Build in Docker
|
||||||
@@ -68,4 +78,4 @@ export OS_NAME=linux
|
|||||||
export VSCODE_ARCH=x64
|
export VSCODE_ARCH=x64
|
||||||
|
|
||||||
./build.sh
|
./build.sh
|
||||||
```
|
```
|
||||||
|
|||||||
48
get_repo.sh
48
get_repo.sh
@@ -1,26 +1,44 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
mkdir -p vscode
|
||||||
|
cd vscode
|
||||||
|
|
||||||
|
git init -q
|
||||||
|
git remote add origin https://github.com/Microsoft/vscode.git
|
||||||
|
|
||||||
# figure out latest tag by calling MS update API
|
# figure out latest tag by calling MS update API
|
||||||
if [ "$INSIDER" == "1" ]; then
|
if [ "$INSIDER" == "1" ]; then
|
||||||
UPDATE_INFO=$(curl https://update.code.visualstudio.com/api/update/darwin/insider/lol)
|
UPDATE_INFO=$(curl https://update.code.visualstudio.com/api/update/darwin/insider/lol)
|
||||||
|
export MS_COMMIT=$(echo $UPDATE_INFO | jq -r '.version')
|
||||||
|
export MS_TAG=$(echo $UPDATE_INFO | jq -r '.name')
|
||||||
|
elif [[ -z "${MS_TAG}" ]]; then
|
||||||
|
UPDATE_INFO=$(curl https://update.code.visualstudio.com/api/update/darwin/stable/lol)
|
||||||
|
export MS_COMMIT=$(echo $UPDATE_INFO | jq -r '.version')
|
||||||
|
export MS_TAG=$(echo $UPDATE_INFO | jq -r '.name')
|
||||||
else
|
else
|
||||||
UPDATE_INFO=$(curl https://update.code.visualstudio.com/api/update/darwin/stable/lol)
|
reference=$( git ls-remote --tags | grep -x ".*refs\/tags\/${MS_TAG}" | head -1 )
|
||||||
fi
|
|
||||||
export LATEST_MS_COMMIT=$(echo $UPDATE_INFO | jq -r '.version')
|
|
||||||
export LATEST_MS_TAG=$(echo $UPDATE_INFO | jq -r '.name')
|
|
||||||
echo "Got the latest MS tag: ${LATEST_MS_TAG} version: ${LATEST_MS_COMMIT}"
|
|
||||||
|
|
||||||
if [ "$INSIDER" == "1" ]; then
|
if [[ -z "${reference}" ]]; then
|
||||||
mkdir -p vscode; cd vscode
|
echo "The following tag can't be found: ${MS_TAG}"
|
||||||
git init ; git remote add origin https://github.com/Microsoft/vscode.git
|
exit 1
|
||||||
git fetch --depth 1 origin $LATEST_MS_COMMIT; git checkout FETCH_HEAD
|
elif [[ "${reference}" =~ ^([[:alnum:]]+)[[:space:]]+refs\/tags\/([0-9]+\.[0-9]+\.[0-9]+)$ ]]; then
|
||||||
cd ..
|
export MS_COMMIT="${BASH_REMATCH[1]}"
|
||||||
else
|
export MS_TAG="${BASH_REMATCH[2]}"
|
||||||
git clone https://github.com/Microsoft/vscode.git --branch $LATEST_MS_TAG --depth 1
|
else
|
||||||
|
echo "The following reference can't be parsed: ${reference}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo "Got the MS tag: ${MS_TAG} version: ${MS_COMMIT}"
|
||||||
|
|
||||||
|
git fetch --depth 1 origin $MS_COMMIT
|
||||||
|
git checkout FETCH_HEAD
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
|
||||||
# for GH actions
|
# for GH actions
|
||||||
if [[ $GITHUB_ENV ]]; then
|
if [[ $GITHUB_ENV ]]; then
|
||||||
echo "LATEST_MS_COMMIT=$LATEST_MS_COMMIT" >> $GITHUB_ENV
|
echo "MS_TAG=$MS_TAG" >> $GITHUB_ENV
|
||||||
echo "LATEST_MS_TAG=$LATEST_MS_TAG" >> $GITHUB_ENV
|
echo "MS_COMMIT=$MS_COMMIT" >> $GITHUB_ENV
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -134,6 +134,14 @@ build_win32() {
|
|||||||
convert -size 138x140 xc:white "${SRC_PREFIX}src/resources/win32/inno-small-250.bmp"
|
convert -size 138x140 xc:white "${SRC_PREFIX}src/resources/win32/inno-small-250.bmp"
|
||||||
composite -size 116x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-small-250.bmp" "${SRC_PREFIX}src/resources/win32/inno-small-250.bmp"
|
composite -size 116x -gravity center icons/codium_only.svg "${SRC_PREFIX}src/resources/win32/inno-small-250.bmp" "${SRC_PREFIX}src/resources/win32/inno-small-250.bmp"
|
||||||
fi
|
fi
|
||||||
|
if [ ! -f "${SRC_PREFIX}build/windows/msi/resources/wix-banner.bmp" ]; then
|
||||||
|
convert -size 493x58 xc:white "${SRC_PREFIX}build/windows/msi/resources/wix-banner.bmp"
|
||||||
|
composite -geometry +438+6 \( icons/codium_only.svg -resize 50x50 \) "${SRC_PREFIX}build/windows/msi/resources/wix-banner.bmp" "${SRC_PREFIX}build/windows/msi/resources/wix-banner.bmp"
|
||||||
|
fi
|
||||||
|
if [ ! -f "${SRC_PREFIX}build/windows/msi/resources/wix-dialog.bmp" ]; then
|
||||||
|
convert -size 493x312 xc:white "${SRC_PREFIX}build/windows/msi/resources/wix-dialog.bmp"
|
||||||
|
composite -geometry +22+152 \( icons/codium_only.svg -resize 120x90 \) "${SRC_PREFIX}build/windows/msi/resources/wix-dialog.bmp" "${SRC_PREFIX}build/windows/msi/resources/wix-dialog.bmp"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ "$0" == "$BASH_SOURCE" ];
|
if [ "$0" == "$BASH_SOURCE" ];
|
||||||
|
|||||||
15
install_gh.sh
Executable file
15
install_gh.sh
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
GH_ARCH="amd64"
|
||||||
|
|
||||||
|
VERSION=`curl "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"
|
||||||
|
|
||||||
|
tar xf "gh_${VERSION}_linux_${GH_ARCH}.tar.gz"
|
||||||
|
|
||||||
|
cp "gh_${VERSION}_linux_${GH_ARCH}/bin/gh" /usr/local/bin/
|
||||||
|
|
||||||
|
gh --version
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
|
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
|
||||||
index 6d3a369..57009d4 100644
|
index df089a6..7aeb54b 100644
|
||||||
--- a/build/gulpfile.vscode.js
|
--- a/build/gulpfile.vscode.js
|
||||||
+++ b/build/gulpfile.vscode.js
|
+++ b/build/gulpfile.vscode.js
|
||||||
@@ -276,7 +276,7 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
@@ -286,7 +286,7 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||||
all = es.merge(all, gulp.src('resources/linux/code.png', { base: '.' }));
|
all = es.merge(all, gulp.src('resources/linux/code.png', { base: '.' }));
|
||||||
} else if (platform === 'darwin') {
|
} else if (platform === 'darwin') {
|
||||||
const shortcut = gulp.src('resources/darwin/bin/code.sh')
|
const shortcut = gulp.src('resources/darwin/bin/code.sh')
|
||||||
@@ -11,20 +11,11 @@ index 6d3a369..57009d4 100644
|
|||||||
|
|
||||||
all = es.merge(all, shortcut);
|
all = es.merge(all, shortcut);
|
||||||
}
|
}
|
||||||
@@ -483,7 +483,7 @@ const generateVSCodeConfigurationTask = task.define('generate-vscode-configurati
|
|
||||||
const arch = process.env['VSCODE_ARCH'];
|
|
||||||
const appRoot = path.join(buildDir, `VSCode-darwin-${arch}`);
|
|
||||||
const appName = process.env.VSCODE_QUALITY === 'insider' ? 'Visual\\ Studio\\ Code\\ -\\ Insiders.app' : 'Visual\\ Studio\\ Code.app';
|
|
||||||
- const appPath = path.join(appRoot, appName, 'Contents', 'Resources', 'app', 'bin', 'code');
|
|
||||||
+ const appPath = path.join(appRoot, appName, 'Contents', 'Resources', 'app', 'bin', product.applicationName);
|
|
||||||
const codeProc = cp.exec(
|
|
||||||
`${appPath} --export-default-configuration='${allConfigDetailsPath}' --wait --user-data-dir='${userDataDir}' --extensions-dir='${extensionsDir}'`,
|
|
||||||
(err, stdout, stderr) => {
|
|
||||||
diff --git a/src/vs/platform/native/electron-main/nativeHostMainService.ts b/src/vs/platform/native/electron-main/nativeHostMainService.ts
|
diff --git a/src/vs/platform/native/electron-main/nativeHostMainService.ts b/src/vs/platform/native/electron-main/nativeHostMainService.ts
|
||||||
index 692db1d..cd173bc 100644
|
index bd4dc01..02cbbc2 100644
|
||||||
--- a/src/vs/platform/native/electron-main/nativeHostMainService.ts
|
--- a/src/vs/platform/native/electron-main/nativeHostMainService.ts
|
||||||
+++ b/src/vs/platform/native/electron-main/nativeHostMainService.ts
|
+++ b/src/vs/platform/native/electron-main/nativeHostMainService.ts
|
||||||
@@ -341,7 +341,7 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
|
@@ -355,7 +355,7 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
|
||||||
}
|
}
|
||||||
|
|
||||||
private async getShellCommandLink(): Promise<{ readonly source: string, readonly target: string }> {
|
private async getShellCommandLink(): Promise<{ readonly source: string, readonly target: string }> {
|
||||||
@@ -33,7 +24,7 @@ index 692db1d..cd173bc 100644
|
|||||||
const source = `/usr/local/bin/${this.productService.applicationName}`;
|
const source = `/usr/local/bin/${this.productService.applicationName}`;
|
||||||
|
|
||||||
// Ensure source exists
|
// Ensure source exists
|
||||||
@@ -551,7 +551,7 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
|
@@ -565,7 +565,7 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
|
||||||
|
|
||||||
// macOS
|
// macOS
|
||||||
if (this.environmentMainService.isBuilt) {
|
if (this.environmentMainService.isBuilt) {
|
||||||
@@ -42,4 +33,3 @@ index 692db1d..cd173bc 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
return join(this.environmentMainService.appRoot, 'scripts', 'code-cli.sh');
|
return join(this.environmentMainService.appRoot, 'scripts', 'code-cli.sh');
|
||||||
|
|
||||||
|
|||||||
@@ -1,34 +1,34 @@
|
|||||||
diff --git a/src/vs/base/common/product.ts b/src/vs/base/common/product.ts
|
diff --git a/src/vs/base/common/product.ts b/src/vs/base/common/product.ts
|
||||||
index 129b8de..fadb99a 100644
|
index 657b9c9..9b9b12e 100644
|
||||||
--- a/src/vs/base/common/product.ts
|
--- a/src/vs/base/common/product.ts
|
||||||
+++ b/src/vs/base/common/product.ts
|
+++ b/src/vs/base/common/product.ts
|
||||||
@@ -68,6 +68,7 @@ export interface IProductConfiguration {
|
@@ -70,6 +70,7 @@ export interface IProductConfiguration {
|
||||||
|
|
||||||
readonly extensionsGallery?: {
|
readonly extensionsGallery?: {
|
||||||
readonly serviceUrl: string;
|
readonly serviceUrl: string;
|
||||||
+ readonly cacheUrl?: string;
|
+ readonly cacheUrl?: string;
|
||||||
readonly itemUrl: string;
|
readonly itemUrl: string;
|
||||||
readonly resourceUrlTemplate: string;
|
readonly resourceUrlTemplate: string;
|
||||||
readonly controlUrl: string;
|
readonly controlUrl: string;
|
||||||
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
|
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
|
||||||
index d79c8a3..8b4153f 100644
|
index 5e38d35..12bb161 100644
|
||||||
--- a/src/vs/platform/product/common/product.ts
|
--- a/src/vs/platform/product/common/product.ts
|
||||||
+++ b/src/vs/platform/product/common/product.ts
|
+++ b/src/vs/platform/product/common/product.ts
|
||||||
@@ -4,11 +4,12 @@
|
@@ -4,11 +4,12 @@
|
||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
import { FileAccess } from 'vs/base/common/network';
|
import { FileAccess } from 'vs/base/common/network';
|
||||||
-import { isWeb, globals } from 'vs/base/common/platform';
|
-import { globals } from 'vs/base/common/platform';
|
||||||
+import { isWeb, isWindows, globals } from 'vs/base/common/platform';
|
+import { globals, isWindows } from 'vs/base/common/platform';
|
||||||
import { env } from 'vs/base/common/process';
|
import { env } from 'vs/base/common/process';
|
||||||
import { dirname, joinPath } from 'vs/base/common/resources';
|
|
||||||
import { IProductConfiguration } from 'vs/base/common/product';
|
import { IProductConfiguration } from 'vs/base/common/product';
|
||||||
|
import { dirname, joinPath } from 'vs/base/common/resources';
|
||||||
import { ISandboxConfiguration } from 'vs/base/parts/sandbox/common/sandboxTypes';
|
import { ISandboxConfiguration } from 'vs/base/parts/sandbox/common/sandboxTypes';
|
||||||
+import { getUserDataPath } from 'vs/platform/environment/node/userDataPath';
|
+import { getUserDataPath } from 'vs/platform/environment/node/userDataPath';
|
||||||
|
|
||||||
let product: IProductConfiguration;
|
/**
|
||||||
|
* @deprecated You MUST use `IProductService` if possible.
|
||||||
@@ -31,6 +32,32 @@ else if (typeof require?.__$__nodeRequire === 'function') {
|
@@ -34,6 +35,32 @@ else if (typeof require?.__$__nodeRequire === 'function') {
|
||||||
product = require.__$__nodeRequire(joinPath(rootPath, 'product.json').fsPath);
|
product = require.__$__nodeRequire(joinPath(rootPath, 'product.json').fsPath);
|
||||||
const pkg = require.__$__nodeRequire(joinPath(rootPath, 'package.json').fsPath) as { version: string; };
|
const pkg = require.__$__nodeRequire(joinPath(rootPath, 'package.json').fsPath) as { version: string; };
|
||||||
|
|
||||||
@@ -61,7 +61,7 @@ index d79c8a3..8b4153f 100644
|
|||||||
// Running out of sources
|
// Running out of sources
|
||||||
if (env['VSCODE_DEV']) {
|
if (env['VSCODE_DEV']) {
|
||||||
Object.assign(product, {
|
Object.assign(product, {
|
||||||
@@ -40,6 +67,19 @@ else if (typeof require?.__$__nodeRequire === 'function') {
|
@@ -43,6 +70,19 @@ else if (typeof require?.__$__nodeRequire === 'function') {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
diff --git a/src/main.js b/src/main.js
|
|
||||||
index f91f7b7..0ec4b6f 100644
|
|
||||||
--- a/src/main.js
|
|
||||||
+++ b/src/main.js
|
|
||||||
@@ -174,7 +174,7 @@ function configureCommandlineSwitchesSync(cliArgs) {
|
|
||||||
// Read argv config
|
|
||||||
const argvConfig = readArgvConfigSync();
|
|
||||||
|
|
||||||
- let browserCodeLoadingStrategy = typeof codeCachePath === 'string' ? 'bypassHeatCheck' : 'none';
|
|
||||||
+ let browserCodeLoadingStrategy = undefined;
|
|
||||||
|
|
||||||
Object.keys(argvConfig).forEach(argvKey => {
|
|
||||||
const argvValue = argvConfig[argvKey];
|
|
||||||
48
patches/report-issue.patch
Normal file
48
patches/report-issue.patch
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
diff --git a/src/vs/code/electron-sandbox/issue/issueReporterMain.ts b/src/vs/code/electron-sandbox/issue/issueReporterMain.ts
|
||||||
|
index fcd4485..8d97e5a 100644
|
||||||
|
--- a/src/vs/code/electron-sandbox/issue/issueReporterMain.ts
|
||||||
|
+++ b/src/vs/code/electron-sandbox/issue/issueReporterMain.ts
|
||||||
|
@@ -682,7 +682,7 @@ export class IssueReporter extends Disposable {
|
||||||
|
|
||||||
|
sourceSelect.innerText = '';
|
||||||
|
sourceSelect.append(this.makeOption('', localize('selectSource', "Select source"), true));
|
||||||
|
- sourceSelect.append(this.makeOption('vscode', localize('vscode', "Visual Studio Code"), false));
|
||||||
|
+ sourceSelect.append(this.makeOption('vscode', localize('vscode', "VSCodium"), false));
|
||||||
|
sourceSelect.append(this.makeOption('extension', localize('extension', "An extension"), false));
|
||||||
|
if (this.configuration.product.reportMarketplaceIssueUrl) {
|
||||||
|
sourceSelect.append(this.makeOption('marketplace', localize('marketplace', "Extensions marketplace"), false));
|
||||||
|
diff --git a/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts b/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts
|
||||||
|
index 0c5855b..654f9a4 100644
|
||||||
|
--- a/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts
|
||||||
|
+++ b/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsSlowActions.ts
|
||||||
|
@@ -144,7 +144,7 @@ class ReportExtensionSlowAction extends Action {
|
||||||
|
- Extension Name: \`${this.extension.name}\`
|
||||||
|
- Extension Version: \`${this.extension.version}\`
|
||||||
|
- OS Version: \`${osVersion}\`
|
||||||
|
-- VS Code version: \`${this._productService.version}\`\n\n${message}`);
|
||||||
|
+- VSCodium version: \`${this._productService.version}\`\n\n${message}`);
|
||||||
|
|
||||||
|
const url = `${this.repoInfo.base}/${this.repoInfo.owner}/${this.repoInfo.repo}/issues/new/?body=${body}&title=${title}`;
|
||||||
|
this._openerService.open(URI.parse(url));
|
||||||
|
diff --git a/src/vs/workbench/contrib/extensions/electron-sandbox/reportExtensionIssueAction.ts b/src/vs/workbench/contrib/extensions/electron-sandbox/reportExtensionIssueAction.ts
|
||||||
|
index f1755db..e77be21 100644
|
||||||
|
--- a/src/vs/workbench/contrib/extensions/electron-sandbox/reportExtensionIssueAction.ts
|
||||||
|
+++ b/src/vs/workbench/contrib/extensions/electron-sandbox/reportExtensionIssueAction.ts
|
||||||
|
@@ -14,7 +14,7 @@ import { ExtensionType, IExtensionDescription } from 'vs/platform/extensions/com
|
||||||
|
import { IOpenerService } from 'vs/platform/opener/common/opener';
|
||||||
|
import { URI } from 'vs/base/common/uri';
|
||||||
|
|
||||||
|
-const builtinExtensionIssueUrl = 'https://github.com/microsoft/vscode';
|
||||||
|
+const builtinExtensionIssueUrl = 'https://github.com/VSCodium/vscodium';
|
||||||
|
|
||||||
|
export class ReportExtensionIssueAction extends Action {
|
||||||
|
|
||||||
|
@@ -76,7 +76,7 @@ export class ReportExtensionIssueAction extends Action {
|
||||||
|
- Extension Name: \`${extension.description.name}\`
|
||||||
|
- Extension Version: \`${extension.description.version}\`
|
||||||
|
- OS Version: \`${osVersion}\`
|
||||||
|
-- VS Code version: \`${this.productService.version}\`\n\n${message}`
|
||||||
|
+- VSCodium version: \`${this.productService.version}\`\n\n${message}`
|
||||||
|
);
|
||||||
|
|
||||||
|
return `${baseUrl}${queryStringPrefix}body=${body}&title=${encodeURIComponent(title)}`;
|
||||||
247
patches/use-github-pat.patch
Normal file
247
patches/use-github-pat.patch
Normal file
@@ -0,0 +1,247 @@
|
|||||||
|
diff --git a/extensions/github-authentication/src/githubServer.ts b/extensions/github-authentication/src/githubServer.ts
|
||||||
|
index fe0fbfd..656d8bb 100644
|
||||||
|
--- a/extensions/github-authentication/src/githubServer.ts
|
||||||
|
+++ b/extensions/github-authentication/src/githubServer.ts
|
||||||
|
@@ -6,8 +6,6 @@
|
||||||
|
import * as nls from 'vscode-nls';
|
||||||
|
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';
|
||||||
|
import { AuthProviderType } from './github';
|
||||||
|
import { Log } from './common/logger';
|
||||||
|
@@ -15,8 +13,6 @@ import { Log } from './common/logger';
|
||||||
|
const localize = nls.loadMessageBundle();
|
||||||
|
|
||||||
|
const NETWORK_ERROR = 'network error';
|
||||||
|
-const AUTH_RELAY_SERVER = 'vscode-auth.github.com';
|
||||||
|
-// const AUTH_RELAY_STAGING_SERVER = 'client-auth-staging-14a768b.herokuapp.com';
|
||||||
|
|
||||||
|
class UriEventHandler extends vscode.EventEmitter<vscode.Uri> implements vscode.UriHandler {
|
||||||
|
constructor(private readonly Logger: Log) {
|
||||||
|
@@ -29,14 +25,6 @@ class UriEventHandler extends vscode.EventEmitter<vscode.Uri> implements vscode.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
-function parseQuery(uri: vscode.Uri) {
|
||||||
|
- return uri.query.split('&').reduce((prev: any, current) => {
|
||||||
|
- const queryString = current.split('=');
|
||||||
|
- prev[queryString[0]] = queryString[1];
|
||||||
|
- return prev;
|
||||||
|
- }, {});
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
export interface IGitHubServer extends vscode.Disposable {
|
||||||
|
login(scopes: string): Promise<string>;
|
||||||
|
getUserInfo(token: string): Promise<{ id: string, accountName: string }>;
|
||||||
|
@@ -96,11 +84,7 @@ async function getUserInfo(token: string, serverUri: vscode.Uri, logger: Log): P
|
||||||
|
export class GitHubServer implements IGitHubServer {
|
||||||
|
friendlyName = 'GitHub';
|
||||||
|
type = AuthProviderType.github;
|
||||||
|
- private _statusBarItem: vscode.StatusBarItem | undefined;
|
||||||
|
- private _onDidManuallyProvideToken = new vscode.EventEmitter<string | undefined>();
|
||||||
|
|
||||||
|
- private _pendingStates = new Map<string, string[]>();
|
||||||
|
- private _codeExchangePromises = new Map<string, { promise: Promise<string>, cancel: vscode.EventEmitter<void> }>();
|
||||||
|
private _statusBarCommandId = `${this.type}.provide-manually`;
|
||||||
|
private _disposable: vscode.Disposable;
|
||||||
|
private _uriHandler = new UriEventHandler(this._logger);
|
||||||
|
@@ -115,137 +99,35 @@ export class GitHubServer implements IGitHubServer {
|
||||||
|
this._disposable.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
- private isTestEnvironment(url: vscode.Uri): boolean {
|
||||||
|
- return /\.azurewebsites\.net$/.test(url.authority) || url.authority.startsWith('localhost:');
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- // TODO@joaomoreno TODO@TylerLeonhardt
|
||||||
|
- private async isNoCorsEnvironment(): Promise<boolean> {
|
||||||
|
- const uri = await vscode.env.asExternalUri(vscode.Uri.parse(`${vscode.env.uriScheme}://vscode.github-authentication/dummy`));
|
||||||
|
- return (uri.scheme === 'https' && /^((insiders\.)?vscode|github)\./.test(uri.authority)) || (uri.scheme === 'http' && /^localhost/.test(uri.authority));
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
public async login(scopes: string): Promise<string> {
|
||||||
|
this._logger.info(`Logging in for the following scopes: ${scopes}`);
|
||||||
|
|
||||||
|
- const callbackUri = await vscode.env.asExternalUri(vscode.Uri.parse(`${vscode.env.uriScheme}://vscode.github-authentication/did-authenticate`));
|
||||||
|
-
|
||||||
|
- if (this.isTestEnvironment(callbackUri)) {
|
||||||
|
- const token = await vscode.window.showInputBox({ prompt: 'GitHub Personal Access Token', ignoreFocusOut: true });
|
||||||
|
- if (!token) { throw new Error('Sign in failed: No token provided'); }
|
||||||
|
-
|
||||||
|
- const tokenScopes = await getScopes(token, this.getServerUri('/'), this._logger); // Example: ['repo', 'user']
|
||||||
|
- const scopesList = scopes.split(' '); // Example: 'read:user repo user:email'
|
||||||
|
- if (!scopesList.every(scope => {
|
||||||
|
- const included = tokenScopes.includes(scope);
|
||||||
|
- if (included || !scope.includes(':')) {
|
||||||
|
- return included;
|
||||||
|
- }
|
||||||
|
+ const token = await vscode.window.showInputBox({ prompt: 'GitHub Personal Access Token', ignoreFocusOut: true });
|
||||||
|
+ if (!token) { throw new Error('Sign in failed: No token provided'); }
|
||||||
|
|
||||||
|
- return scope.split(':').some(splitScopes => {
|
||||||
|
- return tokenScopes.includes(splitScopes);
|
||||||
|
- });
|
||||||
|
- })) {
|
||||||
|
- throw new Error(`The provided token does not match the requested scopes: ${scopes}`);
|
||||||
|
+ const tokenScopes = await getScopes(token, this.getServerUri('/'), this._logger); // Example: ['repo', 'user']
|
||||||
|
+ const scopesList = scopes.split(' '); // Example: 'read:user repo user:email'
|
||||||
|
+ if (!scopesList.every(scope => {
|
||||||
|
+ const included = tokenScopes.includes(scope);
|
||||||
|
+ if (included || !scope.includes(':')) {
|
||||||
|
+ return included;
|
||||||
|
}
|
||||||
|
|
||||||
|
- return token;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- this.updateStatusBarItem(true);
|
||||||
|
-
|
||||||
|
- const state = uuid();
|
||||||
|
- const existingStates = this._pendingStates.get(scopes) || [];
|
||||||
|
- this._pendingStates.set(scopes, [...existingStates, state]);
|
||||||
|
-
|
||||||
|
- const uri = vscode.Uri.parse(`https://${AUTH_RELAY_SERVER}/authorize/?callbackUri=${encodeURIComponent(callbackUri.toString())}&scope=${scopes}&state=${state}&responseType=code&authServer=https://github.com`);
|
||||||
|
- await vscode.env.openExternal(uri);
|
||||||
|
-
|
||||||
|
- // Register a single listener for the URI callback, in case the user starts the login process multiple times
|
||||||
|
- // before completing it.
|
||||||
|
- let codeExchangePromise = this._codeExchangePromises.get(scopes);
|
||||||
|
- if (!codeExchangePromise) {
|
||||||
|
- codeExchangePromise = promiseFromEvent(this._uriHandler.event, this.exchangeCodeForToken(scopes));
|
||||||
|
- this._codeExchangePromises.set(scopes, codeExchangePromise);
|
||||||
|
+ return scope.split(':').some(splitScopes => {
|
||||||
|
+ return tokenScopes.includes(splitScopes);
|
||||||
|
+ });
|
||||||
|
+ })) {
|
||||||
|
+ throw new Error(`The provided token does not match the requested scopes: ${scopes}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
- return Promise.race([
|
||||||
|
- codeExchangePromise.promise,
|
||||||
|
- promiseFromEvent<string | undefined, string>(this._onDidManuallyProvideToken.event, (token: string | undefined, resolve, reject): void => {
|
||||||
|
- if (!token) {
|
||||||
|
- reject('Cancelled');
|
||||||
|
- } else {
|
||||||
|
- resolve(token);
|
||||||
|
- }
|
||||||
|
- }).promise,
|
||||||
|
- new Promise<string>((_, reject) => setTimeout(() => reject('Cancelled'), 60000))
|
||||||
|
- ]).finally(() => {
|
||||||
|
- this._pendingStates.delete(scopes);
|
||||||
|
- codeExchangePromise?.cancel.fire();
|
||||||
|
- this._codeExchangePromises.delete(scopes);
|
||||||
|
- this.updateStatusBarItem(false);
|
||||||
|
- });
|
||||||
|
+ return token;
|
||||||
|
}
|
||||||
|
|
||||||
|
- private exchangeCodeForToken: (scopes: string) => PromiseAdapter<vscode.Uri, string> =
|
||||||
|
- (scopes) => async (uri, resolve, reject) => {
|
||||||
|
- const query = parseQuery(uri);
|
||||||
|
- const code = query.code;
|
||||||
|
-
|
||||||
|
- const acceptedStates = this._pendingStates.get(scopes) || [];
|
||||||
|
- if (!acceptedStates.includes(query.state)) {
|
||||||
|
- // 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('State not found in accepted state. Skipping this execution...');
|
||||||
|
- return;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- const url = `https://${AUTH_RELAY_SERVER}/token?code=${code}&state=${query.state}`;
|
||||||
|
- this._logger.info('Exchanging code for token...');
|
||||||
|
-
|
||||||
|
- try {
|
||||||
|
- const result = await fetch(url, {
|
||||||
|
- method: 'POST',
|
||||||
|
- headers: {
|
||||||
|
- Accept: 'application/json'
|
||||||
|
- }
|
||||||
|
- });
|
||||||
|
-
|
||||||
|
- if (result.ok) {
|
||||||
|
- const json = await result.json();
|
||||||
|
- this._logger.info('Token exchange success!');
|
||||||
|
- resolve(json.access_token);
|
||||||
|
- } else {
|
||||||
|
- reject(result.statusText);
|
||||||
|
- }
|
||||||
|
- } catch (ex) {
|
||||||
|
- reject(ex);
|
||||||
|
- }
|
||||||
|
- };
|
||||||
|
-
|
||||||
|
private getServerUri(path: string = '') {
|
||||||
|
const apiUri = vscode.Uri.parse('https://api.github.com');
|
||||||
|
return vscode.Uri.parse(`${apiUri.scheme}://${apiUri.authority}${path}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
- private updateStatusBarItem(isStart?: boolean) {
|
||||||
|
- if (isStart && !this._statusBarItem) {
|
||||||
|
- this._statusBarItem = vscode.window.createStatusBarItem('status.git.signIn', vscode.StatusBarAlignment.Left);
|
||||||
|
- this._statusBarItem.name = localize('status.git.signIn.name', "GitHub Sign-in");
|
||||||
|
- this._statusBarItem.text = localize('signingIn', "$(mark-github) Signing in to github.com...");
|
||||||
|
- this._statusBarItem.command = this._statusBarCommandId;
|
||||||
|
- this._statusBarItem.show();
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- if (!isStart && this._statusBarItem) {
|
||||||
|
- this._statusBarItem.dispose();
|
||||||
|
- this._statusBarItem = undefined;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
private async manuallyProvideUri() {
|
||||||
|
const uri = await vscode.window.showInputBox({
|
||||||
|
prompt: 'Uri',
|
||||||
|
@@ -277,44 +159,7 @@ export class GitHubServer implements IGitHubServer {
|
||||||
|
return getUserInfo(token, this.getServerUri('/user'), this._logger);
|
||||||
|
}
|
||||||
|
|
||||||
|
- public async sendAdditionalTelemetryInfo(token: string): Promise<void> {
|
||||||
|
- if (!vscode.env.isTelemetryEnabled) {
|
||||||
|
- return;
|
||||||
|
- }
|
||||||
|
- const nocors = await this.isNoCorsEnvironment();
|
||||||
|
-
|
||||||
|
- if (nocors) {
|
||||||
|
- return;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- try {
|
||||||
|
- const result = await fetch('https://education.github.com/api/user', {
|
||||||
|
- headers: {
|
||||||
|
- Authorization: `token ${token}`,
|
||||||
|
- 'faculty-check-preview': 'true',
|
||||||
|
- 'User-Agent': 'Visual-Studio-Code'
|
||||||
|
- }
|
||||||
|
- });
|
||||||
|
-
|
||||||
|
- if (result.ok) {
|
||||||
|
- const json: { student: boolean, faculty: boolean } = await result.json();
|
||||||
|
-
|
||||||
|
- /* __GDPR__
|
||||||
|
- "session" : {
|
||||||
|
- "isEdu": { "classification": "NonIdentifiableDemographicInfo", "purpose": "FeatureInsight" }
|
||||||
|
- }
|
||||||
|
- */
|
||||||
|
- this._telemetryReporter.sendTelemetryEvent('session', {
|
||||||
|
- isEdu: json.student
|
||||||
|
- ? 'student'
|
||||||
|
- : json.faculty
|
||||||
|
- ? 'faculty'
|
||||||
|
- : 'none'
|
||||||
|
- });
|
||||||
|
- }
|
||||||
|
- } catch (e) {
|
||||||
|
- // No-op
|
||||||
|
- }
|
||||||
|
+ public async sendAdditionalTelemetryInfo(_token: string): Promise<void> {
|
||||||
|
}
|
||||||
|
|
||||||
|
public async checkEnterpriseVersion(token: string): Promise<void> {
|
||||||
92
prepare_artifacts.sh
Executable file
92
prepare_artifacts.sh
Executable file
@@ -0,0 +1,92 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
npm install -g checksum
|
||||||
|
|
||||||
|
sum_file() {
|
||||||
|
if [[ -f "$1" ]]; then
|
||||||
|
echo "Calcuating checksum for $1"
|
||||||
|
checksum -a sha256 "$1" > "$1".sha256
|
||||||
|
checksum "$1" > "$1".sha1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
mkdir artifacts
|
||||||
|
|
||||||
|
if [[ "${OS_NAME}" == "osx" ]]; then
|
||||||
|
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
|
||||||
|
echo "Building and moving ZIP"
|
||||||
|
cd "VSCode-darwin-${VSCODE_ARCH}"
|
||||||
|
zip -r -X -y ../artifacts/VSCodium-darwin-${VSCODE_ARCH}-${MS_TAG}.zip ./*.app
|
||||||
|
cd ..
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD_DMG}" != "no" ]]; then
|
||||||
|
echo "Building and moving DMG"
|
||||||
|
pushd "VSCode-darwin-${VSCODE_ARCH}"
|
||||||
|
npx create-dmg VSCodium.app ..
|
||||||
|
mv "../VSCodium ${MS_TAG}.dmg" "../artifacts/VSCodium.${VSCODE_ARCH}.${MS_TAG}.dmg"
|
||||||
|
popd
|
||||||
|
fi
|
||||||
|
elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||||
|
if [[ "${SHOULD_BUILD_ZIP}" != "no" ]]; then
|
||||||
|
echo "Moving ZIP"
|
||||||
|
mv vscode\\.build\\win32-${VSCODE_ARCH}\\archive\\VSCode-win32-${VSCODE_ARCH}.zip artifacts\\VSCodium-win32-${VSCODE_ARCH}-${MS_TAG}.zip
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD_EXE_SYS}" != "no" ]]; then
|
||||||
|
echo "Moving System EXE"
|
||||||
|
mv vscode\\.build\\win32-${VSCODE_ARCH}\\system-setup\\VSCodeSetup.exe artifacts\\VSCodiumSetup-${VSCODE_ARCH}-${MS_TAG}.exe
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD_EXE_USR}" != "no" ]]; then
|
||||||
|
echo "Moving User EXE"
|
||||||
|
mv vscode\\.build\\win32-${VSCODE_ARCH}\\user-setup\\VSCodeSetup.exe artifacts\\VSCodiumUserSetup-${VSCODE_ARCH}-${MS_TAG}.exe
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${VSCODE_ARCH}" == "ia32" || "${VSCODE_ARCH}" == "x64" ]]; then
|
||||||
|
if [[ "${SHOULD_BUILD_MSI}" != "no" ]]; then
|
||||||
|
echo "Moving MSI"
|
||||||
|
mv build\\windows\\msi\\releasedir\\VSCodium-${VSCODE_ARCH}-${MS_TAG}.msi artifacts/
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD_MSI_NOUP}" != "no" ]]; then
|
||||||
|
echo "Moving MSI with disabled updates"
|
||||||
|
mv build\\windows\\msi\\releasedir\\VSCodium-${VSCODE_ARCH}-updates-disabled-${MS_TAG}.msi artifacts/
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [[ "${SHOULD_BUILD_TAR}" != "no" ]]; then
|
||||||
|
echo "Building and moving TAR"
|
||||||
|
cd VSCode-linux-${VSCODE_ARCH}
|
||||||
|
tar czf ../artifacts/VSCodium-linux-${VSCODE_ARCH}-${MS_TAG}.tar.gz .
|
||||||
|
cd ..
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD_DEB}" != "no" ]]; then
|
||||||
|
echo "Moving DEB"
|
||||||
|
mv vscode/.build/linux/deb/*/deb/*.deb artifacts/
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD_RPM}" != "no" ]]; then
|
||||||
|
echo "Moving RPM"
|
||||||
|
mv vscode/.build/linux/rpm/*/*.rpm artifacts/
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD_APPIMAGE}" != "no" ]]; then
|
||||||
|
echo "Moving AppImage"
|
||||||
|
mv build/linux/appimage/out/*.AppImage* artifacts/
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd artifacts
|
||||||
|
|
||||||
|
for FILE in *
|
||||||
|
do
|
||||||
|
if [[ -f "${FILE}" ]]; then
|
||||||
|
sum_file "${FILE}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
cd ..
|
||||||
@@ -3,11 +3,15 @@
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
cp -rp src/* vscode/
|
cp -rp src/* vscode/
|
||||||
|
cp -f LICENSE vscode/LICENSE.txt
|
||||||
|
|
||||||
cd vscode || exit
|
cd vscode || exit
|
||||||
|
|
||||||
../update_settings.sh
|
../update_settings.sh
|
||||||
|
|
||||||
# apply patches
|
# apply patches
|
||||||
|
{ set +x; } 2>/dev/null
|
||||||
|
|
||||||
for file in ../patches/*.patch; do
|
for file in ../patches/*.patch; do
|
||||||
if [ -f "$file" ]; then
|
if [ -f "$file" ]; then
|
||||||
echo applying patch: $file;
|
echo applying patch: $file;
|
||||||
@@ -28,6 +32,8 @@ for file in ../patches/user/*.patch; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
set -x
|
||||||
|
|
||||||
if [[ "$OS_NAME" == "osx" ]]; then
|
if [[ "$OS_NAME" == "osx" ]]; then
|
||||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile --ignore-optional
|
CHILD_CONCURRENCY=1 yarn --frozen-lockfile --ignore-optional
|
||||||
npm_config_argv='{"original":["--ignore-optional"]}' yarn postinstall
|
npm_config_argv='{"original":["--ignore-optional"]}' yarn postinstall
|
||||||
@@ -67,8 +73,10 @@ win32x64UserAppId='setpath (["win32x64UserAppId"]; "{{2E1F05D1-C245-4562-81EE-28
|
|||||||
urlProtocol='setpath(["urlProtocol"]; "vscodium")'
|
urlProtocol='setpath(["urlProtocol"]; "vscodium")'
|
||||||
extensionAllowedProposedApi='setpath(["extensionAllowedProposedApi"]; getpath(["extensionAllowedProposedApi"]) + ["ms-vscode.cpptools", "ms-azuretools.vscode-docker", "visualstudioexptteam.vscodeintellicode", "GitHub.codespaces", "GitHub.vscode-pull-request-github-insiders", "GitHub.vscode-pull-request-github", "Microsoft.vscode-nmake-tools", "ms-ai-tools.notebook-renderers", "ms-dotnettools.dotnet-interactive-vscode", "ms-python.gather", "ms-python.python", "ms-toolsai.jupyter", "ms-toolsai.vscode-ai", "ms-toolsai.vscode-ai-remote", "ms-vscode-remote.remote-containers-nightly", "ms-vscode-remote.remote-containers", "ms-vscode-remote.remote-ssh-edit-nightly", "ms-vscode-remote.remote-ssh-edit", "ms-vscode-remote.remote-ssh-nightly", "ms-vscode-remote.remote-ssh", "ms-vscode-remote.remote-wsl-nightly", "ms-vscode-remote.remote-wsl", "ms-vscode-remote.remote-wsl-recommender", "ms-vscode-remote.vscode-remote-extensionpack-nightly", "ms-vscode-remote.vscode-remote-extensionpack", "ms-vscode.azure-account", "ms-vscode.azure-sphere-tools-ui", "ms-vscode.azure-sphere-tools", "ms-vscode.github-browser", "ms-vscode.github-richnav", "ms-vscode.js-debug-nightly", "ms-vscode.js-debug", "ms-vscode.lsif-browser", "ms-vscode.vscode-js-profile-flame", "ms-vscode.vscode-js-profile-table", "ms-vscode.vscode-selfhost-test-provider", "ms-vsliveshare.cloudenv-explorer", "ms-vsliveshare.cloudenv", "ms-vsliveshare.vsliveshare", "ms-vsonline.vsonline", "dbaeumer.vscode-eslint"])'
|
extensionAllowedProposedApi='setpath(["extensionAllowedProposedApi"]; getpath(["extensionAllowedProposedApi"]) + ["ms-vscode.cpptools", "ms-azuretools.vscode-docker", "visualstudioexptteam.vscodeintellicode", "GitHub.codespaces", "GitHub.vscode-pull-request-github-insiders", "GitHub.vscode-pull-request-github", "Microsoft.vscode-nmake-tools", "ms-ai-tools.notebook-renderers", "ms-dotnettools.dotnet-interactive-vscode", "ms-python.gather", "ms-python.python", "ms-toolsai.jupyter", "ms-toolsai.vscode-ai", "ms-toolsai.vscode-ai-remote", "ms-vscode-remote.remote-containers-nightly", "ms-vscode-remote.remote-containers", "ms-vscode-remote.remote-ssh-edit-nightly", "ms-vscode-remote.remote-ssh-edit", "ms-vscode-remote.remote-ssh-nightly", "ms-vscode-remote.remote-ssh", "ms-vscode-remote.remote-wsl-nightly", "ms-vscode-remote.remote-wsl", "ms-vscode-remote.remote-wsl-recommender", "ms-vscode-remote.vscode-remote-extensionpack-nightly", "ms-vscode-remote.vscode-remote-extensionpack", "ms-vscode.azure-account", "ms-vscode.azure-sphere-tools-ui", "ms-vscode.azure-sphere-tools", "ms-vscode.github-browser", "ms-vscode.github-richnav", "ms-vscode.js-debug-nightly", "ms-vscode.js-debug", "ms-vscode.lsif-browser", "ms-vscode.vscode-js-profile-flame", "ms-vscode.vscode-js-profile-table", "ms-vscode.vscode-selfhost-test-provider", "ms-vsliveshare.cloudenv-explorer", "ms-vsliveshare.cloudenv", "ms-vsliveshare.vsliveshare", "ms-vsonline.vsonline", "dbaeumer.vscode-eslint"])'
|
||||||
serverDataFolderName='setpath(["serverDataFolderName"]; ".vscode-server-oss")'
|
serverDataFolderName='setpath(["serverDataFolderName"]; ".vscode-server-oss")'
|
||||||
|
reportIssueUrl='setpath(["reportIssueUrl"]; "https://github.com/VSCodium/vscodium/issues/new/choose")'
|
||||||
|
licenseUrl='setpath(["licenseUrl"]; "https://github.com/VSCodium/vscodium/blob/master/LICENSE")'
|
||||||
|
|
||||||
product_json_changes="${checksumFailMoreInfoUrl} | ${tipsAndTricksUrl} | ${twitterUrl} | ${requestFeatureUrl} | ${documentationUrl} | ${introductoryVideosUrl} | ${extensionAllowedBadgeProviders} | ${updateUrl} | ${releaseNotesUrl} | ${keyboardShortcutsUrlMac} | ${keyboardShortcutsUrlLinux} | ${keyboardShortcutsUrlWin} | ${quality} | ${extensionsGallery} | ${linkProtectionTrustedDomains} | ${nameShort} | ${nameLong} | ${linuxIconName} | ${applicationName} | ${win32MutexName} | ${win32DirName} | ${win32NameVersion} | ${win32RegValueName} | ${win32AppUserModelId} | ${win32ShellNameShort} | ${win32x64UserAppId} | ${urlProtocol} | ${extensionAllowedProposedApi} | ${serverDataFolderName}"
|
product_json_changes="${checksumFailMoreInfoUrl} | ${tipsAndTricksUrl} | ${twitterUrl} | ${requestFeatureUrl} | ${documentationUrl} | ${introductoryVideosUrl} | ${extensionAllowedBadgeProviders} | ${updateUrl} | ${releaseNotesUrl} | ${keyboardShortcutsUrlMac} | ${keyboardShortcutsUrlLinux} | ${keyboardShortcutsUrlWin} | ${quality} | ${extensionsGallery} | ${linkProtectionTrustedDomains} | ${nameShort} | ${nameLong} | ${linuxIconName} | ${applicationName} | ${win32MutexName} | ${win32DirName} | ${win32NameVersion} | ${win32RegValueName} | ${win32AppUserModelId} | ${win32ShellNameShort} | ${win32x64UserAppId} | ${urlProtocol} | ${extensionAllowedProposedApi} | ${serverDataFolderName} | ${reportIssueUrl} | ${licenseUrl}"
|
||||||
cat product.json.bak | jq "${product_json_changes}" > product.json
|
cat product.json.bak | jq "${product_json_changes}" > product.json
|
||||||
cat product.json
|
cat product.json
|
||||||
|
|
||||||
|
|||||||
62
release.sh
Executable file
62
release.sh
Executable file
@@ -0,0 +1,62 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [[ -z "${GITHUB_TOKEN}" ]]; then
|
||||||
|
echo "Will not release because no GITHUB_TOKEN defined"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
npm install -g github-release-cli
|
||||||
|
|
||||||
|
if [[ $( gh release view "${MS_TAG}" 2>&1 ) =~ "release not found" ]]; then
|
||||||
|
echo "Creating release '${MS_TAG}'"
|
||||||
|
gh release create "${MS_TAG}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd artifacts
|
||||||
|
|
||||||
|
set +e
|
||||||
|
|
||||||
|
for FILE in *
|
||||||
|
do
|
||||||
|
if [[ -f "${FILE}" ]] && [[ "${FILE}" != *.sha1 ]] && [[ "${FILE}" != *.sha256 ]]; then
|
||||||
|
echo "::group::Uploading '${FILE}' at $( date "+%T" )"
|
||||||
|
gh release upload "${MS_TAG}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
|
||||||
|
|
||||||
|
EXIT_STATUS=$?
|
||||||
|
echo "exit: $EXIT_STATUS"
|
||||||
|
|
||||||
|
if (( $EXIT_STATUS )); then
|
||||||
|
for (( i=0; i<10; i++ ))
|
||||||
|
do
|
||||||
|
github-release delete --owner VSCodium --repo vscodium --tag "${MS_TAG}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
|
||||||
|
|
||||||
|
sleep $(( 15 * (i + 1)))
|
||||||
|
|
||||||
|
echo "RE-Uploading '${FILE}' at $( date "+%T" )"
|
||||||
|
gh release upload "${MS_TAG}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
|
||||||
|
|
||||||
|
EXIT_STATUS=$?
|
||||||
|
echo "exit: $EXIT_STATUS"
|
||||||
|
|
||||||
|
if ! (( $EXIT_STATUS )); then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "exit: $EXIT_STATUS"
|
||||||
|
|
||||||
|
if (( $EXIT_STATUS )); then
|
||||||
|
echo "'${FILE}' hasn't been uploaded!"
|
||||||
|
|
||||||
|
github-release delete --owner VSCodium --repo vscodium --tag "${MS_TAG}" "${FILE}" "${FILE}.sha1" "${FILE}.sha256"
|
||||||
|
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "::endgroup::"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
cd ..
|
||||||
30
sum.sh
30
sum.sh
@@ -1,30 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
npm install -g checksum
|
|
||||||
|
|
||||||
sum_file () {
|
|
||||||
if [[ -f "$1" ]]; then
|
|
||||||
checksum -a sha256 "$1" > "$1".sha256
|
|
||||||
checksum "$1" > "$1".sha1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
|
||||||
if [[ "$OS_NAME" == "osx" ]]; then
|
|
||||||
sum_file VSCodium-darwin-*.zip
|
|
||||||
sum_file VSCodium*.dmg
|
|
||||||
elif [[ "$OS_NAME" == "windows" ]]; then
|
|
||||||
sum_file VSCodiumSetup-*.exe
|
|
||||||
sum_file VSCodiumUserSetup-*.exe
|
|
||||||
sum_file VSCodium-win32-*.zip
|
|
||||||
else # linux
|
|
||||||
cp out/*.AppImage* .
|
|
||||||
cp vscode/.build/linux/deb/*/deb/*.deb .
|
|
||||||
cp vscode/.build/linux/rpm/*/*.rpm .
|
|
||||||
|
|
||||||
sum_file VSCodium-*.AppImage
|
|
||||||
sum_file VSCodium-linux*.tar.gz
|
|
||||||
sum_file *.deb
|
|
||||||
sum_file *.rpm
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
@@ -1,7 +1,10 @@
|
|||||||
DEFAULT_TRUE="'default': true"
|
DEFAULT_TRUE="'default': true"
|
||||||
DEFAULT_FALSE="'default': false"
|
DEFAULT_FALSE="'default': false"
|
||||||
|
DEFAULT_ON="'default': TelemetryConfiguration.ON"
|
||||||
|
DEFAULT_OFF="'default': TelemetryConfiguration.OFF"
|
||||||
TELEMETRY_ENABLE="'telemetry.enableTelemetry':"
|
TELEMETRY_ENABLE="'telemetry.enableTelemetry':"
|
||||||
TELEMETRY_CRASH_REPORTER="'telemetry.enableCrashReporter':"
|
TELEMETRY_CRASH_REPORTER="'telemetry.enableCrashReporter':"
|
||||||
|
TELEMETRY_CONFIGURATION=" TelemetryConfiguration.ON"
|
||||||
|
|
||||||
#include common functions
|
#include common functions
|
||||||
. ../utils.sh
|
. ../utils.sh
|
||||||
@@ -22,7 +25,7 @@ update_setting () {
|
|||||||
if [[ $line == *"$SETTING"* ]]; then
|
if [[ $line == *"$SETTING"* ]]; then
|
||||||
local IN_SETTING=1
|
local IN_SETTING=1
|
||||||
fi
|
fi
|
||||||
if [[ $line == *"$DEFAULT_TRUE"* && "$IN_SETTING" == "1" ]]; then
|
if [[ ($line == *"$DEFAULT_TRUE"* || $line == *"$DEFAULT_ON"*) && "$IN_SETTING" == "1" ]]; then
|
||||||
local FOUND=1
|
local FOUND=1
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
@@ -34,10 +37,15 @@ update_setting () {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# construct line-aware replacement string
|
# construct line-aware replacement string
|
||||||
local DEFAULT_TRUE_TO_FALSE="${LINE_NUM}s/${DEFAULT_TRUE}/${DEFAULT_FALSE}/"
|
if [[ $line == *"$DEFAULT_TRUE"* ]]; then
|
||||||
|
local DEFAULT_TRUE_TO_FALSE="${LINE_NUM}s/${DEFAULT_TRUE}/${DEFAULT_FALSE}/"
|
||||||
|
else
|
||||||
|
local DEFAULT_TRUE_TO_FALSE="${LINE_NUM}s/${DEFAULT_ON}/${DEFAULT_OFF}/"
|
||||||
|
fi
|
||||||
|
|
||||||
replace "$DEFAULT_TRUE_TO_FALSE" $FILENAME
|
replace "$DEFAULT_TRUE_TO_FALSE" $FILENAME
|
||||||
}
|
}
|
||||||
|
|
||||||
update_setting "$TELEMETRY_ENABLE" src/vs/platform/telemetry/common/telemetryService.ts
|
update_setting "$TELEMETRY_ENABLE" src/vs/platform/telemetry/common/telemetryService.ts
|
||||||
update_setting "$TELEMETRY_CRASH_REPORTER" src/vs/workbench/electron-sandbox/desktop.contribution.ts
|
update_setting "$TELEMETRY_CRASH_REPORTER" src/vs/workbench/electron-sandbox/desktop.contribution.ts
|
||||||
|
update_setting "$TELEMETRY_CONFIGURATION" src/vs/platform/telemetry/common/telemetryService.ts
|
||||||
|
|||||||
@@ -1,10 +1,17 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
if [[ "$SHOULD_BUILD" != "yes" ]]; then
|
set -e
|
||||||
|
|
||||||
|
if [[ "${SHOULD_BUILD}" != "yes" ]]; then
|
||||||
echo "Will not update version JSON because we did not build"
|
echo "Will not update version JSON because we did not build"
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ -z "${GITHUB_TOKEN}" ]]; then
|
||||||
|
echo "Will not update version JSON because no GITHUB_TOKEN defined"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
# {
|
# {
|
||||||
# "url": "https://az764295.vo.msecnd.net/stable/51b0b28134d51361cf996d2f0a1c698247aeabd8/VSCode-darwin-stable.zip",
|
# "url": "https://az764295.vo.msecnd.net/stable/51b0b28134d51361cf996d2f0a1c698247aeabd8/VSCode-darwin-stable.zip",
|
||||||
# "name": "1.33.1",
|
# "name": "1.33.1",
|
||||||
@@ -16,45 +23,48 @@ fi
|
|||||||
# }
|
# }
|
||||||
|
|
||||||
# `url` is URL_BASE + filename of asset e.g.
|
# `url` is URL_BASE + filename of asset e.g.
|
||||||
# darwin: https://github.com/VSCodium/vscodium/releases/download/${LATEST_MS_TAG}/VSCodium-darwin-${LATEST_MS_TAG}.zip
|
# darwin: https://github.com/VSCodium/vscodium/releases/download/${MS_TAG}/VSCodium-darwin-${MS_TAG}.zip
|
||||||
# `name` is $LATEST_MS_TAG
|
# `name` is $MS_TAG
|
||||||
# `version` is $LATEST_MS_COMMIT
|
# `version` is $MS_COMMIT
|
||||||
# `productVersion` is $LATEST_MS_TAG
|
# `productVersion` is $MS_TAG
|
||||||
# `hash` in <filename>.sha1
|
# `hash` in <filename>.sha1
|
||||||
# `timestamp` is $(node -e 'console.log(Date.now())')
|
# `timestamp` is $(node -e 'console.log(Date.now())')
|
||||||
# `sha256hash` in <filename>.sha256
|
# `sha256hash` in <filename>.sha256
|
||||||
|
|
||||||
URL_BASE=https://github.com/VSCodium/vscodium/releases/download/${LATEST_MS_TAG}
|
URL_BASE="https://github.com/VSCodium/vscodium/releases/download/${MS_TAG}"
|
||||||
|
|
||||||
# to make testing on forks easier
|
# to make testing on forks easier
|
||||||
VERSIONS_REPO="${GITHUB_USERNAME}/versions"
|
VERSIONS_REPO="${GITHUB_USERNAME}/versions"
|
||||||
echo "Versions repo:" $VERSIONS_REPO
|
echo "Versions repo: ${VERSIONS_REPO}"
|
||||||
|
|
||||||
# generateJson <assetName>
|
|
||||||
# e.g. generateJson VSCodium-darwin-1.33.0.zip
|
|
||||||
generateJson() {
|
generateJson() {
|
||||||
local assetName=$1
|
JSON_DATA="{}"
|
||||||
|
|
||||||
# generate parts
|
# generate parts
|
||||||
local url=${URL_BASE}/${assetName}
|
local url="${URL_BASE}/${ASSET_NAME}"
|
||||||
local name=$LATEST_MS_TAG
|
local name="${MS_TAG}"
|
||||||
local version=$LATEST_MS_COMMIT
|
local version="${MS_COMMIT}"
|
||||||
local productVersion=$LATEST_MS_TAG
|
local productVersion="${MS_TAG}"
|
||||||
local timestamp=$(node -e 'console.log(Date.now())')
|
local timestamp=$(node -e 'console.log(Date.now())')
|
||||||
|
|
||||||
local sha1hash=$(cat ${assetName}.sha1 | awk '{ print $1 }')
|
if [[ ! -f "artifacts/${ASSET_NAME}" ]]; then
|
||||||
local sha256hash=$(cat ${assetName}.sha256 | awk '{ print $1 }')
|
echo "Downloading artifact '${ASSET_NAME}'"
|
||||||
|
gh release download "${MS_TAG}" --dir "artifacts" --pattern "${ASSET_NAME}*"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local sha1hash=$(cat "artifacts/${ASSET_NAME}.sha1" | awk '{ print $1 }')
|
||||||
|
local sha256hash=$(cat "artifacts/${ASSET_NAME}.sha256" | awk '{ print $1 }')
|
||||||
|
|
||||||
# check that nothing is blank (blank indicates something awry with build)
|
# check that nothing is blank (blank indicates something awry with build)
|
||||||
for key in url name version productVersion sha1hash timestamp sha256hash; do
|
for key in url name version productVersion sha1hash timestamp sha256hash; do
|
||||||
if [[ "${!key}" == "" ]]; then
|
if [[ -z "${key}" ]]; then
|
||||||
echo "Missing data for version update; exiting..."
|
echo "Variable '${key}' is empty; exiting..."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# generate json
|
# generate json
|
||||||
local json=$(jq \
|
JSON_DATA=$(jq \
|
||||||
--arg url "${url}" \
|
--arg url "${url}" \
|
||||||
--arg name "${name}" \
|
--arg name "${name}" \
|
||||||
--arg version "${version}" \
|
--arg version "${version}" \
|
||||||
@@ -64,76 +74,86 @@ generateJson() {
|
|||||||
--arg sha256hash "${sha256hash}" \
|
--arg sha256hash "${sha256hash}" \
|
||||||
'. | .url=$url | .name=$name | .version=$version | .productVersion=$productVersion | .hash=$hash | .timestamp=$timestamp | .sha256hash=$sha256hash' \
|
'. | .url=$url | .name=$name | .version=$version | .productVersion=$productVersion | .hash=$hash | .timestamp=$timestamp | .sha256hash=$sha256hash' \
|
||||||
<<<'{}')
|
<<<'{}')
|
||||||
|
|
||||||
echo "$json"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
updateLatestVersion() {
|
updateLatestVersion() {
|
||||||
|
echo "Generating ${VERSION_PATH}/latest.json"
|
||||||
|
|
||||||
|
generateJson
|
||||||
|
|
||||||
cd versions
|
cd versions
|
||||||
|
|
||||||
local versionPath=$1
|
|
||||||
local json=$2
|
|
||||||
|
|
||||||
# create/update the latest.json file in the correct location
|
# create/update the latest.json file in the correct location
|
||||||
mkdir -p $versionPath
|
mkdir -p "${VERSION_PATH}"
|
||||||
echo $json > $versionPath/latest.json
|
echo "${JSON_DATA}" > "${VERSION_PATH}/latest.json"
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
}
|
}
|
||||||
|
|
||||||
# init versions repo for later commiting + pushing the json file to it
|
# init versions repo for later commiting + pushing the json file to it
|
||||||
# thank you https://www.vinaygopinath.me/blog/tech/commit-to-master-branch-on-github-using-travis-ci/
|
# thank you https://www.vinaygopinath.me/blog/tech/commit-to-master-branch-on-github-using-travis-ci/
|
||||||
git clone https://github.com/${VERSIONS_REPO}.git
|
git clone "https://github.com/${VERSIONS_REPO}.git"
|
||||||
cd versions
|
cd versions
|
||||||
git config user.email "vscodium-ci@not-real.com"
|
git config user.email "vscodium-ci@not-real.com"
|
||||||
git config user.name "VSCodium CI"
|
git config user.name "VSCodium CI"
|
||||||
git remote rm origin
|
git remote rm origin
|
||||||
git remote add origin https://${GITHUB_USERNAME}:${GITHUB_TOKEN}@github.com/${VERSIONS_REPO}.git > /dev/null 2>&1
|
git remote add origin "https://${GITHUB_USERNAME}:${GITHUB_TOKEN}@github.com/${VERSIONS_REPO}.git" > /dev/null 2>&1
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
if [[ "$OS_NAME" == "osx" ]]; then
|
if [[ "${OS_NAME}" == "osx" ]]; then
|
||||||
# zip, sha1, and sha256 files are all at top level dir
|
ASSET_NAME=VSCodium-darwin-${VSCODE_ARCH}-${MS_TAG}.zip
|
||||||
ASSET_NAME=VSCodium-darwin-${VSCODE_ARCH}-${LATEST_MS_TAG}.zip
|
|
||||||
VERSION_PATH="darwin/${VSCODE_ARCH}"
|
VERSION_PATH="darwin/${VSCODE_ARCH}"
|
||||||
JSON="$(generateJson ${ASSET_NAME})"
|
updateLatestVersion
|
||||||
updateLatestVersion "$VERSION_PATH" "$JSON"
|
elif [[ "${OS_NAME}" == "windows" ]]; then
|
||||||
elif [[ "$OS_NAME" == "windows" ]]; then
|
|
||||||
# system installer
|
# system installer
|
||||||
ASSET_NAME=VSCodiumSetup-${VSCODE_ARCH}-${LATEST_MS_TAG}.exe
|
ASSET_NAME=VSCodiumSetup-${VSCODE_ARCH}-${MS_TAG}.exe
|
||||||
VERSION_PATH="win32/${VSCODE_ARCH}/system"
|
VERSION_PATH="win32/${VSCODE_ARCH}/system"
|
||||||
JSON="$(generateJson ${ASSET_NAME})"
|
updateLatestVersion
|
||||||
updateLatestVersion "$VERSION_PATH" "$JSON"
|
|
||||||
|
|
||||||
# user installer
|
# user installer
|
||||||
ASSET_NAME=VSCodiumUserSetup-${VSCODE_ARCH}-${LATEST_MS_TAG}.exe
|
ASSET_NAME=VSCodiumUserSetup-${VSCODE_ARCH}-${MS_TAG}.exe
|
||||||
VERSION_PATH="win32/${VSCODE_ARCH}/user"
|
VERSION_PATH="win32/${VSCODE_ARCH}/user"
|
||||||
JSON="$(generateJson ${ASSET_NAME})"
|
updateLatestVersion
|
||||||
updateLatestVersion "$VERSION_PATH" "$JSON"
|
|
||||||
|
|
||||||
# windows archive
|
# windows archive
|
||||||
ASSET_NAME=VSCodium-win32-${VSCODE_ARCH}-${LATEST_MS_TAG}.zip
|
ASSET_NAME=VSCodium-win32-${VSCODE_ARCH}-${MS_TAG}.zip
|
||||||
VERSION_PATH="win32/${VSCODE_ARCH}/archive"
|
VERSION_PATH="win32/${VSCODE_ARCH}/archive"
|
||||||
JSON="$(generateJson ${ASSET_NAME})"
|
updateLatestVersion
|
||||||
updateLatestVersion "$VERSION_PATH" "$JSON"
|
|
||||||
|
if [[ "${VSCODE_ARCH}" == "ia32" || "${VSCODE_ARCH}" == "x64" ]]; then
|
||||||
|
# msi
|
||||||
|
ASSET_NAME=VSCodium-${VSCODE_ARCH}-${MS_TAG}.msi
|
||||||
|
VERSION_PATH="win32/${VSCODE_ARCH}/msi"
|
||||||
|
updateLatestVersion
|
||||||
|
|
||||||
|
# updates-disabled msi
|
||||||
|
ASSET_NAME=VSCodium-${VSCODE_ARCH}-updates-disabled-${MS_TAG}.msi
|
||||||
|
VERSION_PATH="win32/${VSCODE_ARCH}/msi-updates-disabled"
|
||||||
|
updateLatestVersion
|
||||||
|
fi
|
||||||
else # linux
|
else # linux
|
||||||
# update service links to tar.gz file
|
# update service links to tar.gz file
|
||||||
# see https://update.code.visualstudio.com/api/update/linux-x64/stable/VERSION
|
# see https://update.code.visualstudio.com/api/update/linux-x64/stable/VERSION
|
||||||
# as examples
|
# as examples
|
||||||
ASSET_NAME=VSCodium-linux-${VSCODE_ARCH}-${LATEST_MS_TAG}.tar.gz
|
ASSET_NAME=VSCodium-linux-${VSCODE_ARCH}-${MS_TAG}.tar.gz
|
||||||
VERSION_PATH="linux/${VSCODE_ARCH}"
|
VERSION_PATH="linux/${VSCODE_ARCH}"
|
||||||
JSON="$(generateJson ${ASSET_NAME})"
|
updateLatestVersion
|
||||||
updateLatestVersion "$VERSION_PATH" "$JSON"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd versions
|
cd versions
|
||||||
|
|
||||||
git pull origin master # in case another build just pushed
|
git pull origin master # in case another build just pushed
|
||||||
git add .
|
git add .
|
||||||
dateAndMonth=`date "+%D %T"`
|
|
||||||
git commit -m "CI update: $dateAndMonth (Build $GITHUB_RUN_NUMBER)"
|
CHANGES=$( git status --porcelain )
|
||||||
if ! git push origin master --quiet; then
|
|
||||||
git pull origin master
|
if [[ ! -z "${CHANGES}" ]]; then
|
||||||
git push origin master --quiet
|
dateAndMonth=$( date "+%D %T" )
|
||||||
|
git commit -m "CI update: ${dateAndMonth} (Build ${GITHUB_RUN_NUMBER})"
|
||||||
|
if ! git push origin master --quiet; then
|
||||||
|
git pull origin master
|
||||||
|
git push origin master --quiet
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
|
|||||||
Reference in New Issue
Block a user