build.sh 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #!/bin/bash
  2. ### Windows
  3. # to run with Bash: "C:\Program Files\Git\bin\bash.exe" ./build/build.sh
  4. ###
  5. export CI_BUILD="no"
  6. export SHOULD_BUILD="yes"
  7. export SKIP_BUILD="no"
  8. export SKIP_PACKAGES="yes"
  9. export VSCODE_LATEST="no"
  10. export VSCODE_QUALITY="stable"
  11. while getopts ":ilop" opt; do
  12. case "$opt" in
  13. i)
  14. export VSCODE_QUALITY="insider"
  15. ;;
  16. l)
  17. export VSCODE_LATEST="yes"
  18. ;;
  19. o)
  20. export SKIP_BUILD="yes"
  21. ;;
  22. p)
  23. export SKIP_PACKAGES="no"
  24. ;;
  25. esac
  26. done
  27. case "${OSTYPE}" in
  28. darwin*)
  29. export OS_NAME="osx"
  30. ;;
  31. msys* | cygwin*)
  32. export OS_NAME="windows"
  33. ;;
  34. *)
  35. export OS_NAME="linux"
  36. ;;
  37. esac
  38. UNAME_ARCH=$( uname -m )
  39. if [[ "${UNAME_ARCH}" == "arm64" ]]; then
  40. export VSCODE_ARCH="arm64"
  41. else
  42. export VSCODE_ARCH="x64"
  43. fi
  44. echo "OS_NAME=\"${OS_NAME}\""
  45. echo "SKIP_BUILD=\"${SKIP_BUILD}\""
  46. echo "SKIP_PACKAGES=\"${SKIP_PACKAGES}\""
  47. echo "VSCODE_ARCH=\"${VSCODE_ARCH}\""
  48. echo "VSCODE_LATEST=\"${VSCODE_LATEST}\""
  49. echo "VSCODE_QUALITY=\"${VSCODE_QUALITY}\""
  50. if [[ "${SKIP_BUILD}" == "no" ]]; then
  51. rm -rf vscode* VSCode*
  52. . get_repo.sh
  53. # save variables for later
  54. echo "MS_TAG=\"${MS_TAG}\"" > build.env
  55. echo "MS_COMMIT=\"${MS_COMMIT}\"" >> build.env
  56. echo "RELEASE_VERSION=\"${RELEASE_VERSION}\"" >> build.env
  57. echo "BUILD_SOURCEVERSION=\"${BUILD_SOURCEVERSION}\"" >> build.env
  58. . build.sh
  59. if [[ "${VSCODE_QUALITY}" == "insider" && "${VSCODE_LATEST}" == "yes" ]]; then
  60. echo "$( cat "insider.json" | jq --arg 'tag' "${MS_TAG/\-insider/}" --arg 'commit' "${MS_COMMIT}" '. | .tag=$tag | .commit=$commit' )" > "insider.json"
  61. fi
  62. else
  63. . build.env
  64. echo "MS_TAG=\"${MS_TAG}\""
  65. echo "MS_COMMIT=\"${MS_COMMIT}\""
  66. echo "RELEASE_VERSION=\"${RELEASE_VERSION}\""
  67. echo "BUILD_SOURCEVERSION=\"${BUILD_SOURCEVERSION}\""
  68. fi
  69. if [[ "${SKIP_PACKAGES}" == "no" ]]; then
  70. if [[ "${OS_NAME}" == "windows" ]]; then
  71. rm -rf build/windows/msi/releasedir
  72. fi
  73. . prepare_artifacts.sh
  74. fi