build.sh 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #!/usr/bin/env bash
  2. # shellcheck disable=SC1091
  3. set -ex
  4. . version.sh
  5. if [[ "${SHOULD_BUILD}" == "yes" ]]; then
  6. echo "MS_COMMIT=\"${MS_COMMIT}\""
  7. . prepare_vscode.sh
  8. cd vscode || { echo "'vscode' dir not found"; exit 1; }
  9. export NODE_OPTIONS="--max-old-space-size=8192"
  10. npm run monaco-compile-check
  11. npm run valid-layers-check
  12. npm run gulp compile-build-without-mangling
  13. npm run gulp compile-extension-media
  14. npm run gulp compile-extensions-build
  15. npm run gulp minify-vscode
  16. if [[ "${OS_NAME}" == "osx" ]]; then
  17. # remove win32 node modules
  18. rm -f .build/extensions/ms-vscode.js-debug/src/win32-app-container-tokens.*.node
  19. # generate Group Policy definitions
  20. npm run copy-policy-dto --prefix build
  21. node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc darwin
  22. npm run gulp "vscode-darwin-${VSCODE_ARCH}-min-ci"
  23. find "../VSCode-darwin-${VSCODE_ARCH}" -print0 | xargs -0 touch -c
  24. . ../build_cli.sh
  25. VSCODE_PLATFORM="darwin"
  26. elif [[ "${OS_NAME}" == "windows" ]]; then
  27. # in CI, packaging will be done by a different job
  28. if [[ "${CI_BUILD}" == "no" ]]; then
  29. . ../build/windows/rtf/make.sh
  30. # generate Group Policy definitions
  31. npm run copy-policy-dto --prefix build
  32. node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc win32
  33. npm run gulp "vscode-win32-${VSCODE_ARCH}-min-ci"
  34. if [[ "${VSCODE_ARCH}" != "x64" ]]; then
  35. SHOULD_BUILD_REH="no"
  36. SHOULD_BUILD_REH_WEB="no"
  37. fi
  38. . ../build_cli.sh
  39. fi
  40. VSCODE_PLATFORM="win32"
  41. else # linux
  42. # remove win32 node modules
  43. rm -f .build/extensions/ms-vscode.js-debug/src/win32-app-container-tokens.*.node
  44. # in CI, packaging will be done by a different job
  45. if [[ "${CI_BUILD}" == "no" ]]; then
  46. # generate Group Policy definitions
  47. npm run copy-policy-dto --prefix build
  48. node build/lib/policies/policyGenerator.ts build/lib/policies/policyData.jsonc linux
  49. npm run gulp "vscode-linux-${VSCODE_ARCH}-min-ci"
  50. find "../VSCode-linux-${VSCODE_ARCH}" -print0 | xargs -0 touch -c
  51. . ../build_cli.sh
  52. fi
  53. VSCODE_PLATFORM="linux"
  54. fi
  55. if [[ "${SHOULD_BUILD_REH}" != "no" ]]; then
  56. npm run gulp minify-vscode-reh
  57. npm run gulp "vscode-reh-${VSCODE_PLATFORM}-${VSCODE_ARCH}-min-ci"
  58. fi
  59. if [[ "${SHOULD_BUILD_REH_WEB}" != "no" ]]; then
  60. npm run gulp minify-vscode-reh-web
  61. npm run gulp "vscode-reh-web-${VSCODE_PLATFORM}-${VSCODE_ARCH}-min-ci"
  62. fi
  63. cd ..
  64. fi