Compare commits

..

58 Commits

Author SHA1 Message Date
Peter Squicciarini
c25fd7717b Merge pull request #428 from Unrud/patch-1
Fix telemetry.enableCrashReporter setting
2020-06-26 16:37:36 -07:00
Peter Squicciarini
db359f0711 Merge pull request #431 from tuanpham-dev/master
Fix sqlite error on ARM build
2020-06-19 19:12:46 -07:00
Tuan Pham
22c41976f2 Fix sqlite error on ARM build 2020-06-19 18:39:56 -04:00
Unrud
80f4d30638 Fix telemetry.enableCrashReporter setting
The file containing the setting changed.
2020-06-18 11:29:27 +02:00
Peter Squicciarini
d695216317 Merge pull request #404 from spoenemann/open-vsx
Use open-vsx.org as extension gallery
2020-05-20 09:05:02 -07:00
Peter Squicciarini
e4b87c1a0e Merge pull request #405 from linsui/patch-1
Add update information for appimage
2020-05-20 08:54:52 -07:00
Peter Squicciarini
d6fcc82584 Merge pull request #241 from watkinsmatthewp/patch-1
Update DOCS.md
2020-05-20 08:53:15 -07:00
Miro Spönemann
34aa7b0d89 #372: Use open-vsx.org as extension gallery 2020-05-20 12:58:34 +02:00
linsui
bc0826868c add option in pkg2appimage instead 2020-05-20 09:49:51 +00:00
linsui
c2c3525405 revert 2020-05-20 09:48:49 +00:00
linsui
de31868635 fix a typo and remove UPDATE_IMFORMATION 2020-05-20 09:18:49 +00:00
linsui
5004481ea9 Add update information for appimage 2020-05-20 09:11:24 +00:00
Peter Squicciarini
f63fbe4292 Update DOCS.md 2020-05-19 22:01:41 -07:00
Peter Squicciarini
8111747fab Merge pull request #328 from zhaofengli/master
product.json changes for Remote SSH
2020-05-19 21:59:27 -07:00
Peter Squicciarini
765a4b63ad Merge pull request #395 from ellietheoracle/patch-1
update to include flatpak support
2020-05-19 21:42:37 -07:00
Peter Squicciarini
0355e7013c Merge pull request #371 from linsui/patch-1
Fix appimage icon
2020-05-19 21:28:21 -07:00
Peter Squicciarini
f87035e3e6 Update README.md
Removed my name and cleaned up wording a bit.
2020-05-19 21:27:09 -07:00
The Oracle
6367d32c32 Update README.md 2020-05-10 08:15:47 -05:00
The Oracle
d1adafac84 update to include flatpak support 2020-05-09 03:05:55 -05:00
Peter Squicciarini
fb100d772b Merge pull request #387 from 4-FLOSS-Free-Libre-Open-Source-Software/patch-1
Remove sync workaround
2020-05-04 21:17:01 +00:00
Zhaofeng Li
f1ac78e6ed Add serverDataFolderName key 2020-04-21 19:01:48 -07:00
Zhaofeng Li
42bc96ba21 Enable ms-vscode-remote.remote-ssh proposed API 2020-04-21 19:00:27 -07:00
4-FLOSS-Free-Libre-Open-Source-Software
40f5d1398b Remove sync workaround
https://github.com/shanalikhan/code-settings-sync/issues/668#issuecomment-505142734
2020-04-21 09:41:30 +02:00
Peter Squicciarini
000ede1322 Merge pull request #385 from stripedpajamas/dmg-shasum
Remove space from dmg filename
2020-04-19 21:08:33 +00:00
Peter Squicciarini
0ca513930d Remove space from dmg filename 2020-04-19 12:50:45 -07:00
linsui
6788101859 Fix appimage icon 2020-03-31 12:53:57 +00:00
Peter Squicciarini
687d644b41 Merge pull request #334 from popey/patch-1
Added section on installing the snap
2020-03-21 19:17:11 +00:00
Peter Squicciarini
cb04b93044 Merge pull request #354 from piedar/split-scripts
refactor: extract prepare_vscode from build script
2020-03-12 22:30:32 +00:00
Bennjamin Blast
ed126b5cb2 refactor: extract prepare_vscode from build script 2020-03-11 22:47:05 -04:00
Peter Squicciarini
fabacf1c1a Merge pull request #347 from NebojsaKrtolica/patch-1
📜 portable mode description
2020-03-10 08:31:12 -07:00
Peter Squicciarini
8347fbcdc8 Merge pull request #335 from stripedpajamas/node_12
Use Node 12 and frozen lockfile
2020-03-10 08:30:51 -07:00
nebojsa
5dd8c0e6da 📜 portable mode description
Updated portable mode description. OS Instructions are now separated with bullet points. Added a hyperlink to "link above".
2020-02-29 08:50:43 +01:00
Peter Squicciarini
d03f6d5442 Merge pull request #346 from zilti/master
Add update information to AppImage
2020-02-27 10:41:23 -08:00
Daniel Ziltener
35f5a5a264 Update .travis.yml
Added AppImage's zsync to the list of files to deploy
2020-02-27 12:08:23 +01:00
Daniel Ziltener
ccb2ee47b3 Add update information to AppImage 2020-02-26 23:36:45 +01:00
Peter Squicciarini
a3465c0f1b Use Node 12 and frozen lockfile 2020-02-17 15:26:57 -08:00
Alan Pope
cb031ffd75 Added section on installing the snap
Thanks for making VS Codium. Now the codium snap is available in the stable channel of the snap store, I added a section to the README.md so people can find it. I also added a badge at the top which shows what build is current in the snap store, and the build status.
2020-02-17 12:37:30 +00:00
Peter Squicciarini
c440844e99 Update check_tags.sh
Fixes armhf tag check
2019-12-20 19:52:01 -08:00
Peter Squicciarini
26a5bfcab8 Merge pull request #310 from stripedpajamas/fix-builds
OS specific keep alive funcs
2019-12-20 15:59:30 -08:00
Peter Squicciarini
e379b37110 OS specific keep alive funcs 2019-12-20 14:20:10 -08:00
Peter Squicciarini
4612db050a Merge pull request #278 from mztriz/patch-1
Use cd ... || exit in case cd fails.
2019-12-19 22:08:09 -08:00
Peter Squicciarini
2c61228528 Merge pull request #303 from dimkr/arm-v2
Add hacky, initial armhf support
2019-12-14 20:09:38 -08:00
Peter Squicciarini
7b2c725cac Merge pull request #302 from dimkr/arm64-v2
Add hacky, initial arm64 support
2019-12-14 20:07:59 -08:00
Dima Krasner
a8b43ff2a5 Merge branch 'arm64-v2' into arm-v2 2019-12-11 21:19:11 +02:00
Dima Krasner
588db890f0 Merge branch 'master' into arm64-v2 2019-12-11 21:18:50 +02:00
Dima Krasner
08d8ad26ab Add armhf support 2019-12-10 17:28:28 +02:00
Peter Squicciarini
1501d185c2 Merge pull request #301 from stripedpajamas/update-cache-path
Update cache path
2019-12-09 21:42:44 -08:00
Dima Krasner
2fdaec5163 Document arm64 support 2019-12-09 22:21:26 +02:00
Dima Krasner
818097ca7e Add hacky, initial arm64 support 2019-12-09 21:40:37 +02:00
Peter Squicciarini
845f748de5 Merge branch 'master' of https://github.com/vscodium/vscodium into update-cache-path 2019-12-09 08:54:06 -08:00
Peter Squicciarini
2ea6d93325 Merge pull request #300 from stripedpajamas/fix-appimage
Fix appimage
2019-12-08 19:31:34 -08:00
Peter Squicciarini
98a9a1b231 Fix update cache path 2019-12-08 16:03:23 -08:00
Peter Squicciarini
3bba077e1e Update DOCS.md
Correct portable instructions. Closes #295
2019-12-08 16:03:23 -08:00
Peter Squicciarini
6f3791a5ca Correct path to AppImage 2019-12-08 15:26:22 -08:00
Peter Squicciarini
1a3eba742f Update DOCS.md
Correct portable instructions. Closes #295
2019-12-08 14:59:36 -08:00
Peter Squicciarini
75bbad9a0d Bugfix AppImage 2019-12-08 14:51:53 -08:00
Ava Barron
df742b9ee9 Use cd ... || exit in case cd fails. 2019-11-05 22:45:46 -05:00
Matthew Watkins
eb6ca84e21 Update DOCS.md
Added details on how to edit the product.json to enable extensions
2019-08-15 10:40:45 -05:00
15 changed files with 221 additions and 91 deletions

