From 3ad8269ac94aa29db8bb114e4938599b33296d37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonin=20D=C3=A9cimo?= Date: Sat, 20 Sep 2014 22:54:05 +0200 Subject: [PATCH] Bug fixes, close #15 - rename --activity to --apk-activiy, - support absolute or relative path for icon directory argument, - rename love-LOVE_VERSION-winXX to PROJECT_NAME-winXX inside windows release zip. --- README.md | 2 +- completion.sh | 2 +- love-release.1 | 2 +- love-release.sh | 2 +- scripts/android.sh | 18 +++++++++++------- scripts/debian.sh | 16 +++++++++++----- scripts/windows.sh | 10 ++++++---- 7 files changed, 32 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index bdc7853..b556d49 100644 --- a/README.md +++ b/README.md @@ -103,7 +103,7 @@ with eventual underscores (i.e. [a-zA-Z0-9\_]), otherwise you'll get errors. `drawable-mdpi`, `drawable-hdpi`, `drawable-xhdpi` and `drawable-xxhdpi` to find an `ic_launcher.png` image. OUYA icon (size `732x412`, or `drawable-xhdpi/ouya_icon.png`) is supported. -`--activity` The name of the class that extends GameActivity. +`--apk-activity` The name of the class that extends GameActivity. By default it is the name of the project with ‘Activity’ appended, eventual spaces and dashes replaced by underscores. `--apk-maintainer-name` Set the maintainer’s name. diff --git a/completion.sh b/completion.sh index 38ff2ed..f762f9b 100644 --- a/completion.sh +++ b/completion.sh @@ -9,7 +9,7 @@ _love-release() opts="-l" opts="$opts -w --win-icon" opts="$opts -d --deb-icon --deb-package-version --deb-maintainer-name --maintainer-email --deb-package-name" - opts="$opts -a --apk-icon --activity --apk-package-version --apk-maintainer-name --apk-package-name --update-android" + opts="$opts -a --apk-icon --apk-activity --apk-package-version --apk-maintainer-name --apk-package-name --update-android" opts="$opts -m --osx-icon --osx-maintainer-name" opts="$opts -h -n -r -v -x --config --homepage --description --clean --help" diff --git a/love-release.1 b/love-release.1 index 5ebcd37..f16e8cc 100644 --- a/love-release.1 +++ b/love-release.1 @@ -130,7 +130,7 @@ It will then search the icon directory for subdirectories like to find an \fIic_launcher.png\fR image. OUYA icon (size \fI732x412\fR, or \fIdrawable-xhdpi/ouya_icon.png\fR) is supported. .TP -.B \-\-activity \fIactivity\fR +.B \-\-apk\-activity \fIactivity\fR The name of the class that extends GameActivity. By default it is the name of the project with 'Activity' appended, eventual spaces and dashes replaced by underscores. diff --git a/love-release.sh b/love-release.sh index 318b0d2..583fff4 100755 --- a/love-release.sh +++ b/love-release.sh @@ -23,7 +23,7 @@ SCRIPT_ARGS="w. win-icon: $SCRIPT_ARGS" SCRIPT_ARGS="d; deb-icon: deb-package-version: deb-maintainer-name: maintainer-email: deb-package-name: $SCRIPT_ARGS" ## Android -SCRIPT_ARGS="a; apk-icon: activity: apk-package-version: apk-maintainer-name: apk-package-name: update-android; $SCRIPT_ARGS" +SCRIPT_ARGS="a; apk-icon: apk-activity: apk-package-version: apk-maintainer-name: apk-package-name: update-android; $SCRIPT_ARGS" ## Mac OS X SCRIPT_ARGS="m; osx-icon: osx-maintainer-name: $SCRIPT_ARGS" diff --git a/scripts/android.sh b/scripts/android.sh index c69a0c6..c81855f 100644 --- a/scripts/android.sh +++ b/scripts/android.sh @@ -20,9 +20,7 @@ if [ "$CONFIG" = true ]; then MAINTAINER_NAME=${INI__android__maintainer_name} fi if [ -n "${INI__android__icon}" ]; then - IFS=$'\n' ICON_DIR=${INI__android__icon} - ICON_FILES=( $(ls -AC1 "$ICON_DIR") ) fi fi @@ -30,13 +28,11 @@ fi # Options while getoptex "$SCRIPT_ARGS" "$@" do - if [ "$OPTOPT" = "activity" ]; then + if [ "$OPTOPT" = "apk-activity" ]; then ACTIVITY=$OPTARG activity_defined_argument=true elif [ "$OPTOPT" = "apk-icon" ]; then - IFS=$'\n' ICON_DIR=$OPTARG - ICON_FILES=( $(ls -AC1 "$ICON_DIR") ) elif [ "$OPTOPT" = "apk-package-version" ]; then PACKAGE_VERSION=$OPTARG elif [ "$OPTOPT" = "apk-maintainer-name" ]; then @@ -120,6 +116,16 @@ public class $ACTIVITY extends GameActivity {} " > src/com/$MAINTAINER_NAME/$PACKAGE_NAME/${ACTIVITY}.java if [ -n "$ICON_DIR" ]; then + + IFS=$'\n' + if [ "${ICON_DIR%?}" = "/" ]; then + ICON_DIR=${ICON_DIR: -1} + fi + if [ "${ICON_DIR:0:1}" != "/" ]; then + ICON_DIR=$PROJECT_DIR/$ICON_DIR + fi + ICON_FILES=( $(ls -AC1 "$ICON_DIR") ) + for ICON in "${ICON_FILES[@]}" do RES=$(echo "$ICON" | grep -Eo "[0-9]+x[0-9]+") @@ -127,7 +133,6 @@ if [ -n "$ICON_DIR" ]; then if [ "$RES" = "42x42" ]; then cp "$PROJECT_DIR"/"$ICON_DIR"/"$ICON" \ "$LOVE_ANDROID_DIR"/res/drawable-mdpi/ic_launcher.png - echo "HERE" elif [ "$RES" = "72x72" ]; then cp "$PROJECT_DIR"/"$ICON_DIR"/"$ICON" \ "$LOVE_ANDROID_DIR"/res/drawable-hdpi/ic_launcher.png @@ -149,7 +154,6 @@ if [ -n "$ICON_DIR" ]; then if [ -f "$PROJECT_DIR/$ICON_DIR/drawable-hdpi/ic_launcher.png" ]; then cp "$PROJECT_DIR"/"$ICON_DIR"/drawable-hdpi/ic_launcher.png \ "$LOVE_ANDROID_DIR"/res/drawable-hdpi/ic_launcher.png - echo "THERE" fi if [ -f "$PROJECT_DIR/$ICON_DIR/drawable-xhdpi/ic_launcher.png" ]; then cp "$PROJECT_DIR"/"$ICON_DIR"/drawable-xhdpi/ic_launcher.png \ diff --git a/scripts/debian.sh b/scripts/debian.sh index 15c1060..7523884 100644 --- a/scripts/debian.sh +++ b/scripts/debian.sh @@ -19,9 +19,7 @@ if [ "$CONFIG" = true ]; then PACKAGE_NAME=${INI__debian__package_name} fi if [ -n "${INI__debian__icon}" ]; then - IFS=$'\n' ICON_DIR=${INI__debian__icon} - ICON_FILES=( $(ls -AC1 "$ICON_DIR") ) fi fi @@ -39,9 +37,7 @@ do PACKAGE_NAME=$OPTARG package_name_defined_argument=true elif [ "$OPTOPT" = "deb-icon" ]; then - IFS=$'\n' ICON_DIR=$OPTARG - ICON_FILES=( $(ls -AC1 "$ICON_DIR") ) fi done @@ -113,13 +109,23 @@ BIN_LOC=$TEMP/usr/bin mkdir -p $BIN_LOC echo "#!/usr/bin/env bash" > $BIN_LOC/$PACKAGE_NAME echo "set -e" >> $BIN_LOC/$PACKAGE_NAME -echo "love $PACKAGE_DIR/$PACKAGE_LOC" >> $BIN_LOC/$PACKAGE_NAME +echo "love /usr/share/games/$PACKAGE_NAME/$PACKAGE_LOC" >> $BIN_LOC/$PACKAGE_NAME chmod 0755 $BIN_LOC/$PACKAGE_NAME ICON_LOC=$TEMP/usr/share/icons/hicolor mkdir -p $ICON_LOC if [ -n "$ICON_DIR" ]; then echo "Icon=$PACKAGE_NAME" >> $DESKTOP + + IFS=$'\n' + if [ "${ICON_DIR%?}" = "/" ]; then + ICON_DIR=${ICON_DIR: -1} + fi + if [ "${ICON_DIR:0:1}" != "/" ]; then + ICON_DIR=$PROJECT_DIR/$ICON_DIR + fi + ICON_FILES=( $(ls -AC1 "$ICON_DIR") ) + for ICON in "${ICON_FILES[@]}" do RES=$(echo "$ICON" | grep -Eo "[0-9]+x[0-9]+") diff --git a/scripts/windows.sh b/scripts/windows.sh index a63fe0e..1e175b9 100644 --- a/scripts/windows.sh +++ b/scripts/windows.sh @@ -67,8 +67,9 @@ if [ "$RELEASE_WIN_32" = true ]; then cat love-$LOVE_VERSION-win32/love.exe "$LOVE_FILE" > love-$LOVE_VERSION-win32/"$PROJECT_NAME".exe rm love-$LOVE_VERSION-win32/love.exe - zip -9 -qr "$PROJECT_NAME"-win32.zip love-$LOVE_VERSION-win32 - rm -rf love-$LOVE_VERSION-win32.zip love-$LOVE_VERSION-win32 + mv love-$LOVE_VERSION-win32 "$PROJECT_NAME"-win32 + zip -9 -qr "$PROJECT_NAME"-win32.zip "$PROJECT_NAME"-win32 + rm -rf love-$LOVE_VERSION-win32.zip "$PROJECT_NAME"-win32 fi ## Windows 64-bits ## @@ -99,8 +100,9 @@ if [ "$RELEASE_WIN_64" = true ] && [ "$LOVE_GT_080" = true ]; then cat love-$LOVE_VERSION-win64/love.exe "$LOVE_FILE" > love-$LOVE_VERSION-win64/"$PROJECT_NAME".exe rm love-$LOVE_VERSION-win64/love.exe - zip -9 -qr "$PROJECT_NAME"-win64.zip love-$LOVE_VERSION-win64 - rm -rf love-$LOVE_VERSION-win64.zip love-$LOVE_VERSION-win64 + mv love-$LOVE_VERSION-win64 "$PROJECT_NAME"-win64 + zip -9 -qr "$PROJECT_NAME"-win64.zip "$PROJECT_NAME"-win64 + rm -rf love-$LOVE_VERSION-win64.zip "$PROJECT_NAME"-win64 fi