build.sh 2.0 KB

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