فهرست منبع

Merge branch 'master' into fix-arm64-build

Peter Squicciarini 6 سال پیش
والد
کامیت
4fe1ea6727
8فایلهای تغییر یافته به همراه69 افزوده شده و 33 حذف شده
  1. 2 1
      .travis.yml
  2. 7 0
      DOCS.md
  3. 19 5
      README.md
  4. 10 13
      azure-pipelines.yml
  5. 5 3
      check_tags.ps1
  6. 4 4
      create_zip.sh
  7. 15 7
      install_deps.sh
  8. 7 0
      trigger-azure.sh

+ 2 - 1
.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

+ 7 - 0
DOCS.md

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

+ 19 - 5
README.md

@@ -1,15 +1,24 @@
-# 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)
 - [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._
 
+#### <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. 
 
@@ -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.
 

+ 10 - 13
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'

+ 5 - 3
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'

+ 4 - 4
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 ..

+ 15 - 7
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

+ 7 - 0
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