diff --git a/.travis.yml b/.travis.yml index 73be5ee..d015640 100644 --- a/.travis.yml +++ b/.travis.yml @@ -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 diff --git a/DOCS.md b/DOCS.md index dedd26a..acf4be6 100644 --- a/DOCS.md +++ b/DOCS.md @@ -28,6 +28,13 @@ _(For example the C# extension `ms-vscode.csharp` sends tracking data to Microso ## 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. + ## 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`. diff --git a/README.md b/README.md index 3657274..f098522 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,24 @@ -# VSCodium + -### Free/Libre Open Source Software Binaries of VSCode +
+ + [![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) +
## 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) - [Why Does This Exist](#why) - [More Info](#more-info) @@ -26,6 +35,12 @@ brew cask install vscodium _Note: if you see "App can’t 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._ +#### 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 +``` + #### 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. @@ -58,8 +73,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. diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 075c262..a6750fa 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -1,12 +1,10 @@ -# Node.js with Grunt -# Build a Node.js project using the Grunt task runner. -# Add steps that analyze code, save build artifacts, deploy, and more: -# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript - pool: vmImage: 'vs2017-win2016' steps: +- task: NodeTool@0 + inputs: + versionSpec: '8.x' - script: | choco install jq displayName: 'install jq from choco' @@ -20,10 +18,6 @@ steps: displayName: 'get VSCode sources' inputs: scriptPath: get_repo.sh - #args: '' # Optional - #disableAutoCwd: false # Optional - #cwd: '' # Optional - #failOnStandardError: false - powershell: | $LATEST_MS_TAG="$(git -C vscode describe --tags)" Write-Host "##vso[task.setvariable variable=LATEST_MS_TAG]$LATEST_MS_TAG" @@ -32,7 +26,7 @@ steps: inputs: filePath: 'check_tags.ps1' env: - GITHUB_TOKEN: $(GITHUB_TOKEN) + MAPPED_GITHUB_TOKEN: $(GITHUB_TOKEN) - script: | git -C vscode status displayName: 'vscode status' @@ -40,26 +34,29 @@ steps: bash ./build.sh displayName: 'go build it!' - bash: | - mv vscode\\.build\\win32-x64\\system-setup\\VSCodeSetup.exe VSCodiumSetup-x64-${LATEST_MS_TAG}.exe + 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: | - mv vscode\\.build\\win32-x64\\user-setup\\VSCodeSetup.exe VSCodiumUserSetup-x64-${LATEST_MS_TAG}.exe + 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: | - mv vscode\\.build\\win32-x64\\archive\\VSCode-win32-x64.zip VSCodium-win32-x64-${LATEST_MS_TAG}.zip + 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' diff --git a/check_tags.ps1 b/check_tags.ps1 index 5613f7b..e696942 100644 --- a/check_tags.ps1 +++ b/check_tags.ps1 @@ -1,14 +1,16 @@ -echo "token: $env:GITHUB_TOKEN" echo "tag: $env:LATEST_MS_TAG" -$GITHUB_RESPONSE = curl.exe -s -H "Authorization: token $env:GITHUB_TOKEN" "https://api.github.com/repos/vscodium/vscodium/releases/tags/$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:GITHUB_TOKEN) { +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' diff --git a/create_zip.sh b/create_zip.sh index 5f84f16..1abb6f3 100755 --- a/create_zip.sh +++ b/create_zip.sh @@ -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 .. diff --git a/install_deps.sh b/install_deps.sh index 1350337..135cccd 100755 --- a/install_deps.sh +++ b/install_deps.sh @@ -5,16 +5,22 @@ 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 - export CC="/usr/bin/gcc -m32" - export CXX="/usr/bin/g++ -m32" - export CC_host=/usr/bin/gcc - export CXX_host=/usr/bin/g++ + 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 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 @@ -25,5 +31,7 @@ else 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 diff --git a/trigger-azure.sh b/trigger-azure.sh new file mode 100755 index 0000000..95f7410 --- /dev/null +++ b/trigger-azure.sh @@ -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