Compare commits

...

40 Commits

Author SHA1 Message Date
Peter Squicciarini
0f3afe4cba Merge pull request #94 from stripedpajamas/win-license
Copy license file to LICENSE.rtf for Windows builds
2019-03-18 19:00:00 -07:00
Peter Squicciarini
562f4d484f Copy license file to LICENSE.rtf for Windows builds 2019-03-18 18:24:43 -07:00
Peter Squicciarini
cf4adbf6f8 Update build.sh
Windows builds were not using the npm gulp script which allows for a bigger heap
2019-03-11 13:37:57 -04:00
Peter Squicciarini
b8a1f7c979 Merge pull request #89 from VSCodium/flatpak
Add note about flatpak
2019-03-07 13:33:03 -05:00
Peter Squicciarini
34953d11f3 Update README
Add note about flatpak
2019-03-07 09:49:16 -05:00
Peter Squicciarini
ab7d14add8 Merge pull request #56 from JL2210/fix-arm64-build
arm64 build cleanup
2019-03-02 07:01:22 -05:00
Peter Squicciarini
4fe1ea6727 Merge branch 'master' into fix-arm64-build 2019-03-01 15:56:01 -05:00
Peter Squicciarini
a61e56c152 Merge pull request #87 from stripedpajamas/update-docs
Add workaround docs for C# extension woes
2019-02-21 10:56:31 -05:00
Peter Squicciarini
a02839b466 Add workaround for C# extension woes 2019-02-20 15:23:26 -05:00
Peter Squicciarini
890377a893 Merge pull request #86 from stripedpajamas/update-docs
Update DOCS.md to include link to workaround for code-settings-sync
2019-02-19 20:39:13 -05:00
Peter Squicciarini
e95b3f0732 Update DOCS.md to include link to workaround for code-settings-sync 2019-02-19 15:59:29 -05:00
Peter Squicciarini
c38cc161c0 Fix linux 32 bit builds (#85)
* Correct Linux 32-bit dependency installation
2019-02-14 19:40:11 -05:00
Peter Squicciarini
4cf7166a48 Merge pull request #81 from stripedpajamas/fix-azure-node
Specify node version 8.x (Azure)
2019-02-09 07:49:01 -05:00
Peter Squicciarini
f5bb3f6007 Specify node version 8.x 2019-02-09 07:40:42 -05:00
Peter Squicciarini
a1596e9820 Merge pull request #79 from stripedpajamas/trigger-azure
Add script to trigger Azure pipelines build
2019-01-24 14:01:19 -05:00
Peter Squicciarini
3ccdd1171d Add script to trigger Azure pipelines build 2019-01-23 17:01:32 -05:00
Peter Squicciarini
4dbc77dbba Merge pull request #78 from VSCodium/chocolatey-readme-update
Add choco installation instructions
2019-01-16 15:16:21 -05:00
Peter Squicciarini
1991d1af61 Add choco installation instructions 2019-01-15 12:55:36 -05:00
Peter Squicciarini
56cce9d14c Merge pull request #77 from stripedpajamas/name-tar-zip
Use VSCodium in name of zip/tar
2019-01-11 08:53:19 -05:00
Peter Squicciarini
cf28585423 Use VSCodium in name of zip/tar 2019-01-10 14:55:28 -05:00
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
JL2210
8096387e74 Merge branch 'master' of https://github.com/VSCodium/vscodium into fix-arm64-build 2018-11-28 08:15:23 -05: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
JL2210
7b764d5c5b export npm_config_target_arch instead of npm_config_arch on arm64 2018-11-05 10:32:51 -05:00
JL2210
31ad142664 Fix broken package name 2018-11-04 16:26:54 -05:00
JL2210
a4ea6d60a4 Fix arm64 build 2018-11-04 16:05:53 -05:00
10 changed files with 190 additions and 28 deletions

1
.gitignore vendored
View File

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

View File

@@ -5,9 +5,9 @@ matrix:
- os: linux
sudo: required
env: BUILDARCH=ia32
# - os: linux
# sudo: required
# env: BUILDARCH=arm64
- os: linux
sudo: required
env: BUILDARCH=arm64
- os: osx
language: node_js
@@ -16,12 +16,13 @@ node_js: "8"
before_install:
- curl -o- -L https://yarnpkg.com/install.sh | bash
- export PATH="$HOME/.yarn/bin:$PATH"
- ./install_deps.sh
- . install_deps.sh
- . get_repo.sh
- . check_tags.sh
script:
- ./build.sh
- ./trigger-azure.sh
before_deploy:
- ./create_zip.sh

View File

@@ -28,6 +28,13 @@ _(For example the C# extension `ms-vscode.csharp` sends tracking data to Microso
## <a id="extensions-marketplace"></a>Extensions + Marketplace
Until something more open comes around, we use the Microsoft Marketplace/Extensions in the `product.json` file. Those links are licensed under MIT as per [the comments on this issue.](https://github.com/Microsoft/vscode/issues/31168#issuecomment-317319063)
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`.

View File

@@ -1,14 +1,26 @@
# 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>
### Free/Libre Open Source Software Binaries of VSCode
<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)
[![current release](https://img.shields.io/github/release/vscodium/vscodium.svg)](https://github.com/vscodium/vscodium/releases)
[![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 Chocolatey](#install-with-choco)
- [Install with Package Manager](#install-with-package-manager)
- [Flatpak Option](#flatpak)
- [Why Does This Exist](#why)
- [More Info](#more-info)
- [Supported OS](#supported-os)
@@ -24,9 +36,18 @@ 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-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-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="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 a build file to generate FLOSS release binaries of Microsoft's VSCode.
@@ -56,8 +77,7 @@ For more information on getting all the telemetry disabled and tips for migratin
- [x] OSX x64 (zipped app file)
- [x] Linux x64 (`.deb`, `.rpm`, and `.tar.gz` files)
- [x] Linux x86 (`.deb`, `.rpm`, and `.tar.gz` files)
- [ ] Windows
- The plan is to build the Windows executable with [AppVeyor](https://appveyor.com). PRs are welcome :blue_heart:
- [X] Windows
The ARM architecture is not currently supported but is actively being worked on.

62
azure-pipelines.yml Normal file
View File

@@ -0,0 +1,62 @@
pool:
vmImage: 'vs2017-win2016'
steps:
- task: NodeTool@0
inputs:
versionSpec: '8.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_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,13 +1,17 @@
#!/bin/bash
if [[ "$SHOULD_BUILD" == "yes" ]]; then
cp -rp src/* vscode/
cd vscode
if [[ "$BUILDARCH" == "ia32" ]]; then
export npm_config_arch=ia32
export npm_config_target_arch=ia32
fi
if [[ "$BUILDARCH" == "arm64" ]]; then
export npm_config_arch=arm64
export npm_config_target_arch=arm64
fi
../update_settings.sh
yarn
@@ -18,28 +22,37 @@ if [[ "$SHOULD_BUILD" == "yes" ]]; then
export NODE_ENV=production
if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then
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
fi
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
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
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
cp LICENSE.txt LICENSE.rtf # windows build expects rtf license
npm run gulp vscode-win32-x64-min
npm run gulp vscode-win32-x64-inno-updater
npm run gulp vscode-win32-x64-system-setup
npm run gulp vscode-win32-x64-user-setup
npm run gulp vscode-win32-x64-archive
else
npm run gulp vscode-linux-x64-min
npm run gulp vscode-linux-x64-build-deb
npm run gulp vscode-linux-x64-build-rpm
fi
fi
cd ..
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

@@ -3,16 +3,16 @@
if [[ "$SHOULD_BUILD" == "yes" ]]; then
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
cd VSCode-darwin
zip -r -X -y ../VSCode-darwin-${LATEST_MS_TAG}.zip ./*
zip -r -X -y ../VSCodium-darwin-${LATEST_MS_TAG}.zip ./*
elif [[ "$BUILDARCH" == "ia32" ]]; then
cd VSCode-linux-ia32
tar czf ../VSCode-linux-ia32-${LATEST_MS_TAG}.tar.gz .
tar czf ../VSCodium-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 .
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 ..

View File

@@ -5,16 +5,33 @@ if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew install jq zip
else
sudo apt-get update
sudo apt-get install libx11-dev libxkbfile-dev libsecret-1-dev fakeroot rpm jq
sudo apt-get install -y 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
sudo apt-get install -y gcc-multilib g++-multilib
sudo apt-get install -y \
libgirepository-1.0-1:i386 \
gir1.2-glib-2.0:i386 \
libglib2.0-dev:i386 \
gir1.2-secret-1:i386 \
libx11-dev:i386 \
libxkbfile-dev:i386 \
libsecret-1-dev:i386
export CFLAGS=-m32
export CXXFLAGS=-m32
export PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig
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++
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

7
trigger-azure.sh Executable file
View 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