|
| 1 | +#!/bin/bash |
| 2 | +set -e |
| 3 | + |
| 4 | +DIST_DIR=$HOME"/PACKAGES" |
| 5 | +PROJECT_NAME=venus |
| 6 | +IOS_PROVISIONING_PROFILE=Venus |
| 7 | + |
| 8 | +if [ "$#" -eq 0 ] |
| 9 | +then |
| 10 | + echo "Release type param needed: amazon, android, ios, macos or steam" |
| 11 | + exit 0 |
| 12 | +else |
| 13 | + RELEASE_MODE=$1 |
| 14 | +fi |
| 15 | + |
| 16 | +echo -n "Version: " |
| 17 | +read VERSION |
| 18 | +echo |
| 19 | + |
| 20 | +if [[ "$OSTYPE" == 'darwin'* ]]; then |
| 21 | + sed -i .bak 's/version=.*/version='$VERSION'/' gradle.properties |
| 22 | +else |
| 23 | + sed -i 's/version=.*/version='$VERSION'/' gradle.properties |
| 24 | +fi |
| 25 | + |
| 26 | +if [ "$RELEASE_MODE" == "amazon" ] || [ "$RELEASE_MODE" == "android" ] || [ "$RELEASE_MODE" == "underground" ]; then |
| 27 | + echo -n "Version Code: " |
| 28 | + read VERSION_CODE |
| 29 | + echo |
| 30 | + echo -n "Keystore Password: " |
| 31 | + read -s KEYSTORE_PASSWD |
| 32 | + echo |
| 33 | + echo -n "Key Password: " |
| 34 | + read -s KEY_PASSWD |
| 35 | + echo |
| 36 | + |
| 37 | + if [ "$RELEASE_MODE" == "amazon" ] ; then |
| 38 | + sed -i 's/bonasera_android_url=.*/bonasera_android_url=amzn:\/\/apps\/android?asin=B01MU6RADE/' assets/BladeEngine.properties |
| 39 | + RELFILENAME="$DIST_DIR"/$PROJECT_NAME-amazon-$VERSION.apk |
| 40 | + else |
| 41 | + RELFILENAME="$DIST_DIR"/$PROJECT_NAME-$VERSION.apk |
| 42 | + fi |
| 43 | + |
| 44 | + ./gradlew -Pkeystore=$HOME/Dropbox/docs/ids/rgarcia_android.keystore -PstorePassword=$KEYSTORE_PASSWD -Palias=bladecoder -PkeyPassword=$KEY_PASSWD android:assembleFullRelease -Pversion=$VERSION -PversionCode=$VERSION_CODE |
| 45 | + |
| 46 | + cp android/build/outputs/apk/android-full-release.apk "$RELFILENAME" |
| 47 | + |
| 48 | + if [ "$RELEASE_MODE" == "amazon" ] ; then |
| 49 | + # Restore BladeEngine.properties |
| 50 | + git checkout android/assets/BladeEngine.properties |
| 51 | + fi |
| 52 | + |
| 53 | +elif [[ "$RELEASE_MODE" == "steam" ]]; then |
| 54 | + RELFILENAME="$DIST_DIR"/$PROJECT_NAME-steam-$VERSION.jar |
| 55 | + |
| 56 | + ./gradlew desktop:dist -Pversion=$VERSION -Psteam=true |
| 57 | + cp desktop/build/libs/$PROJECT_NAME-desktop-$VERSION.jar "$RELFILENAME" |
| 58 | +elif [[ "$RELEASE_MODE" == "mac" ]]; then |
| 59 | + RELFILENAME="$DIST_DIR"/$PROJECT_NAME-mac-$VERSION.jar |
| 60 | + |
| 61 | + ./gradlew desktop:dist -Pversion=$VERSION -Psteam=false |
| 62 | + cp desktop/build/libs/$PROJECT_NAME-desktop-$VERSION.jar "$RELFILENAME" |
| 63 | +elif [[ "$RELEASE_MODE" == "ios" ]]; then |
| 64 | + RELFILENAME="$DIST_DIR"/$PROJECT_NAME-$VERSION.ipa |
| 65 | + |
| 66 | + echo -n "Version Code: " |
| 67 | + read VERSION_CODE |
| 68 | + echo |
| 69 | + |
| 70 | + # Update ios/robovm.properties |
| 71 | + sed -i .bak 's/app.version=.*/app.version='$VERSION'/' ios/robovm.properties |
| 72 | + sed -i .bak 's/app.build=.*/app.build='$VERSION_CODE'/' ios/robovm.properties |
| 73 | + |
| 74 | + ./gradlew -Probovm.iosSignIdentity="iPhone Distribution" -Probovm.iosProvisioningProfile="$IOS_PROVISIONING_PROFILE" ios:clean ios:createIPA |
| 75 | + |
| 76 | + cp ios/build/robovm/IOSLauncher.ipa "$RELFILENAME" |
| 77 | +else |
| 78 | + echo Release type param not valid: $RELEASE_MODE. Valid options: amazon, android, ios or steam. |
| 79 | + exit -1 |
| 80 | +fi |
| 81 | + |
| 82 | +echo -- RELEASE OK: $RELFILENAME -- |
0 commit comments