Compare commits
170 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
96d79aeb70 | ||
|
|
baf7e684ee | ||
|
|
c9e9f28130 | ||
|
|
9ed4558b54 | ||
|
|
6dd97cce54 | ||
|
|
22001fcae5 | ||
|
|
e6fe0cddd6 | ||
|
|
1f5761ccea | ||
|
|
c12606a81b | ||
|
|
60de1450bc | ||
|
|
364838eaba | ||
|
|
5298b33e68 | ||
|
|
820ca10fe4 | ||
|
|
a8372aa348 | ||
|
|
7b13dd63e7 | ||
|
|
d001f1875e | ||
|
|
384789005b | ||
|
|
9dd4e545c0 | ||
|
|
29f3534b16 | ||
|
|
9bfe5e3b73 | ||
|
|
d547c16120 | ||
|
|
78aa52ea05 | ||
|
|
70139913d6 | ||
|
|
768ea6778e | ||
|
|
c7187ed00f | ||
|
|
0039e51b87 | ||
|
|
5811dab0eb | ||
|
|
17cb8b1d4e | ||
|
|
37851b2f04 | ||
|
|
b3e6c6dbe1 | ||
|
|
aeec80474f | ||
|
|
02b97b5d79 | ||
|
|
10ec7d8e2b | ||
|
|
b8b5dc9aeb | ||
|
|
86f076f68c | ||
|
|
5b15d72328 | ||
|
|
e0c124d19e | ||
|
|
2b1a4ff693 | ||
|
|
05819c1f79 | ||
|
|
4782bb2ead | ||
|
|
3909371fa4 | ||
|
|
cb5e22e005 | ||
|
|
eb45bbea1f | ||
|
|
098bdc3f31 | ||
|
|
2203dfbf0f | ||
|
|
0a20f8159a | ||
|
|
e961dde624 | ||
|
|
16eb6e4c83 | ||
|
|
bbf621e19f | ||
|
|
47ca41068c | ||
|
|
7ce133a5c4 | ||
|
|
3a593d2958 | ||
|
|
e74de8ff37 | ||
|
|
2d58d3bd1e | ||
|
|
90ee5b2d41 | ||
|
|
5b825c8bf7 | ||
|
|
bfb4be2930 | ||
|
|
dfb373330c | ||
|
|
8b978a5a6f | ||
|
|
679a8d97b6 | ||
|
|
e13b9f35ad | ||
|
|
30d6dfd70a | ||
|
|
fa7f150521 | ||
|
|
6edd4e85a9 | ||
|
|
86e4055bfe | ||
|
|
090cf497e2 | ||
|
|
5ffd1aa4b0 | ||
|
|
f9c7df01ad | ||
|
|
a9b505f228 | ||
|
|
3c5eb104f9 | ||
|
|
c478ef85c2 | ||
|
|
32583f3bd7 | ||
|
|
ac4bb3f987 | ||
|
|
3471de4d49 | ||
|
|
45af9e614b | ||
|
|
9f3136fd35 | ||
|
|
07ec36ff69 | ||
|
|
8c04967b7e | ||
|
|
1082261042 | ||
|
|
4c7c82fe06 | ||
|
|
138269d3cf | ||
|
|
661608ed6f | ||
|
|
6d33f26e3b | ||
|
|
cab264b133 | ||
|
|
d199e65310 | ||
|
|
e51b9e5ecd | ||
|
|
0a2378dbdc | ||
|
|
a1985c9eb9 | ||
|
|
401a51153f | ||
|
|
7797f694da | ||
|
|
0ce7a3b40a | ||
|
|
a08e243eb1 | ||
|
|
b4e9c1dcb6 | ||
|
|
82fb8829fe | ||
|
|
bfe2693d76 | ||
|
|
a8d355c276 | ||
|
|
608edd6776 | ||
|
|
f88cffb39f | ||
|
|
a975177d1d | ||
|
|
dacb759766 | ||
|
|
8b1f6fe734 | ||
|
|
8c5166cd56 | ||
|
|
2c98e24e2d | ||
|
|
30fe5197db | ||
|
|
266448613e | ||
|
|
c92c61a50b | ||
|
|
fc9c33acf4 | ||
|
|
feb979db54 | ||
|
|
e0ac293279 | ||
|
|
9a046ea3a0 | ||
|
|
137a891882 | ||
|
|
535861eec8 | ||
|
|
101bda7072 | ||
|
|
d21ea7de56 | ||
|
|
99038981dc | ||
|
|
15260f4801 | ||
|
|
a7a52b02d5 | ||
|
|
024c056cf3 | ||
|
|
a5782f621b | ||
|
|
2bf1841c64 | ||
|
|
d8f341db38 | ||
|
|
aae9794677 | ||
|
|
96e27cd232 | ||
|
|
6142ac4170 | ||
|
|
1435710c16 | ||
|
|
229274f9c8 | ||
|
|
e974e22d99 | ||
|
|
a5cc6c090e | ||
|
|
b012b6c1d0 | ||
|
|
07ac47b131 | ||
|
|
27d8a66386 | ||
|
|
b50c86a143 | ||
|
|
22f80b365c | ||
|
|
46601d6f64 | ||
|
|
67d5db8019 | ||
|
|
eeedf51ab3 | ||
|
|
fd8e968c1e | ||
|
|
51a653b6e4 | ||
|
|
add743eead | ||
|
|
14d40ad96f | ||
|
|
9f92b7f073 | ||
|
|
c25fd7717b | ||
|
|
3895b385eb | ||
|
|
db359f0711 | ||
|
|
22c41976f2 | ||
|
|
80f4d30638 | ||
|
|
e88869bbf4 | ||
|
|
d695216317 | ||
|
|
e4b87c1a0e | ||
|
|
d6fcc82584 | ||
|
|
34aa7b0d89 | ||
|
|
bc0826868c | ||
|
|
c2c3525405 | ||
|
|
de31868635 | ||
|
|
5004481ea9 | ||
|
|
f63fbe4292 | ||
|
|
8111747fab | ||
|
|
765a4b63ad | ||
|
|
0355e7013c | ||
|
|
f87035e3e6 | ||
|
|
6367d32c32 | ||
|
|
d1adafac84 | ||
|
|
fb100d772b | ||
|
|
f1ac78e6ed | ||
|
|
42bc96ba21 | ||
|
|
40f5d1398b | ||
|
|
000ede1322 | ||
|
|
0ca513930d | ||
|
|
6788101859 | ||
|
|
eb6ca84e21 |
92
.github/workflows/linux.yml
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
name: linux_build
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
push:
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
linux:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ${{ matrix.image }}
|
||||
env:
|
||||
OS_NAME: 'linux'
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
vscode_arch: [x64, arm64, armhf]
|
||||
include:
|
||||
- vscode_arch: x64
|
||||
npm_arch: x64
|
||||
image: vscodium/vscodium-linux-build-agent:x64
|
||||
- vscode_arch: arm64
|
||||
npm_arch: arm64
|
||||
image: vscodium/vscodium-linux-build-agent:buster-arm64
|
||||
- vscode_arch: armhf
|
||||
npm_arch: armv7l
|
||||
image: vscodium/vscodium-linux-build-agent:buster-armhf
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.14.1
|
||||
|
||||
- name: Install Yarn
|
||||
run: npm install -g yarn
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: ./check_tags.sh
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
npm_config_arch: ${{ matrix.npm_arch }}
|
||||
run: ./build.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Zip release
|
||||
run: |
|
||||
cd VSCode-linux-${VSCODE_ARCH}
|
||||
tar czf ../VSCodium-linux-${VSCODE_ARCH}-${LATEST_MS_TAG}.tar.gz .
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Generate shasums
|
||||
run: ./sum.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
with:
|
||||
tag_name: ${{ env.LATEST_MS_TAG }}
|
||||
files: |
|
||||
./*.sha256
|
||||
./*.zip
|
||||
./*.tar.gz
|
||||
./*.deb
|
||||
./*.rpm
|
||||
./*.AppImage
|
||||
./*.AppImage.zsync
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Update versions repo
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
run: ./update_version.sh
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
|
||||
96
.github/workflows/macos.yml
vendored
Normal file
@@ -0,0 +1,96 @@
|
||||
name: macos_build
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
push:
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macOS-latest
|
||||
env:
|
||||
OS_NAME: "osx"
|
||||
VSCODE_ARCH: "x64"
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.14.1
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: |
|
||||
. get_repo.sh
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
. check_tags.sh
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: ./build.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Sign binary
|
||||
env:
|
||||
CERTIFICATE_OSX_P12: ${{ secrets.CERTIFICATE_OSX_P12 }}
|
||||
CERTIFICATE_OSX_PASSWORD: ${{ secrets.CERTIFICATE_OSX_PASSWORD }}
|
||||
CERTIFICATE_OSX_ID: ${{ secrets.CERTIFICATE_OSX_ID }}
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
run: |
|
||||
if [ -d "VSCode-darwin-${VSCODE_ARCH}" ]; then # just in case the build failed
|
||||
cd "VSCode-darwin-${VSCODE_ARCH}"
|
||||
export CERTIFICATE_P12=VSCodium.p12
|
||||
echo $CERTIFICATE_OSX_P12 | base64 --decode > $CERTIFICATE_P12
|
||||
export KEYCHAIN=build.keychain
|
||||
security create-keychain -p mysecretpassword $KEYCHAIN
|
||||
security default-keychain -s $KEYCHAIN
|
||||
security unlock-keychain -p mysecretpassword $KEYCHAIN
|
||||
security import $CERTIFICATE_P12 -k $KEYCHAIN -P $CERTIFICATE_OSX_PASSWORD -T /usr/bin/codesign
|
||||
security set-key-partition-list -S apple-tool:,apple: -s -k mysecretpassword $KEYCHAIN
|
||||
codesign --deep --force --verbose --sign "$CERTIFICATE_OSX_ID" VSCodium.app
|
||||
fi
|
||||
|
||||
- name: Zip release
|
||||
run: |
|
||||
cd "VSCode-darwin-${VSCODE_ARCH}"
|
||||
zip -r -X -y ../VSCodium-darwin-${VSCODE_ARCH}-${LATEST_MS_TAG}.zip ./*.app
|
||||
if: env.SHOULD_BUILD == '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'
|
||||
|
||||
- name: Generate shasums
|
||||
run: ./sum.sh
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
with:
|
||||
tag_name: ${{ env.LATEST_MS_TAG }}
|
||||
files: |
|
||||
./*.zip
|
||||
./*.dmg
|
||||
./*.sha256
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Update versions repo
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
run: ./update_version.sh
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
|
||||
89
.github/workflows/windows.yml
vendored
Normal file
@@ -0,0 +1,89 @@
|
||||
name: windows_build
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
push:
|
||||
pull_request:
|
||||
branches: [ master ]
|
||||
|
||||
jobs:
|
||||
windows:
|
||||
runs-on: windows-2016
|
||||
env:
|
||||
VSCODE_ARCH: ${{ matrix.vscode_arch }}
|
||||
OS_NAME: 'windows'
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
vscode_arch: [x64, ia32, arm64]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.18.3
|
||||
|
||||
- name: Install Yarn
|
||||
run: npm install -g yarn
|
||||
|
||||
- name: Setup Python 2
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: '2.x'
|
||||
|
||||
- name: Clone VSCode repo
|
||||
run: ./get_repo.sh
|
||||
shell: bash
|
||||
|
||||
- name: Check existing VSCodium tags/releases
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: ./check_tags.sh
|
||||
shell: bash
|
||||
|
||||
- name: Build
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
npm_config_arch: ${{ matrix.vscode_arch }}
|
||||
npm_config_target_arch: ${{ matrix.vscode_arch }}
|
||||
run: ./build.sh
|
||||
shell: bash
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Move/rename build artifacts
|
||||
run: |
|
||||
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'
|
||||
|
||||
- name: Generate shasums
|
||||
run: ./sum.sh
|
||||
shell: bash
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
|
||||
- name: Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
with:
|
||||
tag_name: ${{ env.LATEST_MS_TAG }}
|
||||
files: |
|
||||
./*.sha256
|
||||
./VSCodium*.zip
|
||||
./VSCodiumUserSetup*.exe
|
||||
./VSCodiumSetup*.exe
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Update versions repo
|
||||
if: env.SHOULD_BUILD == 'yes'
|
||||
run: ./update_version.sh
|
||||
shell: bash
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||
GITHUB_USERNAME: ${{ github.repository_owner }}
|
||||
|
||||
3
.gitignore
vendored
@@ -1,2 +1,3 @@
|
||||
vscode
|
||||
VS*/*
|
||||
VS*/*
|
||||
.DS_Store
|
||||
|
||||
57
.travis.yml
@@ -1,57 +0,0 @@
|
||||
matrix:
|
||||
include:
|
||||
- os: linux
|
||||
sudo: required
|
||||
env: BUILDARCH=x64
|
||||
dist: trusty
|
||||
- os: linux
|
||||
sudo: required
|
||||
env: BUILDARCH=arm64
|
||||
dist: trusty
|
||||
- os: linux
|
||||
sudo: required
|
||||
env: BUILDARCH=arm
|
||||
dist: trusty
|
||||
- os: osx
|
||||
|
||||
language: node_js
|
||||
node_js: "12"
|
||||
|
||||
before_install:
|
||||
- curl -o- -L https://yarnpkg.com/install.sh | bash
|
||||
- export PATH="$HOME/.yarn/bin:$PATH"
|
||||
- . install_deps.sh
|
||||
- . get_repo.sh
|
||||
- . check_tags.sh
|
||||
|
||||
script:
|
||||
- ./build.sh
|
||||
|
||||
before_deploy:
|
||||
- ./sign_mac_app.sh
|
||||
- ./create_zip.sh
|
||||
- ./create_dmg.sh
|
||||
- ./sum.sh
|
||||
|
||||
deploy:
|
||||
provider: releases
|
||||
skip_cleanup: true
|
||||
overwrite: true
|
||||
name: $LATEST_MS_TAG
|
||||
api_key: $GITHUB_TOKEN
|
||||
file_glob: true
|
||||
file:
|
||||
- ./*.sha256
|
||||
- ./*.zip
|
||||
- ./*.tar.gz
|
||||
- ./*.dmg
|
||||
- ./*.deb
|
||||
- ./*.rpm
|
||||
- ./*.AppImage
|
||||
- ./*.AppImage.zsync
|
||||
on:
|
||||
all_branches: true
|
||||
condition: $SHOULD_BUILD = yes
|
||||
|
||||
after_deploy:
|
||||
- ./update_version.sh
|
||||
40
DOCS.md
@@ -26,15 +26,30 @@ It is also highly recommended that you review all the settings that "use online
|
||||
|
||||
These can all be disabled.
|
||||
|
||||
__Please note that some extensions send telemetry data to Microsoft as well. We have no control over this and can only recommend removing the extension.__
|
||||
__Please note that some extensions send telemetry data to Microsoft as well. We have no control over this and can only recommend removing the extension.__ _(For example, the C# extension `ms-vscode.csharp` sends tracking data to Microsoft.)_
|
||||
|
||||
_(For example the C# extension `ms-vscode.csharp` sends tracking data to Microsoft.)_
|
||||
### Replacements to Microsoft Online Services
|
||||
|
||||
When searching the `@tag:usesOnlineServices` filter, note that while the "Update: Mode" setting description still says "The updates are fetched from a Microsoft online service", VSCodium's build script [sets the `updateUrl` field](https://github.com/VSCodium/vscodium/blob/master/prepare_vscode.sh#L36) in `product.json` to that of VSCodium's own small [update server](https://github.com/VSCodium/update-api), so enabling that setting won't actually result in any calls to Microsoft servers.
|
||||
|
||||
Likewise, while the descriptions for "Extensions: Auto Check Updates" and "Extensions: Auto Update" include the same phrase, VSCodium [replaces](https://github.com/VSCodium/vscodium/blob/master/prepare_vscode.sh#L42) the Visual Studio Marketplace with Open VSX, so these settings won't call Microsoft, either.
|
||||
|
||||
## <a id="extensions-marketplace"></a>Extensions + Marketplace
|
||||
|
||||
Until something more open comes around, we use the Microsoft Marketplace/Extensions in the `product.json` file. Those links are licensed under MIT as per [the comments on this issue.](https://github.com/Microsoft/vscode/issues/31168#issuecomment-317319063)
|
||||
The `product.json` file is set up to use [open-vsx.org](https://open-vsx.org/) as extension gallery, which has an [adapter](https://github.com/eclipse/openvsx/wiki/Using-Open-VSX-in-VS-Code) to the Marketplace API used by VS Code. Since that is a rather new project, you will likely miss some extensions you know from the VS Code Marketplace. You have the following options to obtain such missing extensions:
|
||||
|
||||
If you use the [code-settings-sync](https://github.com/shanalikhan/code-settings-sync) extension, you may have [an issue](https://github.com/VSCodium/vscodium/issues/72) installing extensions (via the plugin). Refer to [this workaround](https://github.com/shanalikhan/code-settings-sync/issues/668#issuecomment-462065341) to get it working properly.
|
||||
* Ask the extension maintainers to publish to [open-vsx.org](https://open-vsx.org/) in addition to the VS Code Marketplace. The publishing process is documented in the [Open VSX Wiki](https://github.com/eclipse/openvsx/wiki/Publishing-Extensions).
|
||||
* Create a pull request to [this repository](https://github.com/open-vsx/publish-extensions) to have the [@open-vsx](https://github.com/open-vsx) service account publish the extensions for you.
|
||||
* Download and [install the vsix files](https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix).
|
||||
* Modify the `extensionsGallery` section of the `product.json` file in your VSCodium installation to use the VS Code Marketplace as shown below. However, note that [it is not clear whether this is legal](https://github.com/microsoft/vscode/issues/31168).
|
||||
```json
|
||||
"extensionsGallery": {
|
||||
"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
|
||||
"itemUrl": "https://marketplace.visualstudio.com/items"
|
||||
}
|
||||
```
|
||||
|
||||
See [this article](https://www.gitpod.io/blog/open-vsx/) for more information on the motivation behind Open VSX.
|
||||
|
||||
### Proprietary Debugging Tools
|
||||
|
||||
@@ -42,11 +57,26 @@ The debugger provided with Microsoft's [C# extension](https://github.com/OmniSha
|
||||
|
||||
A workaround exists to get debugging working in C# projects, by using Samsung's opensource [netcoredbg](https://github.com/Samsung/netcoredbg) package. See [this comment](https://github.com/VSCodium/vscodium/issues/82#issue-409806641) for instructions on how to set that up.
|
||||
|
||||
### Proprietary Extensions
|
||||
|
||||
Like the debuggers mentioned above, some extensions you may find in the marketplace (like the [Remote Development Extensions](https://code.visualstudio.com/docs/remote/remote-overview)) only function with the offical Visual Studio Code build. You can work around this by adding the extension's internal ID (found on the extension's page) to the `extensionAllowedProposedApi` property of the product.json in your VSCodium installation. For example:
|
||||
|
||||
```json
|
||||
"extensionAllowedProposedApi": [
|
||||
// ...
|
||||
"ms-vscode-remote.vscode-remote-extensionpack",
|
||||
"ms-vscode-remote.remote-wsl",
|
||||
// ...
|
||||
],
|
||||
```
|
||||
|
||||
In some cases, the above change won't help because the extension is hard-coded to only work with the official Visual Studio Code product.
|
||||
|
||||
## <a id="migrating"></a>Migrating from Visual Studio Code to VSCodium
|
||||
|
||||
VSCodium (and a freshly cloned copy of vscode built from source) stores its extension files in `~/.vscode-oss`. So if you currently have Visual Studio Code installed, your extensions won't automatically populate. You can reinstall your extensions from the Marketplace in VSCodium, or copy the `extensions` from `~/.vscode/extensions` to `~/.vscode-oss/extensions`.
|
||||
|
||||
Visual Studio Code stores its `keybindings.json` and `settings.json` file in the these locations:
|
||||
Visual Studio Code stores its `keybindings.json` and `settings.json` file in these locations:
|
||||
|
||||
- __Windows__: `%APPDATA%\Code\User`
|
||||
- __macOS__: `$HOME/Library/Application Support/Code/User`
|
||||
|
||||
2
LICENSE
@@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2018 Peter Squicciarini
|
||||
Copyright (c) 2020 Peter Squicciarini
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
37
README.md
@@ -9,7 +9,6 @@
|
||||
|
||||
[](https://github.com/vscodium/vscodium/releases)
|
||||
[](https://dev.azure.com/vscodium/VSCodium/_build?definitionId=1)
|
||||
[](https://travis-ci.com/VSCodium/vscodium)
|
||||
[](https://github.com/VSCodium/vscodium/blob/master/LICENSE)
|
||||
[](https://gitter.im/VSCodium/Lobby)
|
||||
[](https://snapcraft.io/codium)
|
||||
@@ -22,6 +21,7 @@
|
||||
## Table of Contents
|
||||
- [Download/Install](#download-install)
|
||||
- [Install with Brew](#install-with-brew)
|
||||
- [Install with Windows Package Manager (WinGet)](#install-with-winget)
|
||||
- [Install with Chocolatey](#install-with-choco)
|
||||
- [Install with Scoop](#install-with-scoop)
|
||||
- [Install with snap](#install-with-snap)
|
||||
@@ -40,10 +40,16 @@
|
||||
#### <a id="install-with-brew"></a>Install with Brew (Mac)
|
||||
If you are on a Mac and have [Homebrew](https://brew.sh/) installed:
|
||||
```bash
|
||||
brew cask install vscodium
|
||||
brew install --cask vscodium
|
||||
```
|
||||
|
||||
_Note for Mac OS X Mojave users: if you see "App can't be opened because Apple cannot check it for malicious software" when opening VSCodium the first time, you can right-click the application and choose Open. This should only be required the first time opening on Mojave._
|
||||
_Note for Mac macOS Mojave users: if you see "App can't be opened because Apple cannot check it for malicious software" when opening VSCodium the first time, you can right-click the application and choose Open. This should only be required the first time opening on Mojave._
|
||||
|
||||
#### <a id="install-with-winget"></a>Install with Windows Package Manager (WinGet)
|
||||
If you use Windows and have [Windows Package Manager](https://github.com/microsoft/winget-cli) installed:
|
||||
```bash
|
||||
winget install vscodium
|
||||
```
|
||||
|
||||
#### <a id="install-with-choco"></a>Install with Chocolatey (Windows)
|
||||
If you use Windows and have [Chocolatey](https://chocolatey.org) installed (thanks to [@Thilas](https://github.com/Thilas)):
|
||||
@@ -69,15 +75,20 @@ snap install codium
|
||||
You can always install using the downloads (deb, rpm, tar) on the [releases page](https://github.com/VSCodium/vscodium/releases), but you can also install using your favorite package manager and get automatic updates. [@paulcarroty](https://github.com/paulcarroty) has set up a repository with instructions [here](https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo). Any issues installing VSCodium using your package manager should be directed to that repository's issue tracker.
|
||||
|
||||
#### <a id="install-on-arch-linux"></a>Install on Arch Linux
|
||||
VSCodium is available in [AUR](https://wiki.archlinux.org/index.php/Arch_User_Repository) as package [vscodium-bin](https://aur.archlinux.org/packages/vscodium-bin/), maintained by [@plague-doctor](https://github.com/plague-doctor).
|
||||
VSCodium is available in [AUR](https://wiki.archlinux.org/index.php/Arch_User_Repository) as package [vscodium-bin](https://aur.archlinux.org/packages/vscodium-bin/), maintained by [@binex-dsk](https://github.com/binex-dsk). An alternative package [vscodium-git](https://aur.archlinux.org/packages/vscodium-git/), maintained by [@cedricroijakkers](https://github.com/cedricroijakkers), is also available should you wish to compile from source yourself.
|
||||
|
||||
#### <a id="flatpak"></a>Flatpak Option (Linux)
|
||||
VSCodium is not available as a Flatpak app, but [@amtlib-dot-dll](https://github.com/amtlib-dot-dll) has done significant work to package up the open source build of Visual Studio Code without telemetry, very similarly to VSCodium. That package is available [here](https://flathub.org/apps/details/com.visualstudio.code.oss) and the build repo is [here](https://github.com/flathub/com.visualstudio.code.oss).
|
||||
VSCodium is (unofficially) available as a Flatpak app [here](https://flathub.org/apps/details/com.vscodium.codium) and the build repo is [here](https://github.com/flathub/com.vscodium.codium). If your distribution has support for [flatpak](https://flathub.org), and you have enabled the [flathub repo](https://flatpak.org/setup/):
|
||||
```bash
|
||||
flatpak install flathub com.vscodium.codium
|
||||
|
||||
flatpak run com.vscodium.codium
|
||||
```
|
||||
|
||||
## <a id="why"></a>Why Does This Exist
|
||||
This repository contains build files to generate free release binaries of Microsoft's VSCode. When we speak of "free software", we're talking about freedom, not price.
|
||||
|
||||
Microsoft's downloads of Visual Studio Code are licensed under [this not-FLOSS license](https://code.visualstudio.com/license) and contain telemetry/tracking. According to [this comment](https://github.com/Microsoft/vscode/issues/60#issuecomment-161792005) from a Visual Studio Code maintainer:
|
||||
Microsoft's releases of Visual Studio Code are licensed under [this not-FLOSS license](https://code.visualstudio.com/license) and contain telemetry/tracking. According to [this comment](https://github.com/Microsoft/vscode/issues/60#issuecomment-161792005) from a Visual Studio Code maintainer:
|
||||
|
||||
> When we [Microsoft] build Visual Studio Code, we do exactly this. We clone the vscode repository, we lay down a customized product.json that has Microsoft specific functionality (telemetry, gallery, logo, etc.), and then produce a build that we release under our license.
|
||||
>
|
||||
@@ -101,16 +112,18 @@ Microsoft's build process (which we are running to build the binaries) does down
|
||||
### Documentation
|
||||
For more information on getting all the telemetry disabled and tips for migrating from Visual Studio Code to VSCodium, have a look at this [Docs](https://github.com/VSCodium/vscodium/blob/master/DOCS.md) page.
|
||||
|
||||
### Extension Licensing
|
||||
### Extensions and the Marketplace
|
||||
According to the VS Code Marketplace [Terms of Use](https://aka.ms/vsmarketplace-ToU), _you may only install and use Marketplace Offerings with Visual Studio Products and Services._ For this reason, VSCodium uses [open-vsx.org](https://open-vsx.org/), an open source registry for VS Code extensions. See the [Extensions + Marketplace](https://github.com/VSCodium/vscodium/blob/master/DOCS.md#extensions-marketplace) section on the Docs page for more details.
|
||||
|
||||
Please note that some Visual Studio Code extensions have licenses that restrict their use to the official Visual Studio Code builds and therefore do not work with VSCodium. See [this note](https://github.com/VSCodium/vscodium/blob/master/DOCS.md#proprietary-debugging-tools) on the Docs page for what's been found so far and possible workarounds.
|
||||
|
||||
### How are the VSCodium binaries built?
|
||||
If you would like to see the commands we run to build `vscode` into VSCodium binaries, have a look at the [`.travis.yml` file](https://github.com/VSCodium/vscodium/blob/master/.travis.yml) (for Linux and OS X builds) and the [`win32-build.yml` file](https://github.com/VSCodium/vscodium/blob/master/win32-build.yml) (for Windows builds). These build files call all the other scripts in the repo. If you find something that doesn't make sense, feel free to ask about it [on Gitter](https://gitter.im/VSCodium/Lobby).
|
||||
If you would like to see the commands we run to build `vscode` into VSCodium binaries, have a look at the workflow files in `.github/workflow` (for Linux and macOS builds) and the `win32-build.yml` file (for Windows builds). These build files call all the other scripts in the repo. If you find something that doesn't make sense, feel free to ask about it [on Gitter](https://gitter.im/VSCodium/Lobby).
|
||||
|
||||
The builds are run every day, but exit early if there isn't a new release from Microsoft. To examine the build logs, go [here for Linux / OS X](https://travis-ci.com/VSCodium/vscodium) and [here for Windows](https://dev.azure.com/vscodium/VSCodium/_build?definitionId=1)
|
||||
The builds are run every day, but exit early if there isn't a new release from Microsoft.
|
||||
|
||||
## <a id="supported-os"></a>Supported OS
|
||||
- [x] OS X (`zip`, `dmg`)
|
||||
- [x] macOS (`zip`, `dmg`)
|
||||
- [x] Linux x64 (`deb`, `rpm`, `AppImage`, `tar.gz`)
|
||||
- [x] Linux x86 (`deb`, `rpm`, `tar.gz`) ([up to v1.35.1](https://code.visualstudio.com/updates/v1_36#_linux-32bit-support-ends))
|
||||
- [x] Linux arm64 (`deb`, `tar.gz`)
|
||||
@@ -121,5 +134,9 @@ The builds are run every day, but exit early if there isn't a new release from M
|
||||
## <a id="donate"></a>Donate
|
||||
If you would like to support the development of VSCodium, feel free to send BTC to `3PgjE95yzBDTrSPxPiqoxSgZFuKPPAix1N`.
|
||||
|
||||
Special thanks to:
|
||||
- @estatra for the latest logo
|
||||
- @jaredreich for the previous logo
|
||||
|
||||
## <a id="license"></a>License
|
||||
MIT
|
||||
|
||||
@@ -20,8 +20,7 @@ ingredients:
|
||||
- ls codium_*.deb | cut -d _ -f 2 > VERSION
|
||||
|
||||
script:
|
||||
- sed -i -e 's|/usr/share/codium/||g' usr/share/applications/codium.desktop
|
||||
- sed -i -e 's|com.visualstudio.code.oss|vscodium|g' usr/share/applications/codium.desktop
|
||||
- sed -i -e 's|/usr/share/pixmaps/||g' usr/share/applications/codium.desktop
|
||||
- cp usr/share/applications/codium.desktop .
|
||||
- cp usr/share/pixmaps/vscodium.png vscodium.png
|
||||
- convert vscodium.png -resize 512x512 usr/share/icons/hicolor/512x512/apps/vscodium.png
|
||||
@@ -30,6 +29,4 @@ script:
|
||||
- convert vscodium.png -resize 64x64 usr/share/icons/hicolor/64x64/apps/vscodium.png
|
||||
- convert vscodium.png -resize 48x48 usr/share/icons/hicolor/48x48/apps/vscodium.png
|
||||
- convert vscodium.png -resize 32x32 usr/share/icons/hicolor/32x32/apps/vscodium.png
|
||||
- convert vscodium.png -resize 24x24 usr/share/icons/hicolor/24x24/apps/vscodium.png
|
||||
- convert vscodium.png -resize 22x22 usr/share/icons/hicolor/22x22/apps/vscodium.png
|
||||
- ( cd usr/bin/ ; ln -s ../share/codium/codium . )
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
jobs:
|
||||
- job: Windows
|
||||
pool:
|
||||
vmImage: VS2017-Win2016
|
||||
variables:
|
||||
BUILDARCH: x64
|
||||
steps:
|
||||
- template: win32-build.yml
|
||||
|
||||
- job: Windows32
|
||||
pool:
|
||||
vmImage: VS2017-Win2016
|
||||
variables:
|
||||
BUILDARCH: ia32
|
||||
steps:
|
||||
- template: win32-build.yml
|
||||
77
build.sh
@@ -1,78 +1,41 @@
|
||||
#!/bin/bash
|
||||
|
||||
function keep_alive_small() {
|
||||
while true; do
|
||||
echo .
|
||||
read -t 60 < /proc/self/fd/1 > /dev/null 2>&1
|
||||
done
|
||||
}
|
||||
|
||||
function keep_alive() {
|
||||
while true; do
|
||||
date
|
||||
sleep 60
|
||||
done
|
||||
}
|
||||
set -ex
|
||||
|
||||
if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
||||
export BUILD_SOURCEVERSION=$LATEST_MS_COMMIT
|
||||
npm config set scripts-prepend-node-path true
|
||||
|
||||
echo "LATEST_MS_COMMIT: ${LATEST_MS_COMMIT}"
|
||||
echo "BUILD_SOURCEVERSION: ${BUILD_SOURCEVERSION}"
|
||||
|
||||
export npm_config_arch="$BUILDARCH"
|
||||
export npm_config_target_arch="$BUILDARCH"
|
||||
|
||||
./prepare_vscode.sh
|
||||
. prepare_vscode.sh
|
||||
|
||||
cd vscode || exit
|
||||
|
||||
export NODE_ENV=production
|
||||
|
||||
# these tasks are very slow, so using a keep alive to keep travis alive
|
||||
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
|
||||
keep_alive_small &
|
||||
else
|
||||
keep_alive &
|
||||
fi
|
||||
|
||||
KA_PID=$!
|
||||
yarn monaco-compile-check
|
||||
yarn valid-layers-check
|
||||
|
||||
yarn gulp compile-build
|
||||
yarn gulp compile-extensions-build
|
||||
|
||||
yarn gulp minify-vscode
|
||||
|
||||
yarn gulp minify-vscode-reh
|
||||
yarn gulp minify-vscode-reh-web
|
||||
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
npm install --global create-dmg
|
||||
yarn gulp vscode-darwin-min-ci
|
||||
yarn gulp vscode-reh-darwin-min-ci
|
||||
yarn gulp vscode-reh-web-darwin-min-ci
|
||||
elif [[ "$CI_WINDOWS" == "True" ]]; then
|
||||
if [[ "$OS_NAME" == "osx" ]]; then
|
||||
yarn gulp "vscode-darwin-${VSCODE_ARCH}-min-ci"
|
||||
elif [[ "$OS_NAME" == "windows" ]]; then
|
||||
cp LICENSE.txt LICENSE.rtf # windows build expects rtf license
|
||||
yarn gulp "vscode-win32-${BUILDARCH}-min-ci"
|
||||
yarn gulp "vscode-reh-win32-${BUILDARCH}-min-ci"
|
||||
yarn gulp "vscode-reh-web-win32-${BUILDARCH}-min-ci"
|
||||
yarn gulp "vscode-win32-${BUILDARCH}-code-helper"
|
||||
yarn gulp "vscode-win32-${BUILDARCH}-inno-updater"
|
||||
yarn gulp "vscode-win32-${BUILDARCH}-archive"
|
||||
yarn gulp "vscode-win32-${BUILDARCH}-system-setup"
|
||||
yarn gulp "vscode-win32-${BUILDARCH}-user-setup"
|
||||
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}-archive"
|
||||
yarn gulp "vscode-win32-${VSCODE_ARCH}-system-setup"
|
||||
yarn gulp "vscode-win32-${VSCODE_ARCH}-user-setup"
|
||||
else # linux
|
||||
yarn gulp vscode-linux-${BUILDARCH}-min-ci
|
||||
yarn gulp vscode-reh-linux-${BUILDARCH}-min-ci
|
||||
yarn gulp vscode-reh-web-linux-${BUILDARCH}-min-ci
|
||||
|
||||
yarn gulp "vscode-linux-${BUILDARCH}-build-deb"
|
||||
if [[ "$BUILDARCH" == "x64" ]]; then
|
||||
yarn gulp "vscode-linux-${BUILDARCH}-build-rpm"
|
||||
yarn gulp "vscode-linux-${VSCODE_ARCH}-min-ci"
|
||||
if [[ "$SKIP_LINUX_PACKAGES" != "True" ]]; then
|
||||
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-deb"
|
||||
yarn gulp "vscode-linux-${VSCODE_ARCH}-build-rpm"
|
||||
. ../create_appimage.sh
|
||||
fi
|
||||
. ../create_appimage.sh
|
||||
fi
|
||||
|
||||
kill $KA_PID
|
||||
|
||||
cd ..
|
||||
fi
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
echo "tag: $env:LATEST_MS_TAG"
|
||||
$REPO_URI = [uri]$env:BUILD_REPOSITORY_URI
|
||||
$USER_REPO = $REPO_URI."LocalPath"
|
||||
echo $USER_REPO
|
||||
$GITHUB_RESPONSE = curl.exe -s -H "Authorization: token $env:MAPPED_GITHUB_TOKEN" "https://api.github.com/repos$USER_REPO/releases/tags/$env:LATEST_MS_TAG"
|
||||
echo "Github response: ${GITHUB_RESPONSE}"
|
||||
$VSCODIUM_ASSETS = $GITHUB_RESPONSE | jq '.assets'
|
||||
echo "VSCodium assets: ${VSCODIUM_ASSETS}"
|
||||
|
||||
# if we just don't have the github token, get out fast
|
||||
if (!$env:MAPPED_GITHUB_TOKEN -or $env:MAPPED_GITHUB_TOKEN -like "*GITHUB_TOKEN*") {
|
||||
echo "This build does not have the GH token"
|
||||
echo $env:MAPPED_GITHUB_TOKEN
|
||||
return
|
||||
}
|
||||
|
||||
if ($VSCODIUM_ASSETS -eq "null" -or !$VSCODIUM_ASSETS) {
|
||||
echo "Release assets do not exist at all, continuing build"
|
||||
$SHOULD_BUILD = 'yes'
|
||||
} else {
|
||||
$WindowsAssets = ($VSCODIUM_ASSETS | ConvertFrom-Json) | Where-Object { $_.name.Contains('exe') }
|
||||
$SYSTEM_SETUP = $WindowsAssets | Where-Object { $_.name.Contains('Setup') }
|
||||
$USER_SETUP = $WindowsAssets | Where-Object { $_.name.Contains('User') }
|
||||
if (!$SYSTEM_SETUP) {
|
||||
echo "Building on Windows because we have no system-setup.exe";
|
||||
$SHOULD_BUILD = 'yes'
|
||||
}
|
||||
elseif (!$USER_SETUP) {
|
||||
echo "Building on Windows because we have no user-setup.exe";
|
||||
$SHOULD_BUILD = 'yes'
|
||||
}
|
||||
else {
|
||||
echo "Already have all the Windows builds"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Write-Host "##vso[task.setvariable variable=SHOULD_BUILD]$SHOULD_BUILD"
|
||||
175
check_tags.sh
@@ -1,84 +1,133 @@
|
||||
#!/bin/bash
|
||||
|
||||
REPOSITORY=${TRAVIS_REPO_SLUG:-"VSCodium/vscodium"}
|
||||
set -e
|
||||
|
||||
REPOSITORY=${GITHUB_REPOSITORY:-"VSCodium/vscodium"}
|
||||
GITHUB_RESPONSE=$(curl -s -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/repos/$REPOSITORY/releases/tags/$LATEST_MS_TAG)
|
||||
echo "Github response: ${GITHUB_RESPONSE}"
|
||||
VSCODIUM_ASSETS=$(echo $GITHUB_RESPONSE | jq '.assets')
|
||||
echo "VSCodium assets: ${VSCODIUM_ASSETS}"
|
||||
|
||||
# if we just don't have the github token, get out fast
|
||||
if [ "$GITHUB_TOKEN" != "" ]; then
|
||||
if [ "$VSCODIUM_ASSETS" != "null" ]; then
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
HAVE_MAC=$(echo $VSCODIUM_ASSETS | jq --arg suffix "darwin-$LATEST_MS_TAG.zip" 'map(.name) | contains([$suffix])')
|
||||
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 [[ $BUILDARCH == "arm64" ]]; then
|
||||
# HAVE_ARM64_RPM=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["arm64.rpm"])')
|
||||
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_RPM" != "true" ]]; then
|
||||
# echo "Building on Linux arm64 because we have no RPM"
|
||||
# export SHOULD_BUILD="yes"
|
||||
# fi
|
||||
if [[ "$HAVE_ARM64_DEB" != "true" ]]; then
|
||||
echo "Building on Linux arm64 because we have no DEB"
|
||||
export SHOULD_BUILD="yes"
|
||||
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
|
||||
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 [[ $BUILDARCH == "arm" ]]; then
|
||||
HAVE_ARM_DEB=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["armhf.deb"])')
|
||||
HAVE_ARM_TAR=$(echo $VSCODIUM_ASSETS | jq --arg suffix "arm-$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
|
||||
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"
|
||||
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
|
||||
if git rev-parse $LATEST_MS_TAG >/dev/null 2>&1
|
||||
then
|
||||
export TRAVIS_TAG=$LATEST_MS_TAG
|
||||
else
|
||||
git config --local user.name "Travis CI"
|
||||
git config --local user.email "builds@travis-ci.com"
|
||||
git tag $LATEST_MS_TAG
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "SHOULD_BUILD=$SHOULD_BUILD" >> $GITHUB_ENV
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#!/bin/bash
|
||||
if [[ "$BUILDARCH" == "x64" ]]; then
|
||||
if [[ "$VSCODE_ARCH" == "x64" ]]; then
|
||||
# install a dep needed for this process
|
||||
sudo apt-get install desktop-file-utils
|
||||
|
||||
cd ..
|
||||
|
||||
export DOCKER_BUILD=1
|
||||
bash -e src/resources/linux/appimage/pkg2appimage VSCodium-AppImage-Recipe.yml
|
||||
fi
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/bin/bash
|
||||
if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
cd VSCode-darwin
|
||||
create-dmg VSCodium.app ..
|
||||
fi
|
||||
cd ..
|
||||
fi
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
cd VSCode-darwin
|
||||
zip -r -X -y ../VSCodium-darwin-${LATEST_MS_TAG}.zip ./*.app
|
||||
else
|
||||
cd VSCode-linux-${BUILDARCH}
|
||||
tar czf ../VSCodium-linux-${BUILDARCH}-${LATEST_MS_TAG}.tar.gz .
|
||||
fi
|
||||
|
||||
cd ..
|
||||
fi
|
||||
23
get_repo.sh
@@ -1,15 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ -d vscode ]; then
|
||||
cd vscode
|
||||
git fetch --all
|
||||
else
|
||||
git clone https://github.com/Microsoft/vscode.git
|
||||
cd vscode
|
||||
fi
|
||||
|
||||
export LATEST_MS_COMMIT=$(git rev-list --tags --max-count=1)
|
||||
export LATEST_MS_TAG=$(git describe --tags ${LATEST_MS_COMMIT})
|
||||
# figure out latest tag by calling MS update API
|
||||
UPDATE_INFO=$(curl https://update.code.visualstudio.com/api/update/darwin/stable/lol)
|
||||
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}"
|
||||
git checkout $LATEST_MS_TAG
|
||||
cd ..
|
||||
|
||||
git clone https://github.com/Microsoft/vscode.git --branch $LATEST_MS_TAG --depth 1
|
||||
|
||||
# for GH actions
|
||||
echo "LATEST_MS_COMMIT=$LATEST_MS_COMMIT" >> $GITHUB_ENV
|
||||
echo "LATEST_MS_TAG=$LATEST_MS_TAG" >> $GITHUB_ENV
|
||||
|
||||
|
||||
51
icons/build_icons.sh
Executable file
@@ -0,0 +1,51 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
check_programs() {
|
||||
for arg in "$@"
|
||||
do
|
||||
if ! command -v $arg >/dev/null 2>&1
|
||||
then
|
||||
echo "$arg could not be found"
|
||||
exit
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
check_programs "icns2png" "composite" "convert" "png2icns" "icotool"
|
||||
|
||||
for file in vscode/resources/darwin/*
|
||||
do
|
||||
if [ -f "$file" ]; then
|
||||
name=$(basename $file '.icns')
|
||||
|
||||
if [[ $name != 'code' ]] && [ ! -f "src/resources/darwin/$name.icns" ]; then
|
||||
icns2png -x -s 512x512 $file -o .
|
||||
|
||||
composite -blend 100% -geometry +323+365 icons/corner_512.png "${name}_512x512x32.png" "$name.png"
|
||||
composite icons/code_darwin.png "$name.png" "$name.png"
|
||||
|
||||
convert "$name.png" -resize 256x256 "${name}_256.png"
|
||||
|
||||
png2icns "src/resources/darwin/$name.icns" "$name.png" "${name}_256.png"
|
||||
|
||||
rm "${name}_512x512x32.png" "$name.png" "${name}_256.png"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
for file in vscode/resources/win32/*.ico
|
||||
do
|
||||
if [ -f "$file" ]; then
|
||||
name=$(basename $file '.ico')
|
||||
|
||||
if [[ $name != 'code' ]] && [ ! -f "src/resources/win32/$name.ico" ]; then
|
||||
icotool -x -w 256 $file
|
||||
|
||||
composite -geometry +150+185 icons/code_64.png "${name}_9_256x256x32.png" "${name}.png"
|
||||
|
||||
convert "${name}.png" -define icon:auto-resize=256,128,96,64,48,32,24,20,16 "src/resources/win32/$name.ico"
|
||||
|
||||
rm "${name}_9_256x256x32.png" "${name}.png"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
BIN
icons/code_64.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
icons/code_darwin.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
icons/corner_512.png
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
@@ -1,41 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
brew update
|
||||
brew install jq zip
|
||||
else
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y fakeroot jq
|
||||
triplet=
|
||||
case $BUILDARCH in
|
||||
arm)
|
||||
arch=armhf
|
||||
triplet=arm-linux-gnueabihf
|
||||
;;
|
||||
|
||||
arm64)
|
||||
arch=arm64
|
||||
triplet=aarch64-linux-gnu
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ -n "$triplet" ]]; then
|
||||
sed 's/^deb /deb [arch=amd64] '/g -i /etc/apt/sources.list
|
||||
echo "deb [arch=$arch] http://ports.ubuntu.com/ubuntu-ports/ trusty main" | sudo tee -a /etc/apt/sources.list.d/$arch.list >/dev/null
|
||||
sudo dpkg --add-architecture $arch
|
||||
sudo apt-get update
|
||||
sudo apt-get install libc6-dev-$arch-cross gcc-$triplet g++-$triplet `apt-cache search x11proto | grep ^x11proto | cut -f 1 -d ' '` xz-utils pkg-config
|
||||
mkdir -p dl
|
||||
cd dl
|
||||
apt-get download libx11-dev:$arch libx11-6:$arch libxkbfile-dev:$arch libxkbfile1:$arch libxau-dev:$arch libxdmcp-dev:$arch libxcb1-dev:$arch libsecret-1-dev:$arch libsecret-1-0:$arch libpthread-stubs0-dev:$arch libglib2.0-dev:$arch libglib2.0-0:$arch libffi-dev:$arch libffi6:$arch zlib1g:$arch libpcre3-dev:$arch libpcre3:$arch
|
||||
for i in *.deb; do ar x $i; sudo tar -C / -xf data.tar.*; rm -f data.tar.*; done
|
||||
cd ..
|
||||
export CC=/usr/bin/$triplet-gcc
|
||||
export CXX=/usr/bin/$triplet-g++
|
||||
export CC_host=/usr/bin/gcc
|
||||
export CXX_host=/usr/bin/g++
|
||||
export PKG_CONFIG_LIBDIR=/usr/lib/$triplet/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
|
||||
else
|
||||
sudo apt-get install libx11-dev libxkbfile-dev libsecret-1-dev rpm
|
||||
fi
|
||||
fi
|
||||
8
patches/no-replace-product-json.patch
Normal file
@@ -0,0 +1,8 @@
|
||||
--- vscode/resources/linux/rpm/code.spec.template 2020-11-15 15:28:20.179070106 +0800
|
||||
+++ vscode/resources/linux/rpm/code.spec.template.new 2020-11-15 15:25:39.269000000 +0800
|
||||
@@ -69,3 +69,5 @@
|
||||
/usr/share/pixmaps/@@ICON@@.png
|
||||
/usr/share/bash-completion/completions/@@NAME@@
|
||||
/usr/share/zsh/site-functions/_@@NAME@@
|
||||
+
|
||||
+%config(noreplace) /usr/share/@@NAME@@/resources/app/product.json
|
||||
@@ -1,11 +1,11 @@
|
||||
--- vscode/src/vs/platform/update/electron-main/updateService.win32.ts 2019-12-08 15:09:44.000000000 -0800
|
||||
+++ src/src/vs/platform/update/electron-main/updateService.win32.ts 2019-12-08 15:12:56.000000000 -0800
|
||||
--- vscode/src/vs/platform/update/electron-main/updateService.win32.ts 2021-02-05 11:59:17.564060663 -0600
|
||||
+++ src/src/vs/platform/update/electron-main/updateService.win32.ts 2021-02-05 11:59:39.780745778 -0600
|
||||
@@ -55,7 +55,7 @@
|
||||
|
||||
@memoize
|
||||
get cachePath(): Promise<string> {
|
||||
- const result = path.join(tmpdir(), `vscode-update-${product.target}-${process.arch}`);
|
||||
+ const result = path.join(tmpdir(), `vscodium-update-${product.target}-${process.arch}`);
|
||||
return pfs.mkdirp(result, undefined).then(() => result);
|
||||
return pfs.mkdirp(result).then(() => result);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
export npm_config_arch="$BUILDARCH"
|
||||
export npm_config_target_arch="$BUILDARCH"
|
||||
set -e
|
||||
|
||||
cp -rp src/* vscode/
|
||||
cd vscode || exit
|
||||
@@ -10,12 +9,20 @@ cd vscode || exit
|
||||
|
||||
# apply patches
|
||||
patch -u src/vs/platform/update/electron-main/updateService.win32.ts -i ../patches/update-cache-path.patch
|
||||
patch -u resources/linux/rpm/code.spec.template -i ../patches/no-replace-product-json.patch
|
||||
|
||||
if [[ "$OS_NAME" == "osx" ]]; then
|
||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile --ignore-optional
|
||||
npm_config_argv='{"original":["--ignore-optional"]}' yarn postinstall
|
||||
else
|
||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
||||
yarn postinstall
|
||||
fi
|
||||
|
||||
yarn --frozen-lockfile
|
||||
yarn postinstall
|
||||
mv product.json product.json.bak
|
||||
|
||||
# set fields in product.json
|
||||
checksumFailMoreInfoUrl='setpath(["checksumFailMoreInfoUrl"]; "https://go.microsoft.com/fwlink/?LinkId=828886")'
|
||||
tipsAndTricksUrl='setpath(["tipsAndTricksUrl"]; "https://go.microsoft.com/fwlink/?linkid=852118")'
|
||||
twitterUrl='setpath(["twitterUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533687")'
|
||||
requestFeatureUrl='setpath(["requestFeatureUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533482")'
|
||||
@@ -28,7 +35,8 @@ keyboardShortcutsUrlMac='setpath(["keyboardShortcutsUrlMac"]; "https://go.micros
|
||||
keyboardShortcutsUrlLinux='setpath(["keyboardShortcutsUrlLinux"]; "https://go.microsoft.com/fwlink/?linkid=832144")'
|
||||
keyboardShortcutsUrlWin='setpath(["keyboardShortcutsUrlWin"]; "https://go.microsoft.com/fwlink/?linkid=832145")'
|
||||
quality='setpath(["quality"]; "stable")'
|
||||
extensionsGallery='setpath(["extensionsGallery"]; {"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery", "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index", "itemUrl": "https://marketplace.visualstudio.com/items"})'
|
||||
extensionsGallery='setpath(["extensionsGallery"]; {"serviceUrl": "https://open-vsx.org/vscode/gallery", "itemUrl": "https://open-vsx.org/vscode/item"})'
|
||||
linkProtectionTrustedDomains='setpath(["linkProtectionTrustedDomains"]; ["https://open-vsx.org"])'
|
||||
nameShort='setpath(["nameShort"]; "VSCodium")'
|
||||
nameLong='setpath(["nameLong"]; "VSCodium")'
|
||||
linuxIconName='setpath(["linuxIconName"]; "vscodium")'
|
||||
@@ -41,18 +49,44 @@ win32AppUserModelId='setpath(["win32AppUserModelId"]; "Microsoft.VSCodium")'
|
||||
win32ShellNameShort='setpath(["win32ShellNameShort"]; "VSCodium")'
|
||||
win32x64UserAppId='setpath (["win32x64UserAppId"]; "{{2E1F05D1-C245-4562-81EE-28188DB6FD17}")'
|
||||
urlProtocol='setpath(["urlProtocol"]; "vscodium")'
|
||||
extensionAllowedProposedApi='setpath(["extensionAllowedProposedApi"]; getpath(["extensionAllowedProposedApi"]) + ["ms-vsliveshare.vsliveshare"])'
|
||||
extensionAllowedProposedApi='setpath(["extensionAllowedProposedApi"]; getpath(["extensionAllowedProposedApi"]) + ["ms-vsliveshare.vsliveshare", "ms-vscode-remote.remote-ssh", "ms-vscode.cpptools", "ms-azuretools.vscode-docker", "visualstudioexptteam.vscodeintellicode", "ms-python.python"])'
|
||||
serverDataFolderName='setpath(["serverDataFolderName"]; ".vscode-server-oss")'
|
||||
|
||||
product_json_changes="${tipsAndTricksUrl} | ${twitterUrl} | ${requestFeatureUrl} | ${documentationUrl} | ${introductoryVideosUrl} | ${extensionAllowedBadgeProviders} | ${updateUrl} | ${releaseNotesUrl} | ${keyboardShortcutsUrlMac} | ${keyboardShortcutsUrlLinux} | ${keyboardShortcutsUrlWin} | ${quality} | ${extensionsGallery} | ${nameShort} | ${nameLong} | ${linuxIconName} | ${applicationName} | ${win32MutexName} | ${win32DirName} | ${win32NameVersion} | ${win32RegValueName} | ${win32AppUserModelId} | ${win32ShellNameShort} | ${win32x64UserAppId} | ${urlProtocol} | ${extensionAllowedProposedApi}"
|
||||
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}"
|
||||
cat product.json.bak | jq "${product_json_changes}" > product.json
|
||||
cat product.json
|
||||
|
||||
../undo_telemetry.sh
|
||||
|
||||
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
|
||||
if [[ "$OS_NAME" == "linux" ]]; then
|
||||
# microsoft adds their apt repo to sources
|
||||
# unless the app name is code-oss
|
||||
# as we are renaming the application to vscodium
|
||||
# we need to edit a line in the post install template
|
||||
sed -i "s/code-oss/codium/" resources/linux/debian/postinst.template
|
||||
|
||||
# fix the packages metadata
|
||||
# code.appdata.xml
|
||||
sed -i 's|Visual Studio Code|VSCodium|g' resources/linux/code.appdata.xml
|
||||
sed -i 's|https://code.visualstudio.com/docs/setup/linux|https://github.com/VSCodium/vscodium#download-install|' resources/linux/code.appdata.xml
|
||||
sed -i 's|https://code.visualstudio.com/home/home-screenshot-linux-lg.png|https://vscodium.com/img/vscodium.png|' resources/linux/code.appdata.xml
|
||||
sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/code.appdata.xml
|
||||
|
||||
# control.template
|
||||
sed -i 's|Microsoft Corporation <vscode-linux@microsoft.com>|VSCodium Team https://github.com/VSCodium/vscodium/graphs/contributors|' resources/linux/debian/control.template
|
||||
sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/debian/control.template
|
||||
sed -i 's|Visual Studio Code|VSCodium|g' resources/linux/debian/control.template
|
||||
sed -i 's|https://code.visualstudio.com/docs/setup/linux|https://github.com/VSCodium/vscodium#download-install|' resources/linux/debian/control.template
|
||||
|
||||
# code.spec.template
|
||||
sed -i 's|https://code.visualstudio.com/docs/setup/linux|https://github.com/VSCodium/vscodium#download-install|' resources/linux/rpm/code.spec.template
|
||||
sed -i 's|Microsoft Corporation|VSCodium Team|' resources/linux/rpm/code.spec.template
|
||||
sed -i 's|Visual Studio Code Team <vscode-linux@microsoft.com>|VSCodium Team https://github.com/VSCodium/vscodium/graphs/contributors|' resources/linux/rpm/code.spec.template
|
||||
sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/rpm/code.spec.template
|
||||
sed -i 's|Visual Studio Code|VSCodium|' resources/linux/rpm/code.spec.template
|
||||
|
||||
# snapcraft.yaml
|
||||
sed -i 's|Visual Studio Code|VSCodium|' resources/linux/rpm/code.spec.template
|
||||
fi
|
||||
|
||||
cd ..
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# thanks to https://www.jviotti.com/2016/03/16/how-to-code-sign-os-x-electron-apps-in-travis-ci.html
|
||||
# for the helpful instructions
|
||||
if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
if [ -d "VSCode-darwin" ]; then # just in case the build failed
|
||||
cd VSCode-darwin
|
||||
export CERTIFICATE_P12=VSCodium.p12
|
||||
echo $CERTIFICATE_OSX_P12 | base64 --decode > $CERTIFICATE_P12
|
||||
export KEYCHAIN=build.keychain
|
||||
security create-keychain -p mysecretpassword $KEYCHAIN
|
||||
security default-keychain -s $KEYCHAIN
|
||||
security unlock-keychain -p mysecretpassword $KEYCHAIN
|
||||
security import $CERTIFICATE_P12 -k $KEYCHAIN -P $CERTIFICATE_OSX_PASSWORD -T /usr/bin/codesign
|
||||
|
||||
# https://docs.travis-ci.com/user/common-build-problems/
|
||||
security set-key-partition-list -S apple-tool:,apple: -s -k mysecretpassword $KEYCHAIN
|
||||
|
||||
codesign --deep --force --verbose --sign "$CERTIFICATE_OSX_ID" VSCodium.app
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
BIN
src/resources/darwin/go.icns
Normal file
@@ -187,7 +187,7 @@ generate_appimage()
|
||||
mkdir -p ../out || true
|
||||
rm ../out/$APP"-"$VERSION".glibc"$GLIBC_NEEDED"-"$ARCH".AppImage" 2>/dev/null || true
|
||||
GLIBC_NEEDED=$(glibc_needed)
|
||||
./AppImageAssistant ./$APP.AppDir/ ../out/$APP"-"$VERSION".glibc"$GLIBC_NEEDED"-"$ARCH".AppImage"
|
||||
./AppImageAssistant --appimage-extract-and-run ./$APP.AppDir/ ../out/$APP"-"$VERSION".glibc"$GLIBC_NEEDED"-"$ARCH".AppImage"
|
||||
}
|
||||
|
||||
# Generate AppImage type 2
|
||||
|
||||
@@ -163,7 +163,7 @@ fi
|
||||
# and ingredients of that architecture. Debian packages
|
||||
# should be available for most architectures, e.g., oldstable
|
||||
# has "armhf"
|
||||
if [ ! -z $ARCH] ; then
|
||||
if [ ! -z $ARCH ] ; then
|
||||
OPTIONS="$OPTIONS -o APT::Architecture=$ARCH"
|
||||
fi
|
||||
|
||||
@@ -467,6 +467,5 @@ fi
|
||||
# Go out of AppImage
|
||||
cd ..
|
||||
|
||||
export UPDATE_INFORMATION="gh-releases-zsync|VSCodium|vscodium|latest|*.AppImage.zsync"
|
||||
generate_type2_appimage
|
||||
generate_type2_appimage -u "gh-releases-zsync|VSCodium|vscodium|latest|*.AppImage.zsync"
|
||||
ls -lh ../out/*.AppImage*
|
||||
|
||||
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 153 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 152 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 149 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 152 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 154 KiB |
BIN
src/resources/win32/ruby.ico
Normal file
|
After Width: | Height: | Size: 149 KiB |
|
Before Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/sass.ico
Normal file
|
After Width: | Height: | Size: 152 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 148 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 151 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 152 KiB |
|
Before Width: | Height: | Size: 361 KiB After Width: | Height: | Size: 150 KiB |
21
sum.sh
@@ -1,33 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
# shasum blows up in Azure, so using this
|
||||
# node package which has similar syntax and identical output
|
||||
if [[ "$CI_WINDOWS" == "True" ]]; then
|
||||
npm i -g checksum
|
||||
fi
|
||||
npm install -g checksum
|
||||
|
||||
sum_file () {
|
||||
if [[ -f "$1" ]]; then
|
||||
if [[ "$CI_WINDOWS" == "True" ]]; then
|
||||
checksum -a sha256 "$1" > "$1".sha256
|
||||
checksum -a sha1 "$1" > "$1".sha1
|
||||
else
|
||||
shasum -a 256 "$1" > "$1".sha256
|
||||
shasum "$1" > "$1".sha1
|
||||
fi
|
||||
checksum -a sha256 "$1" > "$1".sha256
|
||||
checksum "$1" > "$1".sha1
|
||||
fi
|
||||
}
|
||||
|
||||
if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
if [[ "$OS_NAME" == "osx" ]]; then
|
||||
sum_file VSCodium-darwin-*.zip
|
||||
sum_file VSCodium*.dmg
|
||||
elif [[ "$CI_WINDOWS" == "True" ]]; then
|
||||
elif [[ "$OS_NAME" == "windows" ]]; then
|
||||
sum_file VSCodiumSetup-*.exe
|
||||
sum_file VSCodiumUserSetup-*.exe
|
||||
sum_file VSCodium-win32-*.zip
|
||||
else # linux
|
||||
cp out/*.AppImage .
|
||||
cp out/*.AppImage* .
|
||||
cp vscode/.build/linux/deb/*/deb/*.deb .
|
||||
cp vscode/.build/linux/rpm/*/*.rpm .
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
TELEMETRY_URLS="(dc\.services\.visualstudio\.com)|(vortex\.data\.microsoft\.com)"
|
||||
REPLACEMENT="s/$TELEMETRY_URLS/0\.0\.0\.0/g"
|
||||
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
if [[ "$OS_NAME" == "osx" ]]; then
|
||||
grep -rl --exclude-dir=.git -E $TELEMETRY_URLS . | xargs sed -i '' -E $REPLACEMENT
|
||||
else
|
||||
grep -rl --exclude-dir=.git -E $TELEMETRY_URLS . | xargs sed -i -E $REPLACEMENT
|
||||
|
||||
@@ -5,7 +5,7 @@ TELEMETRY_CRASH_REPORTER="'telemetry.enableCrashReporter':"
|
||||
|
||||
replace () {
|
||||
echo $1
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
if [[ "$OS_NAME" == "osx" ]]; then
|
||||
sed -i '' -E "$1" $2
|
||||
else
|
||||
sed -i -E "$1" $2
|
||||
@@ -46,4 +46,4 @@ update_setting () {
|
||||
}
|
||||
|
||||
update_setting "$TELEMETRY_ENABLE" src/vs/platform/telemetry/common/telemetryService.ts
|
||||
update_setting "$TELEMETRY_CRASH_REPORTER" src/vs/workbench/electron-browser/desktop.contribution.ts
|
||||
update_setting "$TELEMETRY_CRASH_REPORTER" src/vs/workbench/electron-sandbox/desktop.contribution.ts
|
||||
|
||||
@@ -27,15 +27,8 @@ fi
|
||||
URL_BASE=https://github.com/VSCodium/vscodium/releases/download/${LATEST_MS_TAG}
|
||||
|
||||
# to make testing on forks easier
|
||||
if [[ "$CI_WINDOWS" == "True" ]]; then
|
||||
# BUILD_REPOSITORY_URI = e.g. https://github.com/VSCodium/vscodium
|
||||
VERSIONS_REPO=$(echo ${BUILD_REPOSITORY_URI} | awk -F"/" '{ print $4 }')/versions
|
||||
|
||||
git config --global core.autocrlf true
|
||||
else
|
||||
# TRAVIS_REPO_SLUG = e.g. VSCodium/vscodium
|
||||
VERSIONS_REPO=$(echo ${TRAVIS_REPO_SLUG} | awk -F"/" '{ print $1 }')/versions
|
||||
fi
|
||||
VERSIONS_REPO="${GITHUB_USERNAME}/versions"
|
||||
echo "Versions repo:" $VERSIONS_REPO
|
||||
|
||||
# generateJson <assetName>
|
||||
# e.g. generateJson VSCodium-darwin-1.33.0.zip
|
||||
@@ -98,36 +91,36 @@ git remote rm origin
|
||||
git remote add origin https://${GITHUB_USERNAME}:${GITHUB_TOKEN}@github.com/${VERSIONS_REPO}.git > /dev/null 2>&1
|
||||
cd ..
|
||||
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
if [[ "$OS_NAME" == "osx" ]]; then
|
||||
# zip, sha1, and sha256 files are all at top level dir
|
||||
ASSET_NAME=VSCodium-darwin-${LATEST_MS_TAG}.zip
|
||||
VERSION_PATH="darwin"
|
||||
ASSET_NAME=VSCodium-darwin-${VSCODE_ARCH}-${LATEST_MS_TAG}.zip
|
||||
VERSION_PATH="darwin/${VSCODE_ARCH}"
|
||||
JSON="$(generateJson ${ASSET_NAME})"
|
||||
updateLatestVersion "$VERSION_PATH" "$JSON"
|
||||
elif [[ "$CI_WINDOWS" == "True" ]]; then
|
||||
elif [[ "$OS_NAME" == "windows" ]]; then
|
||||
# system installer
|
||||
ASSET_NAME=VSCodiumSetup-${BUILDARCH}-${LATEST_MS_TAG}.exe
|
||||
VERSION_PATH="win32/${BUILDARCH}/system"
|
||||
ASSET_NAME=VSCodiumSetup-${VSCODE_ARCH}-${LATEST_MS_TAG}.exe
|
||||
VERSION_PATH="win32/${VSCODE_ARCH}/system"
|
||||
JSON="$(generateJson ${ASSET_NAME})"
|
||||
updateLatestVersion "$VERSION_PATH" "$JSON"
|
||||
|
||||
# user installer
|
||||
ASSET_NAME=VSCodiumUserSetup-${BUILDARCH}-${LATEST_MS_TAG}.exe
|
||||
VERSION_PATH="win32/${BUILDARCH}/user"
|
||||
ASSET_NAME=VSCodiumUserSetup-${VSCODE_ARCH}-${LATEST_MS_TAG}.exe
|
||||
VERSION_PATH="win32/${VSCODE_ARCH}/user"
|
||||
JSON="$(generateJson ${ASSET_NAME})"
|
||||
updateLatestVersion "$VERSION_PATH" "$JSON"
|
||||
|
||||
# windows archive
|
||||
ASSET_NAME=VSCodium-win32-${BUILDARCH}-${LATEST_MS_TAG}.zip
|
||||
VERSION_PATH="win32/${BUILDARCH}/archive"
|
||||
ASSET_NAME=VSCodium-win32-${VSCODE_ARCH}-${LATEST_MS_TAG}.zip
|
||||
VERSION_PATH="win32/${VSCODE_ARCH}/archive"
|
||||
JSON="$(generateJson ${ASSET_NAME})"
|
||||
updateLatestVersion "$VERSION_PATH" "$JSON"
|
||||
else # linux
|
||||
# update service links to tar.gz file
|
||||
# see https://update.code.visualstudio.com/api/update/linux-x64/stable/VERSION
|
||||
# as examples
|
||||
ASSET_NAME=VSCodium-linux-${BUILDARCH}-${LATEST_MS_TAG}.tar.gz
|
||||
VERSION_PATH="linux/${BUILDARCH}"
|
||||
ASSET_NAME=VSCodium-linux-${VSCODE_ARCH}-${LATEST_MS_TAG}.tar.gz
|
||||
VERSION_PATH="linux/${VSCODE_ARCH}"
|
||||
JSON="$(generateJson ${ASSET_NAME})"
|
||||
updateLatestVersion "$VERSION_PATH" "$JSON"
|
||||
fi
|
||||
@@ -137,7 +130,7 @@ cd versions
|
||||
git pull origin master # in case another build just pushed
|
||||
git add .
|
||||
dateAndMonth=`date "+%D %T"`
|
||||
git commit -m "Travis update: $dateAndMonth (Build $TRAVIS_BUILD_NUMBER)"
|
||||
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
|
||||
|
||||
@@ -1,69 +0,0 @@
|
||||
steps:
|
||||
- task: NodeTool@0
|
||||
inputs:
|
||||
versionSpec: "12.13.0"
|
||||
- script: |
|
||||
choco install jq
|
||||
displayName: 'install jq from choco'
|
||||
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
|
||||
displayName: 'Install Yarn'
|
||||
- task: UsePythonVersion@0
|
||||
displayName: 'Use Python 2.x'
|
||||
inputs:
|
||||
versionSpec: 2.x
|
||||
- task: ShellScript@2
|
||||
displayName: 'get VSCode sources'
|
||||
inputs:
|
||||
scriptPath: get_repo.sh
|
||||
- powershell: |
|
||||
$LATEST_MS_COMMIT="$(git -C vscode rev-list --tags --max-count=1)"
|
||||
$LATEST_MS_TAG="$(git -C vscode describe --tags)"
|
||||
Write-Host "##vso[task.setvariable variable=LATEST_MS_TAG]$LATEST_MS_TAG"
|
||||
Write-Host "##vso[task.setvariable variable=LATEST_MS_COMMIT]$LATEST_MS_COMMIT"
|
||||
Write-Host "##vso[task.setvariable variable=BUILD_SOURCEVERSION]$LATEST_MS_COMMIT"
|
||||
displayName: 'set env LATEST_MS_TAG, LATEST_MS_COMMIT'
|
||||
- task: PowerShell@2
|
||||
inputs:
|
||||
filePath: 'check_tags.ps1'
|
||||
env:
|
||||
MAPPED_GITHUB_TOKEN: $(GITHUB_TOKEN)
|
||||
- script: |
|
||||
git -C vscode status
|
||||
displayName: 'vscode status'
|
||||
- powershell: |
|
||||
bash ./build.sh
|
||||
displayName: 'go build it!'
|
||||
- bash: |
|
||||
if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-$(BUILDARCH)\\system-setup\\VSCodeSetup.exe VSCodiumSetup-$(BUILDARCH)-${LATEST_MS_TAG}.exe; fi
|
||||
displayName: 'move the system setup'
|
||||
- bash: |
|
||||
if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-$(BUILDARCH)\\user-setup\\VSCodeSetup.exe VSCodiumUserSetup-$(BUILDARCH)-${LATEST_MS_TAG}.exe; fi
|
||||
displayName: 'move the user setup'
|
||||
- bash: |
|
||||
if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-$(BUILDARCH)\\archive\\VSCode-win32-$(BUILDARCH).zip VSCodium-win32-$(BUILDARCH)-${LATEST_MS_TAG}.zip; fi
|
||||
displayName: 'move the zip folder'
|
||||
- powershell: |
|
||||
bash ./sum.sh
|
||||
condition: eq(variables['SHOULD_BUILD'], 'yes')
|
||||
displayName: 'compute sums'
|
||||
- task: CopyFiles@2
|
||||
inputs:
|
||||
contents: |
|
||||
VSCodium*.zip
|
||||
VSCodiumUserSetup*.exe
|
||||
VSCodiumSetup*.exe
|
||||
*.sha256
|
||||
targetFolder: $(Build.ArtifactStagingDirectory)
|
||||
condition: eq(variables['SHOULD_BUILD'], 'yes')
|
||||
displayName: 'copy artifacts to staging directory'
|
||||
- task: PublishBuildArtifacts@1
|
||||
displayName: 'Publish artifacts'
|
||||
condition: eq(variables['SHOULD_BUILD'], 'yes')
|
||||
inputs:
|
||||
PathtoPublish: $(Build.ArtifactStagingDirectory)
|
||||
ArtifactName: 'everything'
|
||||
- bash: ./update_version.sh
|
||||
displayName: 'update version json'
|
||||
env:
|
||||
GITHUB_TOKEN: $(GITHUB_TOKEN)
|
||||
GITHUB_USERNAME: $(GITHUB_USERNAME)
|
||||