build.sh 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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. . version.sh
  55. # save variables for later
  56. echo "MS_TAG=\"${MS_TAG}\"" > build.env
  57. echo "MS_COMMIT=\"${MS_COMMIT}\"" >> build.env
  58. echo "RELEASE_VERSION=\"${RELEASE_VERSION}\"" >> build.env
  59. echo "BUILD_SOURCEVERSION=\"${BUILD_SOURCEVERSION}\"" >> build.env
  60. . build.sh
  61. if [[ "${VSCODE_QUALITY}" == "insider" && "${VSCODE_LATEST}" == "yes" ]]; then
  62. echo "$( cat "insider.json" | jq --arg 'tag' "${MS_TAG/\-insider/}" --arg 'commit' "${MS_COMMIT}" '. | .tag=$tag | .commit=$commit' )" > "insider.json"
  63. fi
  64. else
  65. . build.env
  66. echo "MS_TAG=\"${MS_TAG}\""
  67. echo "MS_COMMIT=\"${MS_COMMIT}\""
  68. echo "RELEASE_VERSION=\"${RELEASE_VERSION}\""
  69. echo "BUILD_SOURCEVERSION=\"${BUILD_SOURCEVERSION}\""
  70. fi
  71. if [[ "${SKIP_ASSETS}" == "no" ]]; then
  72. if [[ "${OS_NAME}" == "windows" ]]; then
  73. rm -rf build/windows/msi/releasedir
  74. fi
  75. . prepare_assets.sh
  76. fi