prepare_vscode.sh 4.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #!/bin/bash
  2. set -e
  3. export npm_config_arch="$BUILDARCH"
  4. export npm_config_target_arch="$BUILDARCH"
  5. cp -rp src/* vscode/
  6. cd vscode || exit
  7. # ../update_settings.sh
  8. # apply patches
  9. # patch -u src/vs/platform/update/electron-main/updateService.win32.ts -i ../patches/update-cache-path.patch
  10. CHILD_CONCURRENCY=1 yarn --frozen-lockfile
  11. yarn postinstall
  12. if [[ "$BUILDARCH" == *"arm"* ]]; then
  13. sed -i -z 's/,\n[^\n]*arm[^\n]*//' node_modules/vscode-sqlite3/binding.gyp
  14. sed -i "s/Release\/sqlite'/Release\/sqlite.node'/" node_modules/vscode-sqlite3/lib/sqlite3.js
  15. yarn add -D electron-rebuild
  16. npx electron-rebuild -f -w vscode-sqlite3
  17. fi
  18. mv product.json product.json.bak
  19. # set fields in product.json
  20. tipsAndTricksUrl='setpath(["tipsAndTricksUrl"]; "https://go.microsoft.com/fwlink/?linkid=852118")'
  21. twitterUrl='setpath(["twitterUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533687")'
  22. requestFeatureUrl='setpath(["requestFeatureUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533482")'
  23. documentationUrl='setpath(["documentationUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533484#vscode")'
  24. introductoryVideosUrl='setpath(["introductoryVideosUrl"]; "https://go.microsoft.com/fwlink/?linkid=832146")'
  25. extensionAllowedBadgeProviders='setpath(["extensionAllowedBadgeProviders"]; ["api.bintray.com", "api.travis-ci.com", "api.travis-ci.org", "app.fossa.io", "badge.fury.io", "badge.waffle.io", "badgen.net", "badges.frapsoft.com", "badges.gitter.im", "badges.greenkeeper.io", "cdn.travis-ci.com", "cdn.travis-ci.org", "ci.appveyor.com", "circleci.com", "cla.opensource.microsoft.com", "codacy.com", "codeclimate.com", "codecov.io", "coveralls.io", "david-dm.org", "deepscan.io", "dev.azure.com", "flat.badgen.net", "gemnasium.com", "githost.io", "gitlab.com", "godoc.org", "goreportcard.com", "img.shields.io", "isitmaintained.com", "marketplace.visualstudio.com", "nodesecurity.io", "opencollective.com", "snyk.io", "travis-ci.com", "travis-ci.org", "visualstudio.com", "vsmarketplacebadge.apphb.com", "www.bithound.io", "www.versioneye.com"])'
  26. updateUrl='setpath(["updateUrl"]; "https://vscodium.now.sh")'
  27. releaseNotesUrl='setpath(["releaseNotesUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533483#vscode")'
  28. keyboardShortcutsUrlMac='setpath(["keyboardShortcutsUrlMac"]; "https://go.microsoft.com/fwlink/?linkid=832143")'
  29. keyboardShortcutsUrlLinux='setpath(["keyboardShortcutsUrlLinux"]; "https://go.microsoft.com/fwlink/?linkid=832144")'
  30. keyboardShortcutsUrlWin='setpath(["keyboardShortcutsUrlWin"]; "https://go.microsoft.com/fwlink/?linkid=832145")'
  31. quality='setpath(["quality"]; "stable")'
  32. extensionsGallery='setpath(["extensionsGallery"]; {"serviceUrl": "https://open-vsx.org/vscode/gallery", "itemUrl": "https://open-vsx.org/vscode/item"})'
  33. linkProtectionTrustedDomains='setpath(["linkProtectionTrustedDomains"]; ["https://open-vsx.org"])'
  34. nameShort='setpath(["nameShort"]; "VSCodium")'
  35. nameLong='setpath(["nameLong"]; "VSCodium")'
  36. linuxIconName='setpath(["linuxIconName"]; "vscodium")'
  37. applicationName='setpath(["applicationName"]; "codium")'
  38. win32MutexName='setpath(["win32MutexName"]; "vscodium")'
  39. win32DirName='setpath(["win32DirName"]; "VSCodium")'
  40. win32NameVersion='setpath(["win32NameVersion"]; "VSCodium")'
  41. win32RegValueName='setpath(["win32RegValueName"]; "VSCodium")'
  42. win32AppUserModelId='setpath(["win32AppUserModelId"]; "Microsoft.VSCodium")'
  43. win32ShellNameShort='setpath(["win32ShellNameShort"]; "VSCodium")'
  44. win32x64UserAppId='setpath (["win32x64UserAppId"]; "{{2E1F05D1-C245-4562-81EE-28188DB6FD17}")'
  45. urlProtocol='setpath(["urlProtocol"]; "vscodium")'
  46. extensionAllowedProposedApi='setpath(["extensionAllowedProposedApi"]; getpath(["extensionAllowedProposedApi"]) + ["ms-vsliveshare.vsliveshare", "ms-vscode-remote.remote-ssh"])'
  47. serverDataFolderName='setpath(["serverDataFolderName"]; ".vscode-server-oss")'
  48. product_json_changes="${tipsAndTricksUrl} | ${twitterUrl} | ${requestFeatureUrl} | ${documentationUrl} | ${introductoryVideosUrl} | ${extensionAllowedBadgeProviders} | ${updateUrl} | ${releaseNotesUrl} | ${keyboardShortcutsUrlMac} | ${keyboardShortcutsUrlLinux} | ${keyboardShortcutsUrlWin} | ${quality} | ${extensionsGallery} | ${linkProtectionTrustedDomains} | ${nameShort} | ${nameLong} | ${linuxIconName} | ${applicationName} | ${win32MutexName} | ${win32DirName} | ${win32NameVersion} | ${win32RegValueName} | ${win32AppUserModelId} | ${win32ShellNameShort} | ${win32x64UserAppId} | ${urlProtocol} | ${extensionAllowedProposedApi} | ${serverDataFolderName}"
  49. cat product.json.bak | jq "${product_json_changes}" > product.json
  50. cat product.json
  51. # ../undo_telemetry.sh
  52. if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
  53. # microsoft adds their apt repo to sources
  54. # unless the app name is code-oss
  55. # as we are renaming the application to vscodium
  56. # we need to edit a line in the post install template
  57. sed -i "s/code-oss/codium/" resources/linux/debian/postinst.template
  58. fi