View File

@@ -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
View File

@@ -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 `vscodium-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 `vscodium-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)?

View File

@@ -12,6 +12,8 @@
[![build status](https://travis-ci.com/VSCodium/vscodium.svg?branch=master)](https://travis-ci.com/VSCodium/vscodium)
[![license](https://img.shields.io/github/license/VSCodium/vscodium.svg)](https://github.com/VSCodium/vscodium/blob/master/LICENSE)
[![Gitter](https://img.shields.io/gitter/room/vscodium/vscodium.svg)](https://gitter.im/VSCodium/Lobby)
[![codium](https://snapcraft.io//codium/badge.svg)](https://snapcraft.io/codium)
[![codium](https://snapcraft.io//codium/trending.svg?name=0)](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`.

View File

@@ -16,12 +16,11 @@ ingredients:
- deb http://archive.ubuntu.com/ubuntu/ trusty main universe
script:
- pwd
- cp ../.build/linux/deb/amd64/deb/*.deb .
- cp ../vscode/.build/linux/deb/amd64/deb/*.deb .
- 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 . )

View File

@@ -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,68 +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
yarn
yarn postinstall
mv product.json product.json.bak
./prepare_vscode.sh
# 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
@@ -94,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

View File

@@ -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"])')

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +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
@@ -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);
}

68
prepare_vscode.sh Executable file
View 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

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# env
ARCH=x86_64
HERE="$(dirname "$(readlink -f "${0}")")"
# Use privately bundled apt-get and dpkg-deb if available; can be got on trusty using
@@ -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*

6
sum.sh
View File

@@ -27,9 +27,9 @@ if [[ "$SHOULD_BUILD" == "yes" ]]; then
sum_file VSCodiumUserSetup-*.exe
sum_file VSCodium-win32-*.zip
else # linux
cp vscode/out/*.AppImage .
cp vscode/.build/linux/deb/amd64/deb/*.deb .
cp vscode/.build/linux/rpm/x86_64/*.rpm .
cp out/*.AppImage .
cp vscode/.build/linux/deb/*/deb/*.deb .
cp vscode/.build/linux/rpm/*/*.rpm .
sum_file *.AppImage
sum_file VSCodium-linux*.tar.gz

View File

@@ -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

View File

@@ -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'