Compare commits
178 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
492c8c658e | ||
|
|
59ef86968e | ||
|
|
49489575bb | ||
|
|
606674936f | ||
|
|
4a0a474af7 | ||
|
|
8f8a71d932 | ||
|
|
5dfd780291 | ||
|
|
2653d09ffa | ||
|
|
f3b156bfcd | ||
|
|
4be6447a1d | ||
|
|
1245596c1c | ||
|
|
c46aebbbdc | ||
|
|
079e741bcc | ||
|
|
8861d9c2d9 | ||
|
|
d213b48a7f | ||
|
|
6d24ed1d62 | ||
|
|
99b3268f2b | ||
|
|
4baaf93eb2 | ||
|
|
1c13ffb556 | ||
|
|
db1afbd17a | ||
|
|
b5a6849834 | ||
|
|
b97f997a40 | ||
|
|
c2b46ceb35 | ||
|
|
b6b51ba510 | ||
|
|
3f1e9ec9b4 | ||
|
|
81ef7c6d8f | ||
|
|
02f69839a7 | ||
|
|
0f6cfd5989 | ||
|
|
f1233fc9b8 | ||
|
|
265627feec | ||
|
|
bea2917180 | ||
|
|
4ad9544910 | ||
|
|
963aaf685a | ||
|
|
4b97d24b5f | ||
|
|
53368f6991 | ||
|
|
724b1d3d21 | ||
|
|
9d3751db59 | ||
|
|
e4db49f31a | ||
|
|
2b1aedba19 | ||
|
|
a9e74eb2bd | ||
|
|
fa720f1e0c | ||
|
|
75a79410d3 | ||
|
|
edb1c6ce8b | ||
|
|
f5dc0559c2 | ||
|
|
ff70dffab8 | ||
|
|
ff2d078db8 | ||
|
|
1db9cfba3f | ||
|
|
4860c1bca9 | ||
|
|
7147a3a52b | ||
|
|
798eb8cb11 | ||
|
|
1c6cb799c8 | ||
|
|
4114f3484b | ||
|
|
d7fe3923fc | ||
|
|
7b1c9aff73 | ||
|
|
a5b2066f76 | ||
|
|
376c501f95 | ||
|
|
ae7942f5e5 | ||
|
|
eebde70091 | ||
|
|
a7e8154e98 | ||
|
|
69f1e08df3 | ||
|
|
13c905e2d8 | ||
|
|
3687110918 | ||
|
|
c72968db2d | ||
|
|
ec6568188f | ||
|
|
0608a0e812 | ||
|
|
69d8ba45eb | ||
|
|
c904b620f1 | ||
|
|
5e481cb178 | ||
|
|
39d4b9c134 | ||
|
|
f6363a3665 | ||
|
|
4ac72d1b71 | ||
|
|
1fe19328cc | ||
|
|
d774292e9f | ||
|
|
7911c1a336 | ||
|
|
273bb0fae2 | ||
|
|
4f99cbf064 | ||
|
|
3290066771 | ||
|
|
5b2cfc70d3 | ||
|
|
0d98ab9664 | ||
|
|
84a944e39f | ||
|
|
207c9cd04b | ||
|
|
11db2cfa65 | ||
|
|
a12f6d7dce | ||
|
|
70f523fbfe | ||
|
|
a47dcab06a | ||
|
|
2f6d19354f | ||
|
|
2cdcb23c1a | ||
|
|
e37fe1cc3b | ||
|
|
de66a50908 | ||
|
|
6aa7f0a180 | ||
|
|
d6fc93a4b5 | ||
|
|
f70c614be3 | ||
|
|
2ea06de9f8 | ||
|
|
64e0cd0c7f | ||
|
|
33bc3b2f8b | ||
|
|
7452656dd9 | ||
|
|
6a307fcc6d | ||
|
|
79a2dd7d51 | ||
|
|
b6c2a40d0b | ||
|
|
ac42eadd68 | ||
|
|
1b9d7adc60 | ||
|
|
532959ee9a | ||
|
|
f9f92ce008 | ||
|
|
0f3afe4cba | ||
|
|
562f4d484f | ||
|
|
cf4adbf6f8 | ||
|
|
b8a1f7c979 | ||
|
|
34953d11f3 | ||
|
|
ab7d14add8 | ||
|
|
4fe1ea6727 | ||
|
|
a61e56c152 | ||
|
|
a02839b466 | ||
|
|
890377a893 | ||
|
|
e95b3f0732 | ||
|
|
c38cc161c0 | ||
|
|
4cf7166a48 | ||
|
|
f5bb3f6007 | ||
|
|
a1596e9820 | ||
|
|
3ccdd1171d | ||
|
|
4dbc77dbba | ||
|
|
1991d1af61 | ||
|
|
56cce9d14c | ||
|
|
cf28585423 | ||
|
|
1b421c701c | ||
|
|
85da65c0b0 | ||
|
|
1633faf377 | ||
|
|
2564115929 | ||
|
|
dd6e08a285 | ||
|
|
b5df7d5af8 | ||
|
|
8959faeca9 | ||
|
|
7391746c6b | ||
|
|
833fcec1e8 | ||
|
|
576145f38e | ||
|
|
c1dd804250 | ||
|
|
83cfe077ee | ||
|
|
a3129e3f57 | ||
|
|
dfa09d149e | ||
|
|
8096387e74 | ||
|
|
098cab67bd | ||
|
|
dc649ff259 | ||
|
|
d408fcc060 | ||
|
|
0f3bba8d9f | ||
|
|
7b764d5c5b | ||
|
|
31ad142664 | ||
|
|
a4ea6d60a4 | ||
|
|
213baf8651 | ||
|
|
5f035559e5 | ||
|
|
58823c7ad8 | ||
|
|
f4a46d1c7b | ||
|
|
bfcfedb1e8 | ||
|
|
74d06bf01d | ||
|
|
a541390984 | ||
|
|
da0eaa5d45 | ||
|
|
008aacc81e | ||
|
|
ed99748de8 | ||
|
|
b40a02dc7f | ||
|
|
bc41a76bd0 | ||
|
|
c84850f967 | ||
|
|
b407087e57 | ||
|
|
b5b89730a4 | ||
|
|
225fbb2dea | ||
|
|
344541b8fe | ||
|
|
d3373b16e8 | ||
|
|
c1bdb38d45 | ||
|
|
dc75d7df46 | ||
|
|
f805d740bb | ||
|
|
ae47b31091 | ||
|
|
1a85464271 | ||
|
|
6346d7f6bb | ||
|
|
cc9e2c6dec | ||
|
|
8a561e165d | ||
|
|
fec74ec8ce | ||
|
|
606d3f8ff2 | ||
|
|
2bf10dde0c | ||
|
|
a9b42f5af4 | ||
|
|
56bce30b73 | ||
|
|
ee1cf86ff7 | ||
|
|
058f0db4f3 |
38
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**Please confirm that this problem is VSCodium-specific**
|
||||
- [ ] This bug doesn't happen if I use Microsoft's Visual Studio Code. It only happens in VSCodium.
|
||||
|
||||
**Please confirm that the issue/resolution isn't already documented**
|
||||
- [ ] I checked [the Docs page](https://github.com/VSCodium/vscodium/blob/master/DOCS.md) and my issue is not mentioned there.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Desktop (please complete the following information):**
|
||||
- OS: [e.g. Mac OS, Ubuntu 16.04, etc]
|
||||
- Architecture [e.g. x64, ia32, arm64]
|
||||
- Version [e.g. 1.33.0]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
||||
2
.gitignore
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
vscode
|
||||
VS*/*
|
||||
28
.travis.yml
@@ -1,35 +1,55 @@
|
||||
if: tag IS blank
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- os: linux
|
||||
sudo: required
|
||||
env: BUILDARCH=x64
|
||||
# arm64 builds don't work yet
|
||||
# - os: linux
|
||||
# sudo: required
|
||||
# env: BUILDARCH=arm64
|
||||
- os: osx
|
||||
|
||||
language: node_js
|
||||
node_js: "8"
|
||||
node_js: "10"
|
||||
|
||||
before_install:
|
||||
- ./install_deps.sh
|
||||
- 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
|
||||
- ./trigger-azure.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
|
||||
- vscode/.build/linux/deb/i386/deb/*.deb
|
||||
- vscode/.build/linux/rpm/i386/*.rpm
|
||||
- vscode/.build/linux/deb/amd64/deb/*.deb
|
||||
- vscode/.build/linux/rpm/x86_64/*.rpm
|
||||
- vscode/.build/linux/deb/arm64/deb/*.deb
|
||||
- vscode/out/*.AppImage
|
||||
on:
|
||||
all_branches: true
|
||||
condition: $SHOULD_BUILD = yes
|
||||
|
||||
after_deploy:
|
||||
- ./update_version.sh
|
||||
|
||||
46
CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to creating a positive environment include:
|
||||
|
||||
* Using welcoming and inclusive language
|
||||
* Being respectful of differing viewpoints and experiences
|
||||
* Gracefully accepting constructive criticism
|
||||
* Focusing on what is best for the community
|
||||
* Showing empathy towards other community members
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
* The use of sexualized language or imagery and unwelcome sexual attention or advances
|
||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or electronic address, without explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a professional setting
|
||||
|
||||
## Our Responsibilities
|
||||
|
||||
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at vscodium@protonmail.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
||||
|
||||
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
|
||||
|
||||
[homepage]: http://contributor-covenant.org
|
||||
[version]: http://contributor-covenant.org/version/1/4/
|
||||
98
DOCS.md
Normal file
@@ -0,0 +1,98 @@
|
||||
# More Info
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Getting all the Telemetry Out](#disable-telemetry)
|
||||
- [Extensions + Marketplace](#extensions-marketplace)
|
||||
- [Migrating from Visual Studio Code to VSCodium](#migrating)
|
||||
- [How do I run VSCodium in portable mode?](#portable)
|
||||
- [How do I press and hold a key and have it repeat in VSCodium?](#press-and-hold)
|
||||
- [How do I open VSCodium from the terminal?](#terminal-support)
|
||||
- [Gentoo overlay/ebuild](#gentoo-overlay)
|
||||
|
||||
## <a id="disable-telemetry"></a>Getting all the Telemetry Out
|
||||
|
||||
Even though we do not pass the telemetry build flags (and go out of our way to cripple the baked-in telemetry), Microsoft will still track usage by default.
|
||||
|
||||
We do however set the default `telemetry.enableCrashReporter` and `telemetry.enableTelemetry` values to false. You can see those by viewing your VSCodium settings.json and searching for `telemetry`.
|
||||
|
||||
The instructions [here](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-telemetry-reporting) and [here](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-crash-reporting) help with explaining and toggling telemetry.
|
||||
|
||||
It is also highly recommended that you review all the settings that "use online services" by following [these instructions](https://code.visualstudio.com/docs/supporting/faq#_managing-online-services). The `@tag:usesOnlineServices` filter on the settings page will show that by default:
|
||||
|
||||
- Extensions auto check for updates and auto install updates
|
||||
- Searches within the app are sent to an online service for "natural language processing"
|
||||
- Updates to the app are fetched in the background
|
||||
|
||||
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.__
|
||||
|
||||
_(For example the C# extension `ms-vscode.csharp` sends tracking data to Microsoft.)_
|
||||
|
||||
## <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)
|
||||
|
||||
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.
|
||||
|
||||
### Proprietary Debugging Tools
|
||||
|
||||
The debugger provided with Microsoft's [C# extension](https://github.com/OmniSharp/omnisharp-vscode) as well as the (Windows) debugger provided with their [C++ extension](https://github.com/Microsoft/vscode-cpptools) are very restrictively licensed to only work with the offical Visual Studio Code build. See [this comment in the C# extension repo](https://github.com/OmniSharp/omnisharp-vscode/issues/2491#issuecomment-418811364) and [this comment in the C++ extension repo](https://github.com/Microsoft/vscode-cpptools/issues/21#issuecomment-248349017).
|
||||
|
||||
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.
|
||||
|
||||
## <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:
|
||||
|
||||
- __Windows__: `%APPDATA%\Code\User`
|
||||
- __macOS__: `$HOME/Library/Application Support/Code/User`
|
||||
- __Linux__: `$HOME/.config/Code/User`
|
||||
|
||||
You can copy these files to the VSCodium user settings folder:
|
||||
|
||||
- __Windows__: `%APPDATA%\VSCodium\User`
|
||||
- __macOS__: `$HOME/Library/Application Support/VSCodium/User`
|
||||
- __Linux__: `$HOME/.config/VSCodium/User`
|
||||
|
||||
To copy your settings manually:
|
||||
|
||||
- In Visual Studio Code, go to Settings (Command+, if on a Mac)
|
||||
- Click the three dots `...` and choose 'Open settings.json'
|
||||
- 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`.
|
||||
|
||||
## <a id="press-and-hold"></a>How do I press and hold a key and have it repeat in VSCodium (Mac)?
|
||||
|
||||
This is a common question for Visual Studio Code and the procedure is slightly different in VSCodium because the `defaults` path is different.
|
||||
|
||||
```bash
|
||||
$ defaults write com.visualstudio.code.oss ApplePressAndHoldEnabled -bool false
|
||||
```
|
||||
|
||||
## <a id="terminal-support"></a>How do I open VSCodium from the terminal?
|
||||
|
||||
- Go to the command palette (View | Command Palette...)
|
||||
- Choose `Shell command: Install 'codium' command in PATH`.
|
||||
|
||||

|
||||
|
||||
This allows you to open files or directories in VSCodium directly from your terminal:
|
||||
|
||||
```bash
|
||||
~/in-my-project $ codium . # open this directory
|
||||
~/in-my-project $ codium file.txt # open this file
|
||||
```
|
||||
|
||||
Feel free to alias this command to something easier to type in your shell profile (e.g. `alias code=codium`).
|
||||
|
||||
## <a id="gentoo-overlay"></a>Gentoo ebuild/overlay
|
||||
|
||||
There is an external Gentoo overlay with a working ebuild to install VSCodium, provided by [@wolviecb](https://github.com/wolviecb/). The overlay can be found [here](https://github.com/wolviecb/overlay).
|
||||
118
README.md
@@ -1,15 +1,115 @@
|
||||
## VSCodium
|
||||
<div id="vscodium-logo" align="center">
|
||||
<br />
|
||||
<img src="./src/resources/linux/code.png" alt="VSCodium Logo" width="200"/>
|
||||
<h1>VSCodium</h1>
|
||||
<h3>Free/Libre Open Source Software Binaries of VSCode</h3>
|
||||
</div>
|
||||
|
||||
This repository contains a build file to generate FLOSS release binaries of Microsoft's VSCode.
|
||||
<div id="badges" align="center">
|
||||
|
||||
[Download binaries here](https://github.com/VSCodium/vscodium/releases)
|
||||
[](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)
|
||||
|
||||
Microsoft's downloads of VSCode are licensed under [this not-FLOSS license](https://code.visualstudio.com/license). That's why this repo exists. So you don't have to download+build from source.
|
||||
</div>
|
||||
|
||||
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)
|
||||
**This is not a fork. This is a repository of scripts to automatically build Microsoft's `vscode` repository into freely-licensed binaries with a community-driven default configuration.**
|
||||
|
||||
### Supported OS/arch
|
||||
Currently we are only building OSX (zip) and Linux x64 (deb, rpm, and tar). If you are familiar with building Windows binaries on Travis CI + Wine please put in a PR! :blue_heart:
|
||||
## Table of Contents
|
||||
- [Download/Install](#download-install)
|
||||
- [Install with Brew](#install-with-brew)
|
||||
- [Install with Chocolatey](#install-with-choco)
|
||||
- [Install with Scoop](#install-with-scoop)
|
||||
- [Install with Package Manager](#install-with-package-manager)
|
||||
- [Install on Arch Linux](#install-on-arch-linux)
|
||||
- [Flatpak Option](#flatpak)
|
||||
- [Why Does This Exist](#why)
|
||||
- [More Info](#more-info)
|
||||
- [Supported OS](#supported-os)
|
||||
|
||||
## License
|
||||
MIT
|
||||
## <a id="download-install"></a>Download/Install
|
||||
:tada: :tada: [Download latest release here](https://github.com/VSCodium/vscodium/releases) :tada: :tada:
|
||||
|
||||
[More info / helpful tips are here.](https://github.com/VSCodium/vscodium/blob/master/DOCS.md)
|
||||
|
||||
#### <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
|
||||
```
|
||||
|
||||
_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._
|
||||
|
||||
#### <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)):
|
||||
```bash
|
||||
choco install vscodium
|
||||
```
|
||||
|
||||
#### <a id="install-with-scoop"></a>Install with Scoop (Windows)
|
||||
If you use Windows and have [Scoop](https://scoop.sh) installed:
|
||||
```bash
|
||||
scoop bucket add extras
|
||||
scoop install vscodium
|
||||
```
|
||||
|
||||
#### <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.
|
||||
|
||||
#### <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).
|
||||
|
||||
#### <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).
|
||||
|
||||
## <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:
|
||||
|
||||
> 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.
|
||||
>
|
||||
> When you clone and build from the vscode repo, none of these endpoints are configured in the default product.json. Therefore, you generate a "clean" build, without the Microsoft customizations, which is by default licensed under the MIT license
|
||||
|
||||
This repo exists so that you don't have to download+build from source. The build scripts in this repo clone Microsoft's vscode repo, run the build commands, and upload the resulting binaries to [GitHub releases](https://github.com/VSCodium/vscodium/releases). __These binaries are licensed under the MIT license. Telemetry is disabled.__
|
||||
|
||||
If you want to build from source yourself, head over to [Microsoft's vscode repo](https://github.com/Microsoft/vscode) and follow their [instructions](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#build-and-run). This repo exists to make it easier to get the latest version of MIT-licensed VSCode.
|
||||
|
||||
Microsoft's build process (which we are running to build the binaries) does download additional files. This was brought up in [Microsoft/vscode#49159](https://github.com/Microsoft/vscode/issues/49159) and [Microsoft/vscode#45978](https://github.com/Microsoft/vscode/issues/45978). These are the packages downloaded during build:
|
||||
|
||||
- Extensions from the Microsoft Marketplace:
|
||||
- ms-vscode.node-debug2
|
||||
- ms-vscode.node-debug
|
||||
- From [Electron releases](https://github.com/electron/electron/releases) (using [gulp-atom-electron](https://github.com/joaomoreno/gulp-atom-electron))
|
||||
- electron
|
||||
- ffmpeg
|
||||
|
||||
## <a id="more-info"></a>More Info
|
||||
|
||||
### 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
|
||||
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).
|
||||
|
||||
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)
|
||||
|
||||
## <a id="supported-os"></a>Supported OS
|
||||
- [x] OS X (`zip`, `dmg`)
|
||||
- [x] Linux x64 (`deb`, `rpm`, `AppImage`, `tar.gz`)
|
||||
- [x] Linux x86 (`deb`, `rpm`, `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`.
|
||||
|
||||
## <a id="license"></a>License
|
||||
MIT
|
||||
|
||||
35
VSCodium-AppImage-Recipe.yml
Normal file
@@ -0,0 +1,35 @@
|
||||
# Based on
|
||||
# https://github.com/AppImage/pkg2appimage/blob/master/recipes/VSCode.yml
|
||||
#
|
||||
# On a Debian/Ubuntu system:
|
||||
# wget -c "https://github.com/AppImage/pkg2appimage/raw/master/pkg2appimage"
|
||||
# bash -ex pkg2appimage VSCodium
|
||||
|
||||
app: VSCodium
|
||||
|
||||
ingredients:
|
||||
packages:
|
||||
- code
|
||||
- libgconf2-4
|
||||
dist: trusty
|
||||
sources:
|
||||
- deb http://archive.ubuntu.com/ubuntu/ trusty main universe
|
||||
script:
|
||||
- pwd
|
||||
- cp ../.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
|
||||
- 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
|
||||
- convert vscodium.png -resize 256x256 usr/share/icons/hicolor/256x256/apps/vscodium.png
|
||||
- convert vscodium.png -resize 128x128 usr/share/icons/hicolor/128x128/apps/vscodium.png
|
||||
- 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 . )
|
||||
16
azure-pipelines.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
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
|
||||
70
build.sh
@@ -1,20 +1,74 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
||||
cp -rp src/* vscode/
|
||||
cd vscode
|
||||
|
||||
export npm_config_arch="$BUILDARCH"
|
||||
export npm_config_target_arch="$BUILDARCH"
|
||||
../update_settings.sh
|
||||
|
||||
yarn
|
||||
mv product.json product.json.bak
|
||||
cat product.json.bak | jq '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"})' > product.json
|
||||
|
||||
# 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"]; "V&SCodium")'
|
||||
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
|
||||
|
||||
export NODE_ENV=production
|
||||
|
||||
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
|
||||
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
npx gulp vscode-darwin-min
|
||||
else
|
||||
npx gulp vscode-linux-x64-min
|
||||
npx gulp vscode-linux-x64-build-deb
|
||||
npx gulp vscode-linux-x64-build-rpm
|
||||
npm install --global create-dmg
|
||||
npm run gulp -- "vscode-darwin-min"
|
||||
elif [[ "$CI_WINDOWS" == "True" ]]; then
|
||||
cp LICENSE.txt LICENSE.rtf # windows build expects rtf license
|
||||
npm run gulp -- "vscode-win32-${BUILDARCH}-min"
|
||||
npm run gulp -- "vscode-win32-${BUILDARCH}-inno-updater"
|
||||
npm run gulp -- "vscode-win32-${BUILDARCH}-system-setup"
|
||||
npm run gulp -- "vscode-win32-${BUILDARCH}-user-setup"
|
||||
npm run gulp -- "vscode-win32-${BUILDARCH}-archive"
|
||||
else # linux
|
||||
npm run gulp -- "vscode-linux-${BUILDARCH}-min"
|
||||
npm run gulp -- "vscode-linux-${BUILDARCH}-build-deb"
|
||||
npm run gulp -- "vscode-linux-${BUILDARCH}-build-rpm"
|
||||
. ../create_appimage.sh
|
||||
fi
|
||||
|
||||
cd ..
|
||||
fi
|
||||
fi
|
||||
|
||||
38
check_tags.ps1
Normal file
@@ -0,0 +1,38 @@
|
||||
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"
|
||||
@@ -1,12 +1,70 @@
|
||||
#!/bin/bash
|
||||
|
||||
if git rev-parse $LATEST_MS_TAG >/dev/null 2>&1
|
||||
then
|
||||
echo "Latest MS tag ${LATEST_MS_TAG} already exists in VSCodium. Bail"
|
||||
else
|
||||
echo "New MS tag found, continuing build"
|
||||
REPOSITORY=${TRAVIS_REPO_SLUG:-"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 [[ "$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"
|
||||
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
|
||||
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"
|
||||
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
|
||||
export SHOULD_BUILD="yes"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
10
create_appimage.sh
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
if [[ "$BUILDARCH" == "x64" ]]; then
|
||||
# install a dep needed for this process
|
||||
sudo apt-get install desktop-file-utils
|
||||
|
||||
# download pkg2appimage from github
|
||||
curl -LO "https://github.com/AppImage/pkg2appimage/raw/master/pkg2appimage"
|
||||
|
||||
bash -e pkg2appimage ../VSCodium-AppImage-Recipe.yml
|
||||
fi
|
||||
8
create_dmg.sh
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
cd VSCode-darwin
|
||||
create-dmg VSCodium.app ..
|
||||
fi
|
||||
cd ..
|
||||
fi
|
||||
@@ -3,10 +3,13 @@
|
||||
if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
cd VSCode-darwin
|
||||
zip -r ../VSCode-darwin-${LATEST_MS_TAG}.zip ./*
|
||||
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 ../VSCode-linux-x64-${LATEST_MS_TAG}.tar.gz .
|
||||
tar czf ../VSCodium-linux-x64-${LATEST_MS_TAG}.tar.gz .
|
||||
fi
|
||||
|
||||
cd ..
|
||||
|
||||
15
get_repo.sh
@@ -1,8 +1,15 @@
|
||||
#!/bin/bash
|
||||
|
||||
git clone https://github.com/Microsoft/vscode.git
|
||||
cd vscode
|
||||
export LATEST_MS_TAG=$(git describe --tags `git rev-list --tags --max-count=1`)
|
||||
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})
|
||||
echo "Got the latest MS tag: ${LATEST_MS_TAG}"
|
||||
git checkout $LATEST_MS_TAG
|
||||
cd ..
|
||||
cd ..
|
||||
|
||||
@@ -2,8 +2,21 @@
|
||||
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
brew update
|
||||
brew install yarn --without-node
|
||||
brew install jq zip
|
||||
else
|
||||
sudo apt-get install libx11-dev libxkbfile-dev libsecret-1-dev fakeroot rpm
|
||||
fi
|
||||
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 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++
|
||||
export CC_host=/usr/bin/gcc
|
||||
export CXX_host=/usr/bin/g++
|
||||
else
|
||||
sudo apt-get install libx11-dev libxkbfile-dev libsecret-1-dev fakeroot rpm jq
|
||||
fi
|
||||
fi
|
||||
|
||||
23
sign_mac_app.sh
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/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/bat.icns
Normal file
BIN
src/resources/darwin/bower.icns
Normal file
BIN
src/resources/darwin/c.icns
Normal file
BIN
src/resources/darwin/code.icns
Normal file
BIN
src/resources/darwin/config.icns
Normal file
BIN
src/resources/darwin/cpp.icns
Normal file
BIN
src/resources/darwin/csharp.icns
Normal file
BIN
src/resources/darwin/css.icns
Normal file
BIN
src/resources/darwin/default.icns
Normal file
BIN
src/resources/darwin/html.icns
Normal file
BIN
src/resources/darwin/jade.icns
Normal file
BIN
src/resources/darwin/java.icns
Normal file
BIN
src/resources/darwin/javascript.icns
Normal file
BIN
src/resources/darwin/json.icns
Normal file
BIN
src/resources/darwin/less.icns
Normal file
BIN
src/resources/darwin/markdown.icns
Normal file
BIN
src/resources/darwin/php.icns
Normal file
BIN
src/resources/darwin/powershell.icns
Normal file
BIN
src/resources/darwin/python.icns
Normal file
BIN
src/resources/darwin/react.icns
Normal file
BIN
src/resources/darwin/ruby.icns
Normal file
BIN
src/resources/darwin/sass.icns
Normal file
BIN
src/resources/darwin/shell.icns
Normal file
BIN
src/resources/darwin/sql.icns
Normal file
BIN
src/resources/darwin/typescript.icns
Normal file
BIN
src/resources/darwin/vue.icns
Normal file
BIN
src/resources/darwin/xml.icns
Normal file
BIN
src/resources/darwin/yaml.icns
Normal file
BIN
src/resources/linux/code.png
Normal file
|
After Width: | Height: | Size: 227 KiB |
4341
src/resources/linux/rpm/code.xpm
Normal file
BIN
src/resources/win32/bower.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/c.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/code.ico
Normal file
|
After Width: | Height: | Size: 335 KiB |
BIN
src/resources/win32/code_150x150.png
Normal file
|
After Width: | Height: | Size: 9.3 KiB |
BIN
src/resources/win32/code_70x70.png
Executable file
|
After Width: | Height: | Size: 9.7 KiB |
BIN
src/resources/win32/config.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/cpp.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/csharp.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/css.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/default.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/go.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/html.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/inno-big.bmp
Normal file
|
After Width: | Height: | Size: 201 KiB |
BIN
src/resources/win32/inno-small.bmp
Normal file
|
After Width: | Height: | Size: 13 KiB |
BIN
src/resources/win32/jade.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/java.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/javascript.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/json.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/less.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/markdown.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/php.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/powershell.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/python.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/react.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/ruby.png.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/shell.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/sql.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/typescript.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/vue.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/xml.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
BIN
src/resources/win32/yaml.ico
Normal file
|
After Width: | Height: | Size: 361 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 8.7 KiB |
|
After Width: | Height: | Size: 8.7 KiB |
26
src/src/vs/workbench/contrib/welcome/code-icon.svg
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
39
sum.sh
Executable file
@@ -0,0 +1,39 @@
|
||||
#!/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
|
||||
|
||||
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
|
||||
fi
|
||||
}
|
||||
|
||||
if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
sum_file VSCodium-darwin-*.zip
|
||||
sum_file VSCodium*.dmg
|
||||
elif [[ "$CI_WINDOWS" == "True" ]]; then
|
||||
sum_file VSCodiumSetup-*.exe
|
||||
sum_file VSCodiumUserSetup-*.exe
|
||||
sum_file VSCodium-win32-*.zip
|
||||
else # linux
|
||||
sum_file vscode/out/*.AppImage
|
||||
sum_file VSCodium-linux*.tar.gz
|
||||
sum_file vscode/.build/linux/deb/amd64/deb/*.deb
|
||||
sum_file vscode/.build/linux/rpm/x86_64/*.rpm
|
||||
|
||||
cp vscode/out/*.{sha256,sha1} .
|
||||
cp vscode/.build/linux/deb/amd64/deb/*.{sha256,sha1} .
|
||||
cp vscode/.build/linux/rpm/x86_64/*.{sha256,sha1} .
|
||||
fi
|
||||
fi
|
||||
7
trigger-azure.sh
Executable file
@@ -0,0 +1,7 @@
|
||||
if [ "$AZURE_TOKEN" != "" ]; then
|
||||
if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
curl -X POST -H "Content-Type: application/json" -H "Authorization: Basic $AZURE_TOKEN" -d '{"definition":{"id":1}}' https://dev.azure.com/VSCodium/vscodium/_apis/build/builds?api-version=5.0-preview.5
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
10
undo_telemetry.sh
Executable file
@@ -0,0 +1,10 @@
|
||||
# dc.services.visualstudio.com
|
||||
# vortex.data.microsoft.com
|
||||
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
|
||||
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
|
||||
fi
|
||||
49
update_settings.sh
Executable file
@@ -0,0 +1,49 @@
|
||||
DEFAULT_TRUE="'default': true"
|
||||
DEFAULT_FALSE="'default': false"
|
||||
TELEMETRY_ENABLE="'telemetry.enableTelemetry':"
|
||||
TELEMETRY_CRASH_REPORTER="'telemetry.enableCrashReporter':"
|
||||
|
||||
replace () {
|
||||
echo $1
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
sed -i '' -E "$1" $2
|
||||
else
|
||||
sed -i -E "$1" $2
|
||||
fi
|
||||
}
|
||||
|
||||
update_setting () {
|
||||
local FILENAME="$2"
|
||||
# check that the file exists
|
||||
if [ ! -f $FILENAME ]; then
|
||||
echo "File to update setting in does not exist ${FILENAME}"
|
||||
return
|
||||
fi
|
||||
|
||||
# go through lines of file, looking for block that contains setting
|
||||
local SETTING="$1"
|
||||
local LINE_NUM=0
|
||||
while read -r line; do
|
||||
local LINE_NUM=$(( $LINE_NUM + 1 ))
|
||||
if [[ $line == *"$SETTING"* ]]; then
|
||||
local IN_SETTING=1
|
||||
fi
|
||||
if [[ $line == *"$DEFAULT_TRUE"* && "$IN_SETTING" == "1" ]]; then
|
||||
local FOUND=1
|
||||
break
|
||||
fi
|
||||
done < $FILENAME
|
||||
|
||||
if [[ "$FOUND" != "1" ]]; then
|
||||
echo "$DEFAULT_TRUE not found for setting $SETTING in file $FILENAME"
|
||||
return
|
||||
fi
|
||||
|
||||
# construct line-aware replacement string
|
||||
local DEFAULT_TRUE_TO_FALSE="${LINE_NUM}s/${DEFAULT_TRUE}/${DEFAULT_FALSE}/"
|
||||
|
||||
replace "$DEFAULT_TRUE_TO_FALSE" $FILENAME
|
||||
}
|
||||
|
||||
update_setting "$TELEMETRY_ENABLE" src/vs/platform/telemetry/common/telemetryService.ts
|
||||
update_setting "$TELEMETRY_CRASH_REPORTER" src/vs/workbench/electron-browser/main.contribution.ts
|
||||
143
update_version.sh
Executable file
@@ -0,0 +1,143 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ "$SHOULD_BUILD" != "yes" ]]; then
|
||||
echo "Will not update version JSON because we did not build"
|
||||
exit
|
||||
fi
|
||||
|
||||
# {
|
||||
# "url": "https://az764295.vo.msecnd.net/stable/51b0b28134d51361cf996d2f0a1c698247aeabd8/VSCode-darwin-stable.zip",
|
||||
# "name": "1.33.1",
|
||||
# "version": "51b0b28134d51361cf996d2f0a1c698247aeabd8",
|
||||
# "productVersion": "1.33.1",
|
||||
# "hash": "cb4109f196d23b9d1e8646ce43145c5bb62f55a8",
|
||||
# "timestamp": 1554971059007,
|
||||
# "sha256hash": "ac2a1c8772501732cd5ff539a04bb4dc566b58b8528609d2b34bbf970d08cf01"
|
||||
# }
|
||||
|
||||
# `url` is URL_BASE + filename of asset e.g.
|
||||
# darwin: https://github.com/VSCodium/vscodium/releases/download/${LATEST_MS_TAG}/VSCodium-darwin-${LATEST_MS_TAG}.zip
|
||||
# `name` is $LATEST_MS_TAG
|
||||
# `version` is $LATEST_MS_COMMIT
|
||||
# `productVersion` is $LATEST_MS_TAG
|
||||
# `hash` in <filename>.sha1
|
||||
# `timestamp` is $(node -e 'console.log(Date.now())')
|
||||
# `sha256hash` in <filename>.sha256
|
||||
|
||||
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
|
||||
|
||||
# generateJson <assetName>
|
||||
# e.g. generateJson VSCodium-darwin-1.33.0.zip
|
||||
generateJson() {
|
||||
local assetName=$1
|
||||
|
||||
# generate parts
|
||||
local url=${URL_BASE}/${assetName}
|
||||
local name=$LATEST_MS_TAG
|
||||
local version=$LATEST_MS_COMMIT
|
||||
local productVersion=$LATEST_MS_TAG
|
||||
local timestamp=$(node -e 'console.log(Date.now())')
|
||||
|
||||
local sha1hash=$(cat ${assetName}.sha1 | awk '{ print $1 }')
|
||||
local sha256hash=$(cat ${assetName}.sha256 | awk '{ print $1 }')
|
||||
|
||||
# check that nothing is blank (blank indicates something awry with build)
|
||||
for key in url name version productVersion sha1hash timestamp sha256hash; do
|
||||
if [[ "${!key}" == "" ]]; then
|
||||
echo "Missing data for version update; exiting..."
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# generate json
|
||||
local json=$(jq \
|
||||
--arg url "${url}" \
|
||||
--arg name "${name}" \
|
||||
--arg version "${version}" \
|
||||
--arg productVersion "${productVersion}" \
|
||||
--arg hash "${sha1hash}" \
|
||||
--arg timestamp "${timestamp}" \
|
||||
--arg sha256hash "${sha256hash}" \
|
||||
'. | .url=$url | .name=$name | .version=$version | .productVersion=$productVersion | .hash=$hash | .timestamp=$timestamp | .sha256hash=$sha256hash' \
|
||||
<<<'{}')
|
||||
|
||||
echo "$json"
|
||||
}
|
||||
|
||||
updateLatestVersion() {
|
||||
cd versions
|
||||
|
||||
local versionPath=$1
|
||||
local json=$2
|
||||
|
||||
# create/update the latest.json file in the correct location
|
||||
mkdir -p $versionPath
|
||||
echo $json > $versionPath/latest.json
|
||||
|
||||
cd ..
|
||||
}
|
||||
|
||||
# init versions repo for later commiting + pushing the json file to it
|
||||
# thank you https://www.vinaygopinath.me/blog/tech/commit-to-master-branch-on-github-using-travis-ci/
|
||||
git clone https://github.com/${VERSIONS_REPO}.git
|
||||
cd versions
|
||||
git config user.email "travis@travis-ci.org"
|
||||
git config user.name "Travis CI"
|
||||
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
|
||||
# zip, sha1, and sha256 files are all at top level dir
|
||||
ASSET_NAME=VSCodium-darwin-${LATEST_MS_TAG}.zip
|
||||
VERSION_PATH="darwin"
|
||||
JSON="$(generateJson ${ASSET_NAME})"
|
||||
updateLatestVersion "$VERSION_PATH" "$JSON"
|
||||
elif [[ "$CI_WINDOWS" == "True" ]]; then
|
||||
# windows update service supports user and archive types
|
||||
# so we will run the commands twice
|
||||
|
||||
# user installer
|
||||
ASSET_NAME=VSCodiumUserSetup-${BUILDARCH}-${LATEST_MS_TAG}.exe
|
||||
VERSION_PATH="win32/${BUILDARCH}/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"
|
||||
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}"
|
||||
JSON="$(generateJson ${ASSET_NAME})"
|
||||
updateLatestVersion "$VERSION_PATH" "$JSON"
|
||||
fi
|
||||
|
||||
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)"
|
||||
if ! git push origin master --quiet; then
|
||||
git pull origin master
|
||||
git push origin master --quiet
|
||||
fi
|
||||
|
||||
cd ..
|
||||
69
win32-build.yml
Normal file
@@ -0,0 +1,69 @@
|
||||
steps:
|
||||
- task: NodeTool@0
|
||||
inputs:
|
||||
versionSpec: '10.x'
|
||||
- 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)
|
||||