prepare_vscode.sh 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. #!/bin/bash
  2. set -e
  3. cp -rp src/* vscode/
  4. cd vscode || exit
  5. ../update_settings.sh
  6. # apply patches
  7. { set +x; } 2>/dev/null
  8. for file in ../patches/*.patch; do
  9. if [ -f "$file" ]; then
  10. echo applying patch: $file;
  11. git apply --ignore-whitespace "$file"
  12. if [ $? -ne 0 ]; then
  13. echo failed to apply patch $file 1>&2
  14. fi
  15. fi
  16. done
  17. for file in ../patches/user/*.patch; do
  18. if [ -f "$file" ]; then
  19. echo applying user patch: $file;
  20. git apply --ignore-whitespace "$file"
  21. if [ $? -ne 0 ]; then
  22. echo failed to apply patch $file 1>&2
  23. fi
  24. fi
  25. done
  26. set -x
  27. if [[ "$OS_NAME" == "osx" ]]; then
  28. CHILD_CONCURRENCY=1 yarn --frozen-lockfile --ignore-optional
  29. npm_config_argv='{"original":["--ignore-optional"]}' yarn postinstall
  30. else
  31. CHILD_CONCURRENCY=1 yarn --frozen-lockfile
  32. fi
  33. mv product.json product.json.bak
  34. # set fields in product.json
  35. checksumFailMoreInfoUrl='setpath(["checksumFailMoreInfoUrl"]; "https://go.microsoft.com/fwlink/?LinkId=828886")'
  36. tipsAndTricksUrl='setpath(["tipsAndTricksUrl"]; "https://go.microsoft.com/fwlink/?linkid=852118")'
  37. twitterUrl='setpath(["twitterUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533687")'
  38. requestFeatureUrl='setpath(["requestFeatureUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533482")'
  39. documentationUrl='setpath(["documentationUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533484#vscode")'
  40. introductoryVideosUrl='setpath(["introductoryVideosUrl"]; "https://go.microsoft.com/fwlink/?linkid=832146")'
  41. 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"])'
  42. updateUrl='setpath(["updateUrl"]; "https://vscodium.now.sh")'
  43. releaseNotesUrl='setpath(["releaseNotesUrl"]; "https://go.microsoft.com/fwlink/?LinkID=533483#vscode")'
  44. keyboardShortcutsUrlMac='setpath(["keyboardShortcutsUrlMac"]; "https://go.microsoft.com/fwlink/?linkid=832143")'
  45. keyboardShortcutsUrlLinux='setpath(["keyboardShortcutsUrlLinux"]; "https://go.microsoft.com/fwlink/?linkid=832144")'
  46. keyboardShortcutsUrlWin='setpath(["keyboardShortcutsUrlWin"]; "https://go.microsoft.com/fwlink/?linkid=832145")'
  47. quality='setpath(["quality"]; "stable")'
  48. extensionsGallery='setpath(["extensionsGallery"]; {"serviceUrl": "https://open-vsx.org/vscode/gallery", "itemUrl": "https://open-vsx.org/vscode/item"})'
  49. linkProtectionTrustedDomains='setpath(["linkProtectionTrustedDomains"]; ["https://open-vsx.org"])'
  50. nameShort='setpath(["nameShort"]; "VSCodium")'
  51. nameLong='setpath(["nameLong"]; "VSCodium")'
  52. linuxIconName='setpath(["linuxIconName"]; "vscodium")'
  53. applicationName='setpath(["applicationName"]; "codium")'
  54. win32MutexName='setpath(["win32MutexName"]; "vscodium")'
  55. win32DirName='setpath(["win32DirName"]; "VSCodium")'
  56. win32NameVersion='setpath(["win32NameVersion"]; "VSCodium")'
  57. win32RegValueName='setpath(["win32RegValueName"]; "VSCodium")'
  58. win32AppUserModelId='setpath(["win32AppUserModelId"]; "Microsoft.VSCodium")'
  59. win32ShellNameShort='setpath(["win32ShellNameShort"]; "VSCodium")'
  60. win32x64UserAppId='setpath (["win32x64UserAppId"]; "{{2E1F05D1-C245-4562-81EE-28188DB6FD17}")'
  61. urlProtocol='setpath(["urlProtocol"]; "vscodium")'
  62. extensionAllowedProposedApi='setpath(["extensionAllowedProposedApi"]; getpath(["extensionAllowedProposedApi"]) + ["ms-vscode.cpptools", "ms-azuretools.vscode-docker", "visualstudioexptteam.vscodeintellicode", "GitHub.codespaces", "GitHub.vscode-pull-request-github-insiders", "GitHub.vscode-pull-request-github", "Microsoft.vscode-nmake-tools", "ms-ai-tools.notebook-renderers", "ms-dotnettools.dotnet-interactive-vscode", "ms-python.gather", "ms-python.python", "ms-toolsai.jupyter", "ms-toolsai.vscode-ai", "ms-toolsai.vscode-ai-remote", "ms-vscode-remote.remote-containers-nightly", "ms-vscode-remote.remote-containers", "ms-vscode-remote.remote-ssh-edit-nightly", "ms-vscode-remote.remote-ssh-edit", "ms-vscode-remote.remote-ssh-nightly", "ms-vscode-remote.remote-ssh", "ms-vscode-remote.remote-wsl-nightly", "ms-vscode-remote.remote-wsl", "ms-vscode-remote.remote-wsl-recommender", "ms-vscode-remote.vscode-remote-extensionpack-nightly", "ms-vscode-remote.vscode-remote-extensionpack", "ms-vscode.azure-account", "ms-vscode.azure-sphere-tools-ui", "ms-vscode.azure-sphere-tools", "ms-vscode.github-browser", "ms-vscode.github-richnav", "ms-vscode.js-debug-nightly", "ms-vscode.js-debug", "ms-vscode.lsif-browser", "ms-vscode.vscode-js-profile-flame", "ms-vscode.vscode-js-profile-table", "ms-vscode.vscode-selfhost-test-provider", "ms-vsliveshare.cloudenv-explorer", "ms-vsliveshare.cloudenv", "ms-vsliveshare.vsliveshare", "ms-vsonline.vsonline", "dbaeumer.vscode-eslint"])'
  63. serverDataFolderName='setpath(["serverDataFolderName"]; ".vscode-server-oss")'
  64. reportIssueUrl='setpath(["reportIssueUrl"]; "https://github.com/VSCodium/vscodium/issues/new/choose")'
  65. licenseUrl='setpath(["licenseUrl"]; "https://github.com/VSCodium/vscodium/blob/master/LICENSE")'
  66. product_json_changes="${checksumFailMoreInfoUrl} | ${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} | ${reportIssueUrl} | ${licenseUrl}"
  67. cat product.json.bak | jq "${product_json_changes}" > product.json
  68. cat product.json
  69. ../undo_telemetry.sh
  70. if [[ "$OS_NAME" == "linux" ]]; then
  71. # microsoft adds their apt repo to sources
  72. # unless the app name is code-oss
  73. # as we are renaming the application to vscodium
  74. # we need to edit a line in the post install template
  75. sed -i "s/code-oss/codium/" resources/linux/debian/postinst.template
  76. # fix the packages metadata
  77. # code.appdata.xml
  78. sed -i 's|Visual Studio Code|VSCodium|g' resources/linux/code.appdata.xml
  79. sed -i 's|https://code.visualstudio.com/docs/setup/linux|https://github.com/VSCodium/vscodium#download-install|' resources/linux/code.appdata.xml
  80. sed -i 's|https://code.visualstudio.com/home/home-screenshot-linux-lg.png|https://vscodium.com/img/vscodium.png|' resources/linux/code.appdata.xml
  81. sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/code.appdata.xml
  82. # control.template
  83. sed -i 's|Microsoft Corporation <vscode-linux@microsoft.com>|VSCodium Team https://github.com/VSCodium/vscodium/graphs/contributors|' resources/linux/debian/control.template
  84. sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/debian/control.template
  85. sed -i 's|Visual Studio Code|VSCodium|g' resources/linux/debian/control.template
  86. sed -i 's|https://code.visualstudio.com/docs/setup/linux|https://github.com/VSCodium/vscodium#download-install|' resources/linux/debian/control.template
  87. # code.spec.template
  88. sed -i 's|https://code.visualstudio.com/docs/setup/linux|https://github.com/VSCodium/vscodium#download-install|' resources/linux/rpm/code.spec.template
  89. sed -i 's|Microsoft Corporation|VSCodium Team|' resources/linux/rpm/code.spec.template
  90. sed -i 's|Visual Studio Code Team <vscode-linux@microsoft.com>|VSCodium Team https://github.com/VSCodium/vscodium/graphs/contributors|' resources/linux/rpm/code.spec.template
  91. sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/rpm/code.spec.template
  92. sed -i 's|Visual Studio Code|VSCodium|' resources/linux/rpm/code.spec.template
  93. # snapcraft.yaml
  94. sed -i 's|Visual Studio Code|VSCodium|' resources/linux/rpm/code.spec.template
  95. fi
  96. cd ..