mirror of
https://github.com/VSCodium/vscodium.git
synced 2026-04-12 00:37:19 +10:00
Compare commits
50 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c25fd7717b | ||
|
|
db359f0711 | ||
|
|
22c41976f2 | ||
|
|
80f4d30638 | ||
|
|
d695216317 | ||
|
|
e4b87c1a0e | ||
|
|
d6fcc82584 | ||
|
|
34aa7b0d89 | ||
|
|
bc0826868c | ||
|
|
c2c3525405 | ||
|
|
de31868635 | ||
|
|
5004481ea9 | ||
|
|
f63fbe4292 | ||
|
|
8111747fab | ||
|
|
765a4b63ad | ||
|
|
0355e7013c | ||
|
|
f87035e3e6 | ||
|
|
6367d32c32 | ||
|
|
d1adafac84 | ||
|
|
fb100d772b | ||
|
|
f1ac78e6ed | ||
|
|
42bc96ba21 | ||
|
|
40f5d1398b | ||
|
|
000ede1322 | ||
|
|
0ca513930d | ||
|
|
6788101859 | ||
|
|
687d644b41 | ||
|
|
cb04b93044 | ||
|
|
ed126b5cb2 | ||
|
|
fabacf1c1a | ||
|
|
8347fbcdc8 | ||
|
|
5dd8c0e6da | ||
|
|
d03f6d5442 | ||
|
|
35f5a5a264 | ||
|
|
ccb2ee47b3 | ||
|
|
a3465c0f1b | ||
|
|
cb031ffd75 | ||
|
|
c440844e99 | ||
|
|
26a5bfcab8 | ||
|
|
e379b37110 | ||
|
|
4612db050a | ||
|
|
2c61228528 | ||
|
|
7b2c725cac | ||
|
|
a8b43ff2a5 | ||
|
|
588db890f0 | ||
|
|
08d8ad26ab | ||
|
|
2fdaec5163 | ||
|
|
818097ca7e | ||
|
|
df742b9ee9 | ||
|
|
eb6ca84e21 |
11
.travis.yml
11
.travis.yml
@@ -4,10 +4,18 @@ matrix:
|
||||
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: "10"
|
||||
node_js: "12"
|
||||
|
||||
before_install:
|
||||
- curl -o- -L https://yarnpkg.com/install.sh | bash
|
||||
@@ -40,6 +48,7 @@ deploy:
|
||||
- ./*.deb
|
||||
- ./*.rpm
|
||||
- ./*.AppImage
|
||||
- ./*.AppImage.zsync
|
||||
on:
|
||||
all_branches: true
|
||||
condition: $SHOULD_BUILD = yes
|
||||
|
||||
36
DOCS.md
36
DOCS.md
@@ -32,9 +32,20 @@ _(For example the C# extension `ms-vscode.csharp` sends tracking data to Microso
|
||||
|
||||
## <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).
|
||||
```
|
||||
"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,6 +53,21 @@ 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 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`.
|
||||
@@ -65,9 +91,9 @@ To copy your settings manually:
|
||||
- Copy the contents of settings.json into the same place in VSCodium
|
||||
|
||||
## <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. For Windows and Linux the instructions can be followed as written. For Mac OS, portable mode is enabled by the existence of a specially named folder. For Visual Studio Code that folder name is `code-portable-data`. For VSCodium, that folder name is `codium-portable-data`.
|
||||
|
||||
So to enable portable mode for VSCodium on Mac OS, follow the instructions outlined in the link above, but create a folder named `codium-portable-data` instead of `code-portable-data`.
|
||||
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.
|
||||
- **macOS** : portable mode is enabled by the existence of a specially named folder. For Visual Studio Code that folder name is `code-portable-data`. For VSCodium, that folder name is `codium-portable-data`. So to enable portable mode for VSCodium on Mac OS, follow the instructions outlined in the [link above](https://code.visualstudio.com/docs/editor/portable), but create a folder named `codium-portable-data` instead of `code-portable-data`.
|
||||
|
||||
## <a id="press-and-hold"></a>How do I press and hold a key and have it repeat in VSCodium (Mac)?
|
||||
|
||||
|
||||
25
README.md
25
README.md
@@ -12,6 +12,8 @@
|
||||
[](https://travis-ci.com/VSCodium/vscodium)
|
||||
[](https://github.com/VSCodium/vscodium/blob/master/LICENSE)
|
||||
[](https://gitter.im/VSCodium/Lobby)
|
||||
[](https://snapcraft.io/codium)
|
||||
[](https://snapcraft.io/codium)
|
||||
|
||||
</div>
|
||||
|
||||
@@ -22,6 +24,7 @@
|
||||
- [Install with Brew](#install-with-brew)
|
||||
- [Install with Chocolatey](#install-with-choco)
|
||||
- [Install with Scoop](#install-with-scoop)
|
||||
- [Install with snap](#install-with-snap)
|
||||
- [Install with Package Manager](#install-with-package-manager)
|
||||
- [Install on Arch Linux](#install-on-arch-linux)
|
||||
- [Flatpak Option](#flatpak)
|
||||
@@ -55,6 +58,13 @@ scoop bucket add extras
|
||||
scoop install vscodium
|
||||
```
|
||||
|
||||
#### <a id="install-with-snap"></a>Install with snap (Linux)
|
||||
VSCodium is available in the [Snap Store](https://snapcraft.io/) as [Codium](https://snapcraft.io/codium), published by the [Snapcrafters](https://github.com/snapcrafters/codium) community.
|
||||
If your Linux distribution has support for [snaps](https://snapcraft.io/docs/installing-snapd):
|
||||
```bash
|
||||
snap install codium
|
||||
```
|
||||
|
||||
#### <a id="install-with-package-manager"></a>Install with Package Manager (Linux)
|
||||
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.
|
||||
|
||||
@@ -62,7 +72,12 @@ You can always install using the downloads (deb, rpm, tar) on the [releases page
|
||||
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).
|
||||
|
||||
#### <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.
|
||||
@@ -91,7 +106,9 @@ 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?
|
||||
@@ -103,11 +120,11 @@ The builds are run every day, but exit early if there isn't a new release from M
|
||||
- [x] OS X (`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`)
|
||||
- [x] Linux armhf (`deb`, `tar.gz`)
|
||||
- [x] Windows x64
|
||||
- [x] Windows x86
|
||||
|
||||
The ARM architecture is not currently supported but is being worked on.
|
||||
|
||||
## <a id="donate"></a>Donate
|
||||
If you would like to support the development of VSCodium, feel free to send BTC to `3PgjE95yzBDTrSPxPiqoxSgZFuKPPAix1N`.
|
||||
|
||||
|
||||
@@ -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 . )
|
||||
|
||||
78
build.sh
78
build.sh
@@ -1,5 +1,12 @@
|
||||
#!/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
|
||||
@@ -12,71 +19,28 @@ if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
||||
echo "LATEST_MS_COMMIT: ${LATEST_MS_COMMIT}"
|
||||
echo "BUILD_SOURCEVERSION: ${BUILD_SOURCEVERSION}"
|
||||
|
||||
cp -rp src/* vscode/
|
||||
cd vscode
|
||||
|
||||
export npm_config_arch="$BUILDARCH"
|
||||
export npm_config_target_arch="$BUILDARCH"
|
||||
../update_settings.sh
|
||||
|
||||
# apply patches
|
||||
patch -u src/vs/platform/update/electron-main/updateService.win32.ts -i ../patches/update-cache-path.patch
|
||||
./prepare_vscode.sh
|
||||
|
||||
yarn
|
||||
yarn postinstall
|
||||
mv product.json product.json.bak
|
||||
|
||||
# set fields in product.json
|
||||
tipsAndTricksUrl='setpath(["tipsAndTricksUrl"]; "https://go.microsoft.com/fwlink/?linkid=852118")'
|
||||
twitterUrl='setpath(["twitterUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533687")'
|
||||
requestFeatureUrl='setpath(["requestFeatureUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533482")'
|
||||
documentationUrl='setpath(["documentationUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533484#vscode")'
|
||||
introductoryVideosUrl='setpath(["introductoryVideosUrl"]; "https://go.microsoft.com/fwlink/?linkid=832146")'
|
||||
extensionAllowedBadgeProviders='setpath(["extensionAllowedBadgeProviders"]; ["api.bintray.com", "api.travis-ci.com", "api.travis-ci.org", "app.fossa.io", "badge.fury.io", "badge.waffle.io", "badgen.net", "badges.frapsoft.com", "badges.gitter.im", "badges.greenkeeper.io", "cdn.travis-ci.com", "cdn.travis-ci.org", "ci.appveyor.com", "circleci.com", "cla.opensource.microsoft.com", "codacy.com", "codeclimate.com", "codecov.io", "coveralls.io", "david-dm.org", "deepscan.io", "dev.azure.com", "flat.badgen.net", "gemnasium.com", "githost.io", "gitlab.com", "godoc.org", "goreportcard.com", "img.shields.io", "isitmaintained.com", "marketplace.visualstudio.com", "nodesecurity.io", "opencollective.com", "snyk.io", "travis-ci.com", "travis-ci.org", "visualstudio.com", "vsmarketplacebadge.apphb.com", "www.bithound.io", "www.versioneye.com"])'
|
||||
updateUrl='setpath(["updateUrl"]; "https://vscodium.now.sh")'
|
||||
releaseNotesUrl='setpath(["releaseNotesUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533483#vscode")'
|
||||
keyboardShortcutsUrlMac='setpath(["keyboardShortcutsUrlMac"]; "https://go.microsoft.com/fwlink/?linkid=832143")'
|
||||
keyboardShortcutsUrlLinux='setpath(["keyboardShortcutsUrlLinux"]; "https://go.microsoft.com/fwlink/?linkid=832144")'
|
||||
keyboardShortcutsUrlWin='setpath(["keyboardShortcutsUrlWin"]; "https://go.microsoft.com/fwlink/?linkid=832145")'
|
||||
quality='setpath(["quality"]; "stable")'
|
||||
extensionsGallery='setpath(["extensionsGallery"]; {"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery", "cacheUrl": "https://vscode.blob.core.windows.net/gallery/index", "itemUrl": "https://marketplace.visualstudio.com/items"})'
|
||||
nameShort='setpath(["nameShort"]; "VSCodium")'
|
||||
nameLong='setpath(["nameLong"]; "VSCodium")'
|
||||
linuxIconName='setpath(["linuxIconName"]; "vscodium")'
|
||||
applicationName='setpath(["applicationName"]; "codium")'
|
||||
win32MutexName='setpath(["win32MutexName"]; "vscodium")'
|
||||
win32DirName='setpath(["win32DirName"]; "VSCodium")'
|
||||
win32NameVersion='setpath(["win32NameVersion"]; "VSCodium")'
|
||||
win32RegValueName='setpath(["win32RegValueName"]; "VSCodium")'
|
||||
win32AppUserModelId='setpath(["win32AppUserModelId"]; "Microsoft.VSCodium")'
|
||||
win32ShellNameShort='setpath(["win32ShellNameShort"]; "VSCodium")'
|
||||
win32x64UserAppId='setpath (["win32x64UserAppId"]; "{{2E1F05D1-C245-4562-81EE-28188DB6FD17}")'
|
||||
urlProtocol='setpath(["urlProtocol"]; "vscodium")'
|
||||
extensionAllowedProposedApi='setpath(["extensionAllowedProposedApi"]; getpath(["extensionAllowedProposedApi"]) + ["ms-vsliveshare.vsliveshare"])'
|
||||
|
||||
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}"
|
||||
cat product.json.bak | jq "${product_json_changes}" > product.json
|
||||
cat product.json
|
||||
../undo_telemetry.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
|
||||
# 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
|
||||
keep_alive_small &
|
||||
else
|
||||
keep_alive &
|
||||
fi
|
||||
|
||||
KA_PID=$!
|
||||
|
||||
yarn gulp compile-build
|
||||
yarn gulp compile-extensions-build
|
||||
|
||||
# this task is very slow on mac, so using a keep alive to keep travis alive
|
||||
keep_alive &
|
||||
KA_PID=$!
|
||||
yarn gulp minify-vscode
|
||||
kill $KA_PID
|
||||
|
||||
yarn gulp minify-vscode-reh
|
||||
yarn gulp minify-vscode-reh-web
|
||||
@@ -97,14 +61,18 @@ if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
||||
yarn gulp "vscode-win32-${BUILDARCH}-system-setup"
|
||||
yarn gulp "vscode-win32-${BUILDARCH}-user-setup"
|
||||
else # linux
|
||||
yarn gulp vscode-linux-x64-min-ci
|
||||
yarn gulp vscode-reh-linux-x64-min-ci
|
||||
yarn gulp vscode-reh-web-linux-x64-min-ci
|
||||
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"
|
||||
yarn gulp "vscode-linux-${BUILDARCH}-build-rpm"
|
||||
if [[ "$BUILDARCH" == "x64" ]]; then
|
||||
yarn gulp "vscode-linux-${BUILDARCH}-build-rpm"
|
||||
fi
|
||||
. ../create_appimage.sh
|
||||
fi
|
||||
|
||||
kill $KA_PID
|
||||
|
||||
cd ..
|
||||
fi
|
||||
|
||||
@@ -34,6 +34,20 @@ if [ "$GITHUB_TOKEN" != "" ]; then
|
||||
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"])')
|
||||
|
||||
@@ -3,6 +3,7 @@ if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
cd VSCode-darwin
|
||||
create-dmg VSCodium.app ..
|
||||
mv "../VSCodium ${LATEST_MS_TAG}.dmg" "../VSCodium.${LATEST_MS_TAG}.dmg"
|
||||
fi
|
||||
cd ..
|
||||
fi
|
||||
|
||||
@@ -4,13 +4,10 @@ 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
|
||||
elif [[ "$BUILDARCH" == "arm64" ]]; then
|
||||
cd VSCode-linux-arm64
|
||||
tar czf ../VSCodium-linux-arm64-${LATEST_MS_TAG}.tar.gz .
|
||||
else
|
||||
cd VSCode-linux-x64
|
||||
tar czf ../VSCodium-linux-x64-${LATEST_MS_TAG}.tar.gz .
|
||||
cd VSCode-linux-${BUILDARCH}
|
||||
tar czf ../VSCodium-linux-${BUILDARCH}-${LATEST_MS_TAG}.tar.gz .
|
||||
fi
|
||||
|
||||
cd ..
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -5,18 +5,37 @@ if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
brew install jq zip
|
||||
else
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y fakeroot rpm jq
|
||||
if [[ $BUILDARCH == "arm64" ]]; then
|
||||
echo "deb http://ports.ubuntu.com/ubuntu-ports/ trusty main" | sudo tee -a /etc/apt/sources.list.d/arm64.list >/dev/null
|
||||
sudo dpkg --add-architecture arm64
|
||||
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-arm64-cross gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
|
||||
sudo apt-get install libx11-dev:arm64 libxkbfile-dev:arm64
|
||||
export CC=/usr/bin/aarch64-linux-gnu-gcc
|
||||
export CXX=/usr/bin/aarch64-linux-gnu-g++
|
||||
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 fakeroot rpm jq
|
||||
sudo apt-get install libx11-dev libxkbfile-dev libsecret-1-dev rpm
|
||||
fi
|
||||
fi
|
||||
|
||||
68
prepare_vscode.sh
Executable file
68
prepare_vscode.sh
Executable file
@@ -0,0 +1,68 @@
|
||||
#!/bin/bash
|
||||
|
||||
export npm_config_arch="$BUILDARCH"
|
||||
export npm_config_target_arch="$BUILDARCH"
|
||||
|
||||
cp -rp src/* vscode/
|
||||
cd vscode || exit
|
||||
|
||||
../update_settings.sh
|
||||
|
||||
# apply patches
|
||||
patch -u src/vs/platform/update/electron-main/updateService.win32.ts -i ../patches/update-cache-path.patch
|
||||
|
||||
yarn --frozen-lockfile
|
||||
yarn postinstall
|
||||
|
||||
if [[ "$BUILDARCH" == *"arm"* ]]; then
|
||||
sed -i -z 's/,\n[^\n]*arm[^\n]*//' node_modules/vscode-sqlite3/binding.gyp
|
||||
sed -i "s/Release\/sqlite'/Release\/sqlite.node'/" node_modules/vscode-sqlite3/lib/sqlite3.js
|
||||
yarn add -D electron-rebuild
|
||||
npx electron-rebuild -f -w vscode-sqlite3
|
||||
fi
|
||||
|
||||
mv product.json product.json.bak
|
||||
|
||||
# set fields in product.json
|
||||
tipsAndTricksUrl='setpath(["tipsAndTricksUrl"]; "https://go.microsoft.com/fwlink/?linkid=852118")'
|
||||
twitterUrl='setpath(["twitterUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533687")'
|
||||
requestFeatureUrl='setpath(["requestFeatureUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533482")'
|
||||
documentationUrl='setpath(["documentationUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533484#vscode")'
|
||||
introductoryVideosUrl='setpath(["introductoryVideosUrl"]; "https://go.microsoft.com/fwlink/?linkid=832146")'
|
||||
extensionAllowedBadgeProviders='setpath(["extensionAllowedBadgeProviders"]; ["api.bintray.com", "api.travis-ci.com", "api.travis-ci.org", "app.fossa.io", "badge.fury.io", "badge.waffle.io", "badgen.net", "badges.frapsoft.com", "badges.gitter.im", "badges.greenkeeper.io", "cdn.travis-ci.com", "cdn.travis-ci.org", "ci.appveyor.com", "circleci.com", "cla.opensource.microsoft.com", "codacy.com", "codeclimate.com", "codecov.io", "coveralls.io", "david-dm.org", "deepscan.io", "dev.azure.com", "flat.badgen.net", "gemnasium.com", "githost.io", "gitlab.com", "godoc.org", "goreportcard.com", "img.shields.io", "isitmaintained.com", "marketplace.visualstudio.com", "nodesecurity.io", "opencollective.com", "snyk.io", "travis-ci.com", "travis-ci.org", "visualstudio.com", "vsmarketplacebadge.apphb.com", "www.bithound.io", "www.versioneye.com"])'
|
||||
updateUrl='setpath(["updateUrl"]; "https://vscodium.now.sh")'
|
||||
releaseNotesUrl='setpath(["releaseNotesUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533483#vscode")'
|
||||
keyboardShortcutsUrlMac='setpath(["keyboardShortcutsUrlMac"]; "https://go.microsoft.com/fwlink/?linkid=832143")'
|
||||
keyboardShortcutsUrlLinux='setpath(["keyboardShortcutsUrlLinux"]; "https://go.microsoft.com/fwlink/?linkid=832144")'
|
||||
keyboardShortcutsUrlWin='setpath(["keyboardShortcutsUrlWin"]; "https://go.microsoft.com/fwlink/?linkid=832145")'
|
||||
quality='setpath(["quality"]; "stable")'
|
||||
extensionsGallery='setpath(["extensionsGallery"]; {"serviceUrl": "https://open-vsx.org/vscode/gallery", "itemUrl": "https://open-vsx.org/vscode/item"})'
|
||||
linkProtectionTrustedDomains='setpath(["linkProtectionTrustedDomains"]; ["https://open-vsx.org"])'
|
||||
nameShort='setpath(["nameShort"]; "VSCodium")'
|
||||
nameLong='setpath(["nameLong"]; "VSCodium")'
|
||||
linuxIconName='setpath(["linuxIconName"]; "vscodium")'
|
||||
applicationName='setpath(["applicationName"]; "codium")'
|
||||
win32MutexName='setpath(["win32MutexName"]; "vscodium")'
|
||||
win32DirName='setpath(["win32DirName"]; "VSCodium")'
|
||||
win32NameVersion='setpath(["win32NameVersion"]; "VSCodium")'
|
||||
win32RegValueName='setpath(["win32RegValueName"]; "VSCodium")'
|
||||
win32AppUserModelId='setpath(["win32AppUserModelId"]; "Microsoft.VSCodium")'
|
||||
win32ShellNameShort='setpath(["win32ShellNameShort"]; "VSCodium")'
|
||||
win32x64UserAppId='setpath (["win32x64UserAppId"]; "{{2E1F05D1-C245-4562-81EE-28188DB6FD17}")'
|
||||
urlProtocol='setpath(["urlProtocol"]; "vscodium")'
|
||||
extensionAllowedProposedApi='setpath(["extensionAllowedProposedApi"]; getpath(["extensionAllowedProposedApi"]) + ["ms-vsliveshare.vsliveshare", "ms-vscode-remote.remote-ssh"])'
|
||||
serverDataFolderName='setpath(["serverDataFolderName"]; ".vscode-server-oss")'
|
||||
|
||||
product_json_changes="${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
|
||||
# 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
|
||||
fi
|
||||
@@ -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,5 +467,5 @@ fi
|
||||
# Go out of AppImage
|
||||
cd ..
|
||||
|
||||
generate_type2_appimage
|
||||
ls -lh ../out/*.AppImage
|
||||
generate_type2_appimage -u "gh-releases-zsync|VSCodium|vscodium|latest|*.AppImage.zsync"
|
||||
ls -lh ../out/*.AppImage*
|
||||
|
||||
4
sum.sh
4
sum.sh
@@ -28,8 +28,8 @@ if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
||||
sum_file VSCodium-win32-*.zip
|
||||
else # linux
|
||||
cp out/*.AppImage .
|
||||
cp vscode/.build/linux/deb/amd64/deb/*.deb .
|
||||
cp vscode/.build/linux/rpm/x86_64/*.rpm .
|
||||
cp vscode/.build/linux/deb/*/deb/*.deb .
|
||||
cp vscode/.build/linux/rpm/*/*.rpm .
|
||||
|
||||
sum_file *.AppImage
|
||||
sum_file VSCodium-linux*.tar.gz
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
steps:
|
||||
- task: NodeTool@0
|
||||
inputs:
|
||||
versionSpec: '10.x'
|
||||
versionSpec: "12.13.0"
|
||||
- script: |
|
||||
choco install jq
|
||||
displayName: 'install jq from choco'
|
||||
|
||||
Reference in New Issue
Block a user