Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- if ! test -e "Kerbalism.sln"; then
- cd ..
- cd ..
- fi
- if ! test -e "Kerbalism.sln"; then
- echo "This script must be run from the Kerbalism repository root"
- exit
- fi
- # export BASE_DIR=${TRAVIS_BUILD_DIR:-$PWD}
- # echo $BASE_DIR
- # cd $BASE_DIR
- #constants
- OUTPUT_PATH="buildscripts/Release/Output"
- SPACEDOCK_ZIP="Kerbalism-Release.zip"
- CORE_ZIP="Kerbalism-Core.zip"
- CONFIG_ZIP="Kerbalism-Config.zip"
- SPACEDOCK_PATH="$OUTPUT_PATH/$SPACEDOCK_ZIP"
- CORE_PATH="$OUTPUT_PATH/$CORE_ZIP"
- CONFIG_PATH="$OUTPUT_PATH/$CONFIG_ZIP"
- PATH_TO_VERSION="GameData/Kerbalism/Kerbalism.version"
- RELEASE_SCRIPT="buildscripts/Release/make_zip_release.sh"
- if test -e "$SPACEDOCK_PATH"; then rm -Rf $SPACEDOCK_PATH; fi
- if test -e "$OUTPUT_PATH/version.txt"; then rm -Rf "$OUTPUT_PATH/version.txt"; fi
- if test -e "$OUTPUT_PATH/cookies"; then rm -Rf "$OUTPUT_PATH/cookies"; fi
- echo "-------------------------------------------------------"
- echo "Enter spacedock account credentials :"
- while true; do
- read -p "login:" SPACEDOCK_LOGIN
- read -p "password:" SPACEDOCK_PASS
- if (curl -F username="$SPACEDOCK_LOGIN" -F password="$SPACEDOCK_PASS" -c "$OUTPUT_PATH/cookies" "https://spacedock.info/api/login" -s) | grep -q "false";
- then
- echo "Login successfull"
- break
- else
- read -p "Login failed. do you want to retry [y/n]?" yn
- case $yn in
- [Nn]* ) exit;;
- esac
- fi
- done
- echo "-------------------------------------------------------"
- echo "Building release zips..."
- sh $RELEASE_SCRIPT
- if ! (test -e "$CORE_PATH" && test -e "$CONFIG_PATH"); then
- echo "Error : release zips not created"
- exit
- fi
- echo "Building spacedock release zip..."
- WORKING_PATH="$PWD"
- cd "$PWD/$OUTPUT_PATH"
- zip -r "$SPACEDOCK_ZIP" "$CORE_ZIP"
- zip -r "$SPACEDOCK_ZIP" "$CONFIG_ZIP"
- cd $WORKING_PATH
- echo "-------------------------------------------------------"
- echo "Parsing version file..."
- echo "Please check the detected versions :"
- unzip -p "$CORE_PATH" "$PATH_TO_VERSION" >"$OUTPUT_PATH/version.txt"
- MOD_VERSION_INFO=$(grep '"VERSION"' "$OUTPUT_PATH/version.txt")
- MOD_MAJOR=$(echo $MOD_VERSION_INFO} | cut -d':' -f 3 | grep -oEi '[0-9]')
- MOD_MINOR=$(echo $MOD_VERSION_INFO | cut -d':' -f 4 | grep -oEi '[0-9]')
- MOD_PATCH=$(echo $MOD_VERSION_INFO | cut -d':' -f 5 | grep -oEi '[0-9]')
- MOD_VERSION="$MOD_MAJOR.$MOD_MINOR.$MOD_PATCH"
- echo "Kerbalism version : $MOD_VERSION"
- KSP_VERSION_INFO=$(grep '"KSP_VERSION"' "$OUTPUT_PATH/version.txt")
- KSP_MAJOR=$(echo $KSP_VERSION_INFO | cut -d':' -f 3 | grep -oEi '[0-9]')
- KSP_MINOR=$(echo $KSP_VERSION_INFO | cut -d':' -f 4 | grep -oEi '[0-9]')
- KSP_PATCH=$(echo $KSP_VERSION_INFO | cut -d':' -f 5 | grep -oEi '[0-9]')
- KSP_VERSION="$KSP_MAJOR.$KSP_MINOR.$KSP_PATCH"
- echo "KSP version : $KSP_VERSION"
- echo "-------------------------------------------------------"
- read -p "Accept and upload the release to spacedock [y/n]?" yn
- case $yn in
- [Yy]* )
- echo "UPDATING..."
- curl -c "$OUTPUT_PATH/cookies" \
- -F "version=$MOD_VERSION" \
- -F "changelog=see changelog on github" \
- -F "game-version=$KSP_VERSION" \
- -F "notify-followers=no" \
- -F "zipball=@$SPACEDOCK_PATH" \
- "https://spacedock.info/api/mod/2200/update"
- esac
- rm $CORE_PATH
- rm $CONFIG_PATH
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement