diff --git a/love-release.sh b/love-release.sh index f7935ae..9912ba8 100755 --- a/love-release.sh +++ b/love-release.sh @@ -278,6 +278,7 @@ RELEASE_DEB=false RELEASE_OSX=false RELEASE_WIN_32=false RELEASE_WIN_64=false +RELEASE_APK=false if [ "$FOUND_LUA" = true ] && [ -f "conf.lua" ]; then LOVE_VERSION_AUTO=$(lua -e 'f = loadfile("conf.lua"); t, love = {window = {}, modules = {}}, {}; f(); love.conf(t); print(t.version)') @@ -316,6 +317,7 @@ RELEASE_DEB=$RELEASE_DEB RELEASE_OSX=$RELEASE_OSX RELEASE_WIN_32=$RELEASE_WIN_32 RELEASE_WIN_64=$RELEASE_WIN_64 +RELEASE_APK=$RELEASE_APK LOVE_VERSION=$LOVE_VERSION LOVE_VERSION_MAJOR=$LOVE_VERSION_MAJOR LOVE_VERSION_AUTO=$LOVE_VERSION_AUTO @@ -340,11 +342,13 @@ EXCLUDE_FILES=$EXCLUDE_FILES ## Parsing options ## -while getoptex "h; d; l; m; w. n: r: u: v: version: maintainer-name: maintainer-email: homepage: description: package-name: debug help refresh" "$@" +while getoptex "a; h; d; l; m; w. n: r: u: v: version: maintainer-name: maintainer-email: homepage: description: package-name: debug help refresh" "$@" do if [ "$OPTOPT" = "h" ]; then short_help exit + elif [ "$OPTOPT" = "a" ]; then + RELEASE_APK=true elif [ "$OPTOPT" = "d" ]; then RELEASE_DEB=true elif [ "$OPTOPT" = "l" ]; then @@ -397,13 +401,20 @@ for file in "$@" do PROJECT_FILES="$PROJECT_FILES $file" done -if [ "$RELEASE_LOVE" = false ] && [ "$RELEASE_DEB" = false ] && [ "$RELEASE_OSX" = false ] && [ "$RELEASE_WIN_32" = false ] && [ "$RELEASE_WIN_64" = false ]; then +if [ "$RELEASE_LOVE" = false ] && [ "$RELEASE_DEB" = false ] && [ "$RELEASE_OSX" = false ] && [ "$RELEASE_WIN_32" = false ] && [ "$RELEASE_WIN_64" = false ] && [ "$RELEASE_APK" = false ]; then RELEASE_LOVE=true RELEASE_DEB=true RELEASE_OSX=true RELEASE_WIN_32=true RELEASE_WIN_64=true fi +if [ "$RELEASE_APK" = true ]; then + RELEASE_LOVE=false + RELEASE_DEB=false + RELEASE_OSX=false + RELEASE_WIN_32=false + RELEASE_WIN_64=false +fi MAIN_RELEASE_DIR=${RELEASE_DIR##/*/} RELEASE_DIR="$RELEASE_DIR"/$LOVE_VERSION CACHE_DIR=$CACHE_DIR/$LOVE_VERSION @@ -739,6 +750,108 @@ if [ "$RELEASE_DEB" = true ]; then fi fi +## Android apk ## +if [ "$RELEASE_APK" = true ]; then + LOVE_ANDROID_DIR="$CACHE_DIR"/love-android-sdl2 + if [ -d "$LOVE_ANDROID_DIR" ]; then + cd "$LOVE_ANDROID_DIR" + git checkout + git pull + cd "$RELEASE_DIR" + else + git clone https://bitbucket.org/MartinFelis/love-android-sdl2.git "$CACHE_DIR"/love-android-sdl2 + fi + + mkdir -p "$LOVE_ANDROID_DIR"/assets + cp "$PROJECT_NAME".love "$LOVE_ANDROID_DIR"/assets/game.love + cd "$LOVE_ANDROID_DIR" + MAINTAINER_USERNAME=${MAINTAINER_NAME// /-} + ACTIVITY=${PROJECT_NAME// /_}Activity + +echo " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +" > AndroidManifest.xml + +mkdir -p src/com/$MAINTAINER_USERNAME/$PACKAGE_NAME +echo " +package com.${MAINTAINER_USERNAME}.${PACKAGE_NAME}; +import org.love2d.android.GameActivity; + +public class $ACTIVITY extends GameActivity {} +" > src/com/$MAINTAINER_USERNAME/$PACKAGE_NAME/${ACTIVITY}.java + + ant debug + cd "$RELEASE_DIR" +fi + ## Love file ## if [ "$RELEASE_LOVE" = false ]; then rm "$PROJECT_NAME".love