Advertisement
Guest User

Untitled

a guest
Aug 7th, 2019
445
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.21 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3.  
  4. if ! test -e "Kerbalism.sln"; then
  5. cd ..
  6. cd ..
  7. fi
  8. if ! test -e "Kerbalism.sln"; then
  9. echo "This script must be run from the Kerbalism repository root"
  10. exit
  11. fi
  12.  
  13. # export BASE_DIR=${TRAVIS_BUILD_DIR:-$PWD}
  14. # echo $BASE_DIR
  15. # cd $BASE_DIR
  16.  
  17. #constants
  18. OUTPUT_PATH="buildscripts/Release/Output"
  19. SPACEDOCK_ZIP="Kerbalism-Release.zip"
  20. CORE_ZIP="Kerbalism-Core.zip"
  21. CONFIG_ZIP="Kerbalism-Config.zip"
  22. SPACEDOCK_PATH="$OUTPUT_PATH/$SPACEDOCK_ZIP"
  23. CORE_PATH="$OUTPUT_PATH/$CORE_ZIP"
  24. CONFIG_PATH="$OUTPUT_PATH/$CONFIG_ZIP"
  25. PATH_TO_VERSION="GameData/Kerbalism/Kerbalism.version"
  26. RELEASE_SCRIPT="buildscripts/Release/make_zip_release.sh"
  27.  
  28. if test -e "$SPACEDOCK_PATH"; then rm -Rf $SPACEDOCK_PATH; fi
  29. if test -e "$OUTPUT_PATH/version.txt"; then rm -Rf "$OUTPUT_PATH/version.txt"; fi
  30. if test -e "$OUTPUT_PATH/cookies"; then rm -Rf "$OUTPUT_PATH/cookies"; fi
  31.  
  32. echo "-------------------------------------------------------"
  33. echo "Enter spacedock account credentials :"
  34. while true; do
  35. read -p "login:" SPACEDOCK_LOGIN
  36. read -p "password:" SPACEDOCK_PASS
  37.  
  38. if (curl -F username="$SPACEDOCK_LOGIN" -F password="$SPACEDOCK_PASS" -c "$OUTPUT_PATH/cookies" "https://spacedock.info/api/login" -s) | grep -q "false";
  39. then
  40. echo "Login successfull"
  41. break
  42. else
  43. read -p "Login failed. do you want to retry [y/n]?" yn
  44. case $yn in
  45. [Nn]* ) exit;;
  46. esac
  47. fi
  48. done
  49. echo "-------------------------------------------------------"
  50.  
  51. echo "Building release zips..."
  52. sh $RELEASE_SCRIPT
  53. if ! (test -e "$CORE_PATH" && test -e "$CONFIG_PATH"); then
  54. echo "Error : release zips not created"
  55. exit
  56. fi
  57.  
  58. echo "Building spacedock release zip..."
  59. WORKING_PATH="$PWD"
  60. cd "$PWD/$OUTPUT_PATH"
  61. zip -r "$SPACEDOCK_ZIP" "$CORE_ZIP"
  62. zip -r "$SPACEDOCK_ZIP" "$CONFIG_ZIP"
  63. cd $WORKING_PATH
  64.  
  65. echo "-------------------------------------------------------"
  66. echo "Parsing version file..."
  67. echo "Please check the detected versions :"
  68.  
  69. unzip -p "$CORE_PATH" "$PATH_TO_VERSION" >"$OUTPUT_PATH/version.txt"
  70.  
  71. MOD_VERSION_INFO=$(grep '"VERSION"' "$OUTPUT_PATH/version.txt")
  72. MOD_MAJOR=$(echo $MOD_VERSION_INFO} | cut -d':' -f 3 | grep -oEi '[0-9]')
  73. MOD_MINOR=$(echo $MOD_VERSION_INFO | cut -d':' -f 4 | grep -oEi '[0-9]')
  74. MOD_PATCH=$(echo $MOD_VERSION_INFO | cut -d':' -f 5 | grep -oEi '[0-9]')
  75. MOD_VERSION="$MOD_MAJOR.$MOD_MINOR.$MOD_PATCH"
  76. echo "Kerbalism version : $MOD_VERSION"
  77.  
  78. KSP_VERSION_INFO=$(grep '"KSP_VERSION"' "$OUTPUT_PATH/version.txt")
  79. KSP_MAJOR=$(echo $KSP_VERSION_INFO | cut -d':' -f 3 | grep -oEi '[0-9]')
  80. KSP_MINOR=$(echo $KSP_VERSION_INFO | cut -d':' -f 4 | grep -oEi '[0-9]')
  81. KSP_PATCH=$(echo $KSP_VERSION_INFO | cut -d':' -f 5 | grep -oEi '[0-9]')
  82. KSP_VERSION="$KSP_MAJOR.$KSP_MINOR.$KSP_PATCH"
  83. echo "KSP version : $KSP_VERSION"
  84. echo "-------------------------------------------------------"
  85. read -p "Accept and upload the release to spacedock [y/n]?" yn
  86. case $yn in
  87. [Yy]* )
  88. echo "UPDATING..."
  89. curl -c "$OUTPUT_PATH/cookies" \
  90. -F "version=$MOD_VERSION" \
  91. -F "changelog=see changelog on github" \
  92. -F "game-version=$KSP_VERSION" \
  93. -F "notify-followers=no" \
  94. -F "zipball=@$SPACEDOCK_PATH" \
  95. "https://spacedock.info/api/mod/2200/update"
  96. esac
  97.  
  98.  
  99.  
  100. rm $CORE_PATH
  101. rm $CONFIG_PATH
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement