build.sh 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #!/bin/bash
  2. if [[ "$SHOULD_BUILD" == "yes" ]]; then
  3. cp -rp src/* vscode/
  4. cd vscode
  5. export npm_config_arch="$BUILDARCH"
  6. export npm_config_target_arch="$BUILDARCH"
  7. ../update_settings.sh
  8. yarn
  9. mv product.json product.json.bak
  10. # set fields in product.json
  11. updateUrl='setpath(["updateUrl"]; "https://vscodium.now.sh")'
  12. releaseNotesUrl='setpath(["releaseNotesUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533483#vscode")'
  13. keyboardShortcutsUrlMac='setpath(["keyboardShortcutsUrlMac"]; "https://go.microsoft.com/fwlink/?linkid=832143")'
  14. keyboardShortcutsUrlLinux='setpath(["keyboardShortcutsUrlLinux"]; "https://go.microsoft.com/fwlink/?linkid=832144")'
  15. keyboardShortcutsUrlWin='setpath(["keyboardShortcutsUrlWin"]; "https://go.microsoft.com/fwlink/?linkid=832145")'
  16. quality='setpath(["quality"]; "stable")'
  17. 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"})'
  18. nameShort='setpath(["nameShort"]; "VSCodium")'
  19. nameLong='setpath(["nameLong"]; "VSCodium")'
  20. applicationName='setpath(["applicationName"]; "vscodium")'
  21. win32MutexName='setpath(["win32MutexName"]; "vscodium")'
  22. win32DirName='setpath(["win32DirName"]; "VSCodium")'
  23. win32NameVersion='setpath(["win32NameVersion"]; "VSCodium")'
  24. win32RegValueName='setpath(["win32RegValueName"]; "VSCodium")'
  25. win32AppUserModelId='setpath(["win32AppUserModelId"]; "Microsoft.VSCodium")'
  26. win32ShellNameShort='setpath(["win32ShellNameShort"]; "V&SCodium")'
  27. win32x64UserAppId='setpath (["win32x64UserAppId"]; "{{2E1F05D1-C245-4562-81EE-28188DB6FD17}")'
  28. urlProtocol='setpath(["urlProtocol"]; "vscodium")'
  29. extensionAllowedProposedApi='setpath(["extensionAllowedProposedApi"]; getpath(["extensionAllowedProposedApi"]) + ["ms-vsliveshare.vsliveshare"])'
  30. product_json_changes="${updateUrl} | ${releaseNotesUrl} | ${keyboardShortcutsUrlMac} | ${keyboardShortcutsUrlLinux} | ${keyboardShortcutsUrlWin} | ${quality} | ${extensionsGallery} | ${nameShort} | ${nameLong} | ${applicationName} | ${win32MutexName} | ${win32DirName} | ${win32NameVersion} | ${win32RegValueName} | ${win32AppUserModelId} | ${win32ShellNameShort} | ${win32x64UserAppId} | ${urlProtocol} | ${extensionAllowedProposedApi}"
  31. cat product.json.bak | jq "${product_json_changes}" > product.json
  32. cat product.json
  33. ../undo_telemetry.sh
  34. export NODE_ENV=production
  35. if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
  36. # microsoft adds their apt repo to sources
  37. # unless the app name is code-oss
  38. # as we are renaming the application to vscodium
  39. # we need to edit a line in the post install template
  40. sed -i "s/code-oss/vscodium/" resources/linux/debian/postinst.template
  41. fi
  42. if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
  43. npm install --global create-dmg
  44. npm run gulp -- "vscode-darwin-min"
  45. elif [[ "$CI_WINDOWS" == "True" ]]; then
  46. cp LICENSE.txt LICENSE.rtf # windows build expects rtf license
  47. npm run gulp -- "vscode-win32-${BUILDARCH}-min"
  48. npm run gulp -- "vscode-win32-${BUILDARCH}-inno-updater"
  49. npm run gulp -- "vscode-win32-${BUILDARCH}-system-setup"
  50. npm run gulp -- "vscode-win32-${BUILDARCH}-user-setup"
  51. npm run gulp -- "vscode-win32-${BUILDARCH}-archive"
  52. else # linux
  53. npm run gulp -- "vscode-linux-${BUILDARCH}-min"
  54. npm run gulp -- "vscode-linux-${BUILDARCH}-build-deb"
  55. npm run gulp -- "vscode-linux-${BUILDARCH}-build-rpm"
  56. . ../create_appimage.sh
  57. fi
  58. cd ..
  59. fi