| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 | #!/bin/bashset -e# include common functions. ./utils.shif [[ "${VSCODE_QUALITY}" == "insider" ]]; then  cp -rp src/insider/* vscode/else  cp -rp src/stable/* vscode/ficp -f LICENSE vscode/LICENSE.txtcd vscode || { echo "'vscode' dir not found"; exit 1; }../update_settings.sh# apply patches{ set +x; } 2>/dev/nullfor file in ../patches/*.patch; do  if [ -f "${file}" ]; then    echo applying patch: "${file}";    git apply --ignore-whitespace "${file}"    if [ $? -ne 0 ]; then      echo failed to apply patch "${file}" 1>&2    fi  fidoneif [[ "${VSCODE_QUALITY}" == "insider" ]]; then  for file in ../patches/insider/*.patch; do    if [ -f "${file}" ]; then      echo applying patch: "${file}";      git apply --ignore-whitespace "${file}"      if [ $? -ne 0 ]; then        echo failed to apply patch "${file}" 1>&2      fi    fi  donefifor file in ../patches/user/*.patch; do  if [ -f "${file}" ]; then    echo applying user patch: "${file}";    git apply --ignore-whitespace "${file}"    if [ $? -ne 0 ]; then      echo failed to apply patch "${file}" 1>&2    fi  fidoneset -xif [[ "${OS_NAME}" == "osx" ]]; then  CHILD_CONCURRENCY=1 yarn --frozen-lockfile  yarn postinstallelif [[ "${npm_config_arch}" == "armv7l" || "${npm_config_arch}" == "ia32" ]]; then  # node-gyp@9.0.0 shipped with node@16.15.0 starts using config.gypi  # from the custom headers path if dist-url option was set, instead of  # using the config value from the process. Electron builds with pointer compression  # enabled for x64 and arm64, but incorrectly ships a single copy of config.gypi  # with v8_enable_pointer_compression option always set for all target architectures.  # We use the force_process_config option to use the config.gypi from the  # nodejs process executing npm for 32-bit architectures.  export npm_config_force_process_config="true"  CHILD_CONCURRENCY=1 yarn --frozen-lockfileelse  CHILD_CONCURRENCY=1 yarn --frozen-lockfilefisetpath() {  { set +x; } 2>/dev/null  echo "$( cat "${1}.json" | jq --arg 'path' "${2}" --arg 'value' "${3}" 'setpath([$path]; $value)' )" > "${1}.json"  set -x}setpath_json() {  { set +x; } 2>/dev/null  echo "$( cat "${1}.json" | jq --arg 'path' "${2}" --argjson 'value' "${3}" 'setpath([$path]; $value)' )" > "${1}.json"  set -x}# product.jsoncp product.json product.json.baksetpath "product" "checksumFailMoreInfoUrl" "https://go.microsoft.com/fwlink/?LinkId=828886"setpath "product" "documentationUrl" "https://go.microsoft.com/fwlink/?LinkID=533484#vscode"setpath_json "product" "extensionsGallery" '{"serviceUrl": "https://open-vsx.org/vscode/gallery", "itemUrl": "https://open-vsx.org/vscode/item"}'setpath "product" "introductoryVideosUrl" "https://go.microsoft.com/fwlink/?linkid=832146"setpath "product" "keyboardShortcutsUrlLinux" "https://go.microsoft.com/fwlink/?linkid=832144"setpath "product" "keyboardShortcutsUrlMac" "https://go.microsoft.com/fwlink/?linkid=832143"setpath "product" "keyboardShortcutsUrlWin" "https://go.microsoft.com/fwlink/?linkid=832145"setpath "product" "licenseUrl" "https://github.com/VSCodium/vscodium/blob/master/LICENSE"setpath_json "product" "linkProtectionTrustedDomains" '["https://open-vsx.org"]'setpath "product" "releaseNotesUrl" "https://go.microsoft.com/fwlink/?LinkID=533483#vscode"setpath "product" "reportIssueUrl" "https://github.com/VSCodium/vscodium/issues/new"setpath "product" "requestFeatureUrl" "https://go.microsoft.com/fwlink/?LinkID=533482"setpath "product" "tipsAndTricksUrl" "https://go.microsoft.com/fwlink/?linkid=852118"setpath "product" "twitterUrl" "https://go.microsoft.com/fwlink/?LinkID=533687"if [[ "${DISABLE_UPDATE}" != "yes" ]]; then  setpath "product" "updateUrl" "https://vscodium.now.sh"fiif [[ "${VSCODE_QUALITY}" == "insider" ]]; then  setpath "product" "nameShort" "VSCodium - Insiders"  setpath "product" "nameLong" "VSCodium - Insiders"  setpath "product" "applicationName" "codium-insiders"  setpath "product" "dataFolderName" ".vscodium-insiders"  setpath "product" "linuxIconName" "vscodium-insiders"  setpath "product" "quality" "insider"  setpath "product" "urlProtocol" "vscodium-insiders"  setpath "product" "serverApplicationName" "codium-server-insiders"  setpath "product" "serverDataFolderName" ".vscodium-server-insiders"  setpath "product" "darwinBundleIdentifier" "com.vscodium.VSCodiumInsiders"  setpath "product" "win32AppUserModelId" "VSCodium.VSCodiumInsiders"  setpath "product" "win32DirName" "VSCodium Insiders"  setpath "product" "win32MutexName" "vscodiuminsiders"  setpath "product" "win32NameVersion" "VSCodium Insiders"  setpath "product" "win32RegValueName" "VSCodiumInsiders"  setpath "product" "win32ShellNameShort" "VSCodium Insiders"  setpath "product" "win32AppId" "{{EF35BB36-FA7E-4BB9-B7DA-D1E09F2DA9C9}"  setpath "product" "win32x64AppId" "{{B2E0DDB2-120E-4D34-9F7E-8C688FF839A2}"  setpath "product" "win32arm64AppId" "{{44721278-64C6-4513-BC45-D48E07830599}"  setpath "product" "win32UserAppId" "{{ED2E5618-3E7E-4888-BF3C-A6CCC84F586F}"  setpath "product" "win32x64UserAppId" "{{20F79D0D-A9AC-4220-9A81-CE675FFB6B41}"  setpath "product" "win32arm64UserAppId" "{{2E362F92-14EA-455A-9ABD-3E656BBBFE71}"else  setpath "product" "nameShort" "VSCodium"  setpath "product" "nameLong" "VSCodium"  setpath "product" "applicationName" "codium"  setpath "product" "linuxIconName" "vscodium"  setpath "product" "quality" "stable"  setpath "product" "urlProtocol" "vscodium"  setpath "product" "serverApplicationName" "codium-server"  setpath "product" "serverDataFolderName" ".vscodium-server"  setpath "product" "darwinBundleIdentifier" "com.vscodium"  setpath "product" "win32AppUserModelId" "VSCodium.VSCodium"  setpath "product" "win32DirName" "VSCodium"  setpath "product" "win32MutexName" "vscodium"  setpath "product" "win32NameVersion" "VSCodium"  setpath "product" "win32RegValueName" "VSCodium"  setpath "product" "win32ShellNameShort" "VSCodium"  setpath "product" "win32AppId" "{{763CBF88-25C6-4B10-952F-326AE657F16B}"  setpath "product" "win32x64AppId" "{{88DA3577-054F-4CA1-8122-7D820494CFFB}"  setpath "product" "win32arm64AppId" "{{67DEE444-3D04-4258-B92A-BC1F0FF2CAE4}"  setpath "product" "win32UserAppId" "{{0FD05EB4-651E-4E78-A062-515204B47A3A}"  setpath "product" "win32x64UserAppId" "{{2E1F05D1-C245-4562-81EE-28188DB6FD17}"  setpath "product" "win32arm64UserAppId" "{{57FD70A5-1B8D-4875-9F40-C5553F094828}"fiecho "$( jq -s '.[0] * .[1]' product.json ../product.json )" > product.jsoncat product.json# package.jsoncp package.json package.json.baksetpath "package" "version" $( echo "${RELEASE_VERSION}" | sed -n -E "s/^(.*)\.([0-9]+)(-insider)?$/\1/p" )setpath "package" "release" $( echo "${RELEASE_VERSION}" | sed -n -E "s/^(.*)\.([0-9]+)(-insider)?$/\2/p" )replace 's|Microsoft Corporation|VSCodium|' package.json# announcementsreplace "s|\\[\\/\\* BUILTIN_ANNOUNCEMENTS \\*\\/\\]|$( cat ../announcements-builtin.json | tr -d '\n' )|" src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStarted.ts../undo_telemetry.shreplace 's|Microsoft Corporation|VSCodium|' build/lib/electron.jsreplace 's|Microsoft Corporation|VSCodium|' build/lib/electron.tsreplace 's|([0-9]) Microsoft|\1 VSCodium|' build/lib/electron.jsreplace 's|([0-9]) Microsoft|\1 VSCodium|' build/lib/electron.tsif [[ "${OS_NAME}" == "linux" ]]; then  # microsoft adds their apt repo to sources  # unless the app name is code-oss  # as we are renaming the application to vscodium  # we need to edit a line in the post install template  if [[ "${VSCODE_QUALITY}" == "insider" ]]; then    sed -i "s/code-oss/codium-insiders/" resources/linux/debian/postinst.template  else    sed -i "s/code-oss/codium/" resources/linux/debian/postinst.template  fi  # fix the packages metadata  # code.appdata.xml  sed -i 's|Visual Studio Code|VSCodium|g' resources/linux/code.appdata.xml  sed -i 's|https://code.visualstudio.com/docs/setup/linux|https://github.com/VSCodium/vscodium#download-install|' resources/linux/code.appdata.xml  sed -i 's|https://code.visualstudio.com/home/home-screenshot-linux-lg.png|https://vscodium.com/img/vscodium.png|' resources/linux/code.appdata.xml  sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/code.appdata.xml  # control.template  sed -i 's|Microsoft Corporation <vscode-linux@microsoft.com>|VSCodium Team https://github.com/VSCodium/vscodium/graphs/contributors|'  resources/linux/debian/control.template  sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/debian/control.template  sed -i 's|Visual Studio Code|VSCodium|g' resources/linux/debian/control.template  sed -i 's|https://code.visualstudio.com/docs/setup/linux|https://github.com/VSCodium/vscodium#download-install|' resources/linux/debian/control.template  # code.spec.template  sed -i 's|https://code.visualstudio.com/docs/setup/linux|https://github.com/VSCodium/vscodium#download-install|' resources/linux/rpm/code.spec.template  sed -i 's|Microsoft Corporation|VSCodium Team|' resources/linux/rpm/code.spec.template  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  sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/rpm/code.spec.template  sed -i 's|Visual Studio Code|VSCodium|' resources/linux/rpm/code.spec.template  # snapcraft.yaml  sed -i 's|Visual Studio Code|VSCodium|'  resources/linux/rpm/code.spec.templateelif [[ "${OS_NAME}" == "windows" ]]; then  # code.iss  sed -i 's|https://code.visualstudio.com|https://vscodium.com|' build/win32/code.iss  sed -i 's|Microsoft Corporation|VSCodium|' build/win32/code.issficd ..
 |