Compare commits

...

50 Commits

Author SHA1 Message Date
Peter Squicciarini
1b421c701c Merge pull request #70 from stripedpajamas/master
Correct GH token logic for Windows builds
2018-12-22 17:16:29 -05:00
Peter Squicciarini
85da65c0b0 Add null check for GH token 2018-12-22 17:14:08 -05:00
Peter Squicciarini
1633faf377 Recorrect GH token logic 2018-12-22 17:10:55 -05:00
Peter Squicciarini
2564115929 Correct GH token logic 2018-12-22 17:09:36 -05:00
Peter Squicciarini
dd6e08a285 Merge pull request #69 from stripedpajamas/master
Add logging when GH token doesn't exist in Windows build
2018-12-22 17:06:16 -05:00
Peter Squicciarini
b5df7d5af8 Add logging when GH token doesn't exist in Windows build 2018-12-22 17:03:27 -05:00
Peter Squicciarini
8959faeca9 Merge pull request #64 from stripedpajamas/master
Add logo to README
2018-12-11 13:34:54 -05:00
Peter Squicciarini
7391746c6b Add title 2018-12-09 20:05:15 -05:00
Peter Squicciarini
833fcec1e8 Fix badges 2018-12-09 20:04:18 -05:00
Peter Squicciarini
576145f38e Update README.md 2018-12-09 20:03:10 -05:00
Peter Squicciarini
c1dd804250 Add Azure badge 2018-12-03 14:39:06 -05:00
Peter Squicciarini
83cfe077ee Cleanup Windows build process (#62) 2018-12-03 14:16:48 -05:00
Peter Squicciarini
a3129e3f57 Merge pull request #61 from pavanagrawal123/patch-1
Update Readme to show Windows builds are ready
2018-12-03 09:24:10 -05:00
Pavan Agrawal
dfa09d149e Update Readme to show Windows builds are ready 2018-12-02 23:02:24 -06:00
Pavan Agrawal
098cab67bd Windows builds with Azure Pipelines (#58) 2018-11-27 09:19:34 -05:00
Peter Squicciarini
dc649ff259 Add gitter badge 2018-11-22 09:08:28 -05:00
Peter Squicciarini
d408fcc060 Use latest yarn (#57) 2018-11-13 11:58:05 -05:00
Peter Squicciarini
0f3bba8d9f Merge pull request #55 from stripedpajamas/fix-big-darwin
Fix big darwin file
2018-11-13 10:08:02 -05:00
Peter Squicciarini
213baf8651 Add -X -y to zip command 2018-10-30 10:54:21 -04:00
Peter Squicciarini
5f035559e5 Merge pull request #53 from stripedpajamas/terminal-support-docs
Add section for vscodium terminal support
2018-10-25 05:36:47 -04:00
Peter Squicciarini
58823c7ad8 Add section for vscodium terminal support 2018-10-24 15:34:23 -04:00
Peter Squicciarini
f4a46d1c7b Merge pull request #52 from stripedpajamas/docs
Separate out more technical docs into DOCS.md
Closes #50
2018-10-24 15:05:03 -04:00
Peter Squicciarini
bfcfedb1e8 Separate out more technical docs into DOCS.md 2018-10-24 10:34:20 -04:00
Joel Wasserman
74d06bf01d Change default telemetry settings to disabled (#46)
Closes #44
2018-10-19 11:38:43 -04:00
Peter Squicciarini
a541390984 Merge pull request #49 from tynx/patch-1
Add jq dependency
2018-10-16 09:45:30 -04:00
tynx
da0eaa5d45 adding missing dependency jq
While using the script I realized that the package jq was missing
2018-10-15 23:49:22 +02:00
Peter Squicciarini
008aacc81e Merge pull request #43 from paulcarroty/patch-1
add info about automatic updates for Linux
2018-10-13 08:59:43 -04:00
Pavlo Rudyi
ed99748de8 add info about automatic updates for Linux 2018-10-13 10:10:51 +00:00
Peter Squicciarini
b40a02dc7f Add code of conduct 2018-10-12 09:22:40 -04:00
Peter Squicciarini
bc41a76bd0 Remove arm64 from build matrix 2018-10-11 14:46:14 -04:00
Peter Squicciarini
c84850f967 Remove ARM readme update 2018-10-11 14:44:11 -04:00
Peter Squicciarini
b407087e57 Add arm64 to supported section in README 2018-10-11 13:26:52 -04:00
Peter Squicciarini
b5b89730a4 Merge pull request #39 from fzerorubigd/master
Do not hard code the repository
Fixes #37
2018-10-11 11:57:38 -04:00
fzerorubigd
225fbb2dea do not hard code the repository
fixes #37
2018-10-11 17:43:47 +02:00
Peter Squicciarini
344541b8fe Add package manager instructions (#38)
Closes #34 
Closes #5 
Closes #1
2018-10-11 11:39:51 -04:00
christophe larsonneur
d3373b16e8 New OSS icon (#25)
Thanks to @jaredreich @Jorgeelalto @clarsonneur 

Closes #4
2018-10-11 09:02:11 -04:00
Victor Javier
c1bdb38d45 arm64 support (#35)
* Add arm64 build support thanks to @435vic
2018-10-10 11:20:56 -04:00
Peter Squicciarini
dc75d7df46 Remove badge from README 2018-10-06 22:05:32 -04:00
Peter Squicciarini
f805d740bb Undo telemetry before build (#27)
Closes #26 

* Undo telemetry before build

* Update README to clarify telemetry disabling process
2018-10-05 09:43:05 -04:00
Peter Squicciarini
ae47b31091 32 bit builds (#32)
* Support 32-bit Linux builds

* Update README and correct scripts

* Use npm run instead of npx
2018-10-04 18:05:05 -04:00
Peter Squicciarini
1a85464271 Merge pull request #30 from VSCodium/32-bit-readme
Typo regarding 32-bit
2018-10-03 14:38:58 -04:00
Peter Squicciarini
6346d7f6bb Typo regarding 32-bit 2018-10-03 14:14:54 -04:00
Peter Squicciarini
cc9e2c6dec Update README.md
Add badges for build/version/downloads/license
2018-09-21 20:49:52 -04:00
Peter Squicciarini
8a561e165d Don't let MS add their apt repo to the system (#24)
Fixes #23
2018-09-21 20:26:52 -04:00
Peter Squicciarini
fec74ec8ce Update README.md to make downloaded files more clear 2018-09-20 12:32:28 -04:00
Ruslan Gainutdinov
606d3f8ff2 If vscode exists, fetch updates (#19) 2018-09-20 09:32:49 -04:00
Peter Squicciarini
2bf10dde0c Update README
Moved things around, added ToC, clarified instructions for migration, fleshed out Why section.
Include maintainer comment and explicitly state that we do not pass the telemetry flag
Fixes #15
2018-09-18 16:05:31 -04:00
Peter Squicciarini
a9b42f5af4 Update README.md to include brew cask instructions
Close #9
2018-09-13 09:42:41 -04:00
Peter Squicciarini
56bce30b73 Update README.md 2018-09-12 20:55:04 -04:00
Peter Squicciarini
ee1cf86ff7 Rename app to VSCodium (#12) 2018-09-10 16:18:00 -04:00
75 changed files with 4778 additions and 43 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
vscode
VS*/*

View File

@@ -2,12 +2,20 @@ matrix:
include:
- os: linux
sudo: required
- os: linux
sudo: required
env: BUILDARCH=ia32
# - os: linux
# sudo: required
# env: BUILDARCH=arm64
- os: osx
language: node_js
node_js: "8"
before_install:
- curl -o- -L https://yarnpkg.com/install.sh | bash
- export PATH="$HOME/.yarn/bin:$PATH"
- ./install_deps.sh
- . get_repo.sh
- . check_tags.sh
@@ -21,13 +29,18 @@ before_deploy:
deploy:
provider: releases
skip_cleanup: true
overwrite: true
name: $LATEST_MS_TAG
api_key: $GITHUB_TOKEN
file_glob: true
file:
- ./*.zip
- ./*.tar.gz
- 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
on:
all_branches: true
condition: $SHOULD_BUILD = yes

46
CODE_OF_CONDUCT.md Normal file
View 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/

69
DOCS.md Normal file
View File

@@ -0,0 +1,69 @@
# 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 press and hold a key and have it repeat in VSCodium?](#press-and-hold)
- [How do I open VSCodium from the terminal?](#terminal-support)
## <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)
## <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="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 'vscodium' command in PATH`.
![](https://user-images.githubusercontent.com/2707340/45751224-bd21a500-bbdf-11e8-8fb7-b645b97aae49.png)
This allows you to open files or directories in VSCodium directly from your terminal:
```bash
~/in-my-project $ vscodium . # open this directory
~/in-my-project $ vscodium file.txt # open this file
```
Feel free to alias this command to something easier to type in your shell profile (e.g. `alias code=vscodium`).

View File

@@ -1,15 +1,74 @@
## 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>
<div id="badges" align="center">
[![current release](https://img.shields.io/github/release/vscodium/vscodium.svg)](https://github.com/vscodium/vscodium/releases)
[![windows_build_status](https://dev.azure.com/vscodium/VSCodium/_apis/build/status/VSCodium.vscodium?branchName=master)](https://dev.azure.com/vscodium/VSCodium/_build?definitionId=1)
[![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)
</div>
## Table of Contents
- [Download/Install](#download-install)
- [Install with Brew](#install-with-brew)
- [Install with Package Manager](#install-with-package-manager)
- [Why Does This Exist](#why)
- [More Info](#more-info)
- [Supported OS](#supported-os)
## <a id="download-install"></a>Download/Install
:tada: :tada: [Download latest release here](https://github.com/VSCodium/vscodium/releases) :tada: :tada:
#### <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: if you see "App cant be opened because it is from an unidentified developer" 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 a Mac._
#### <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="why"></a>Why Does This Exist
This repository contains a build file to generate FLOSS release binaries of Microsoft's VSCode.
[Download binaries here](https://github.com/VSCodium/vscodium/releases)
Microsoft's downloads of Visual Studio Code are licensed under [this not-FLOSS license](https://code.visualstudio.com/license) and contain telemetry/tracking. According to [this comment](https://github.com/Microsoft/vscode/issues/60#issuecomment-161792005) from a Visual Studio Code maintainer:
Microsoft's 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.
> 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
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 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 enabled by a build flag which we do not pass.__
### 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:
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.
## License
MIT
Microsoft's build process 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
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.
## <a id="supported-os"></a>Supported OS
- [x] OSX x64 (zipped app file)
- [x] Linux x64 (`.deb`, `.rpm`, and `.tar.gz` files)
- [x] Linux x86 (`.deb`, `.rpm`, and `.tar.gz` files)
- [X] Windows
The ARM architecture is not currently supported but is actively being worked on.
## <a id="license"></a>License
MIT

59
azure-pipelines.yml Normal file
View File

@@ -0,0 +1,59 @@
pool:
vmImage: 'vs2017-win2016'
steps:
- 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_TAG="$(git -C vscode describe --tags)"
Write-Host "##vso[task.setvariable variable=LATEST_MS_TAG]$LATEST_MS_TAG"
displayName: 'set env LATEST_MS_TAG'
- 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-x64\\system-setup\\VSCodeSetup.exe VSCodiumSetup-x64-${LATEST_MS_TAG}.exe; fi
displayName: 'move the system setup'
- bash: |
if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-x64\\user-setup\\VSCodeSetup.exe VSCodiumUserSetup-x64-${LATEST_MS_TAG}.exe; fi
displayName: 'move the user setup'
- bash: |
if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-x64\\archive\\VSCode-win32-x64.zip VSCodium-win32-x64-${LATEST_MS_TAG}.zip; fi
displayName: 'move the zip folder'
- task: PublishBuildArtifacts@1
displayName: 'Publish artifacts: system-setup'
condition: eq(variables['SHOULD_BUILD'], 'yes')
inputs:
PathtoPublish: 'VSCodiumSetup-x64-$(LATEST_MS_TAG).exe'
ArtifactName: 'system_setup'
- task: PublishBuildArtifacts@1
displayName: 'Publish artifacts: user-setup'
condition: eq(variables['SHOULD_BUILD'], 'yes')
inputs:
PathtoPublish: 'VSCodiumUserSetup-x64-$(LATEST_MS_TAG).exe'
ArtifactName: 'user_setup'
- task: PublishBuildArtifacts@1
displayName: 'Publish artifacts: archive'
condition: eq(variables['SHOULD_BUILD'], 'yes')
inputs:
PathtoPublish: 'VSCodium-win32-x64-$(LATEST_MS_TAG).zip'
ArtifactName: 'archive'

View File

@@ -1,20 +1,52 @@
#!/bin/bash
if [[ "$SHOULD_BUILD" == "yes" ]]; then
cp -rp src/* vscode/
cd vscode
if [[ "$BUILDARCH" == "ia32" ]]; then
export npm_config_arch=ia32
fi
../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
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"}) | setpath(["nameShort"]; "VSCodium") | setpath(["nameLong"]; "VSCodium") | setpath(["applicationName"]; "vscodium") | setpath(["win32MutexName"]; "vscodium") | setpath(["win32DirName"]; "VSCodium") | setpath(["win32NameVersion"]; "VSCodium") | setpath(["win32RegValueName"]; "VSCodium") | setpath(["win32AppUserModelId"]; "Microsoft.VSCodium") | setpath(["win32ShellNameShort"]; "V&SCodium") | setpath(["urlProtocol"]; "vscodium")' > 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/vscodium/" resources/linux/debian/postinst.template
fi
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
npx gulp vscode-darwin-min
npm run gulp vscode-darwin-min
elif [[ "$BUILDARCH" == "ia32" ]]; then
npm run gulp vscode-linux-ia32-min
npm run gulp vscode-linux-ia32-build-deb
npm run gulp vscode-linux-ia32-build-rpm
unset npm_config_arch
elif [[ "$BUILDARCH" == "arm64" ]]; then
npm run gulp vscode-linux-arm64-min
npm run gulp vscode-linux-arm64-build-deb
# npm run gulp vscode-linux-arm64-build-rpm
elif [[ "$CI_WINDOWS" == "True" ]]; then
npx gulp vscode-win32-x64-min
npx gulp vscode-win32-x64-copy-inno-updater
npx gulp vscode-win32-x64-inno-updater
npx gulp vscode-win32-x64-system-setup
npx gulp vscode-win32-x64-user-setup
npx gulp vscode-win32-x64-archive
else
npx gulp vscode-linux-x64-min
npx gulp vscode-linux-x64-build-deb
npx gulp vscode-linux-x64-build-rpm
fi
npm run gulp vscode-linux-x64-min
npm run gulp vscode-linux-x64-build-deb
npm run gulp vscode-linux-x64-build-rpm
fi
cd ..
fi
fi

34
check_tags.ps1 Normal file
View File

@@ -0,0 +1,34 @@
echo "tag: $env:LATEST_MS_TAG"
$GITHUB_RESPONSE = curl.exe -s -H "Authorization: token $env:MAPPED_GITHUB_TOKEN" "https://api.github.com/repos/vscodium/vscodium/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) {
echo "Release assets do not exist at all, continuing build"
$SHOULD_BUILD = 'yes'
}
$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"

View File

@@ -1,6 +1,7 @@
#!/bin/bash
GITHUB_RESPONSE=$(curl -s -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/repos/vscodium/vscodium/releases/tags/$LATEST_MS_TAG)
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}"
@@ -14,37 +15,75 @@ if [ "$GITHUB_TOKEN" != "" ]; then
echo "Building on Mac because we have no ZIP"
export SHOULD_BUILD="yes"
fi
else
HAVE_RPM=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["rpm"])')
HAVE_DEB=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["deb"])')
HAVE_TAR=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["tar.gz"])')
if [[ "$HAVE_RPM" != "true" ]]; then
echo "Building on Linux because we have no RPM"
elif [[ $BUILDARCH == "ia32" ]]; then
HAVE_IA32_RPM=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["i386.rpm"])')
HAVE_IA32_DEB=$(echo $VSCODIUM_ASSETS | jq 'map(.name) | contains(["i386.deb"])')
HAVE_IA32_TAR=$(echo $VSCODIUM_ASSETS | jq --arg suffix "ia32-$LATEST_MS_TAG.tar.gz" 'map(.name) | contains([$suffix])')
if [[ "$HAVE_IA32_RPM" != "true" ]]; then
echo "Building on Linux ia32 because we have no RPM"
export SHOULD_BUILD="yes"
fi
if [[ "$HAVE_DEB" != "true" ]]; then
echo "Building on Linux because we have no DEB"
if [[ "$HAVE_IA32_DEB" != "true" ]]; then
echo "Building on Linux ia32 because we have no DEB"
export SHOULD_BUILD="yes"
fi
if [[ "$HAVE_TAR" != "true" ]]; then
echo "Building on Linux because we have no TAR"
if [[ "$HAVE_IA32_TAR" != "true" ]]; then
echo "Building on Linux ia32 because we have no TAR"
export SHOULD_BUILD="yes"
fi
if [[ "$SHOULD_BUILD" != "yes" ]]; then
echo "Already have all the Linux builds"
echo "Already have all the Linux ia32 builds"
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"
if git rev-parse $LATEST_MS_TAG >/dev/null 2>&1
then
export TRAVIS_TAG=$LATEST_MS_TAG
else
git config --local user.name "Travis CI"
git config --local user.email "builds@travis-ci.com"
git tag $LATEST_MS_TAG
fi
fi
if git rev-parse $LATEST_MS_TAG >/dev/null 2>&1
then
export TRAVIS_TAG=$LATEST_MS_TAG
else
git config --local user.name "Travis CI"
git config --local user.email "builds@travis-ci.com"
git tag $LATEST_MS_TAG
fi
fi

View File

@@ -3,7 +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 ../VSCode-darwin-${LATEST_MS_TAG}.zip ./*
elif [[ "$BUILDARCH" == "ia32" ]]; then
cd VSCode-linux-ia32
tar czf ../VSCode-linux-ia32-${LATEST_MS_TAG}.tar.gz .
elif [[ "$BUILDARCH" == "arm64" ]]; then
cd VSCode-linux-arm64
tar czf ../VSCode-linux-arm64-${LATEST_MS_TAG}.tar.gz .
else
cd VSCode-linux-x64
tar czf ../VSCode-linux-x64-${LATEST_MS_TAG}.tar.gz .

View File

@@ -1,8 +1,14 @@
#!/bin/bash
git clone https://github.com/Microsoft/vscode.git
cd vscode
if [ -d vscode ]; then
cd vscode
git fetch --all
else
git clone https://github.com/Microsoft/vscode.git
cd vscode
fi
export LATEST_MS_TAG=$(git describe --tags `git rev-list --tags --max-count=1`)
echo "Got the latest MS tag: ${LATEST_MS_TAG}"
git checkout $LATEST_MS_TAG
cd ..
cd ..

View File

@@ -2,9 +2,19 @@
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew update
brew install yarn --without-node
brew install jq zip
else
sudo apt-get update
sudo apt-get install libx11-dev libxkbfile-dev libsecret-1-dev fakeroot rpm
fi
sudo apt-get install libx11-dev libxkbfile-dev libsecret-1-dev fakeroot rpm jq
if [[ "$BUILDARCH" == "ia32" ]]; then
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6-dev-i386 gcc-multilib g++-multilib
sudo apt-get install libx11-dev:i386 libxkbfile-dev:i386
elif [[ $BUILDARCH == "arm64" ]]; then
# Use the default C / C++ compilers,
# because some makefiles default to CC:=gcc:
export CC=/usr/bin/cc
export CXX=/usr/bin/c++
fi
fi

Binary file not shown.

Binary file not shown.

BIN
src/resources/darwin/c.icns Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 KiB

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

BIN
src/resources/win32/c.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

BIN
src/resources/win32/cpp.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

BIN
src/resources/win32/css.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

BIN
src/resources/win32/go.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

BIN
src/resources/win32/php.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

BIN
src/resources/win32/sql.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

BIN
src/resources/win32/vue.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

BIN
src/resources/win32/xml.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

10
undo_telemetry.sh Executable file
View 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

9
update_settings.sh Executable file
View File

@@ -0,0 +1,9 @@
REPLACEMENT="s/'default': true/'default': false/"
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
sed -i '' -E "$REPLACEMENT" src/vs/platform/telemetry/common/telemetryService.ts
sed -i '' -E "$REPLACEMENT" src/vs/workbench/services/crashReporter/electron-browser/crashReporterService.ts
else
sed -i -E "$REPLACEMENT" src/vs/platform/telemetry/common/telemetryService.ts
sed -i -E "$REPLACEMENT" src/vs/workbench/services/crashReporter/electron-browser/crashReporterService.ts
fi