mirror of https://github.com/axmolengine/axmol.git
79 lines
2.4 KiB
Bash
Executable File
79 lines
2.4 KiB
Bash
Executable File
SHELL_DIR=$(cd "$(dirname "$0")"; pwd)
|
|
|
|
GAME_PROJECT_DIR=$1
|
|
SELECTED_PLUGINS=(${2//:/ })
|
|
|
|
# if project path is end with '/', delete it
|
|
END_CHAR=${GAME_PROJECT_DIR:$((${#GAME_PROJECT_DIR}-1)):1}
|
|
if [ ${END_CHAR} = "/" ]; then
|
|
GAME_PROJECT_DIR=${GAME_PROJECT_DIR%/}
|
|
fi
|
|
|
|
# check the game project path
|
|
if [ -d "${GAME_PROJECT_DIR}" -a -f "${GAME_PROJECT_DIR}/AndroidManifest.xml" ]; then
|
|
echo "Game project path : ${GAME_PROJECT_DIR}"
|
|
echo "selected plugins : ${SELECTED_PLUGINS[@]}"
|
|
else
|
|
echo "Game project path is wrong.(Not an android project directory)"
|
|
exit 1
|
|
fi
|
|
|
|
getPathForSystem()
|
|
{
|
|
START_WITH_CYGWIN=`echo $1 | grep '^/cygdrive/'`
|
|
if [ -z "${START_WITH_CYGWIN}" ]; then
|
|
echo "$1"
|
|
else
|
|
RET=${START_WITH_CYGWIN#/cygdrive/}
|
|
RET=${RET/\//:/}
|
|
echo "${RET}"
|
|
fi
|
|
}
|
|
|
|
pushd ${SHELL_DIR}/../
|
|
|
|
source ./config.sh
|
|
|
|
# check publish directory
|
|
if [ -d "${TARGET_ROOT}" ]; then
|
|
# add protocols name to build
|
|
export NEED_PUBLISH="protocols":$2
|
|
|
|
# Modify mk file
|
|
MK_FILE_PATH="${GAME_PROJECT_DIR}"/jni/Android.mk
|
|
${SHELL_DIR}/modifyMk.sh "${MK_FILE_PATH}"
|
|
|
|
# Modify Application.mk file (add stl & rtti configuration)
|
|
APP_MK_FILE_PATH="${GAME_PROJECT_DIR}"/jni/Application.mk
|
|
${SHELL_DIR}/modifyAppMk.sh "${APP_MK_FILE_PATH}"
|
|
|
|
# Combin ForRes directory to the res directory of game project
|
|
GAME_RES_DIR="${GAME_PROJECT_DIR}"/res
|
|
${SHELL_DIR}/modifyRes.sh "${GAME_RES_DIR}"
|
|
|
|
# get system dir
|
|
SYS_TARGET_ROOT=$(getPathForSystem ${TARGET_ROOT})
|
|
SYS_SHELL_DIR=$(getPathForSystem ${SHELL_DIR})
|
|
SYS_PROJ_DIR=$(getPathForSystem ${GAME_PROJECT_DIR})
|
|
|
|
# Modify .project file (link publish directory to the game project)
|
|
PROJECT_FILE_PATH="${SYS_PROJ_DIR}"/.project
|
|
python ${SYS_SHELL_DIR}/modifyProject.py "${PROJECT_FILE_PATH}" "${SYS_TARGET_ROOT}"
|
|
|
|
# Modify .classpath file (link jar files for game project)
|
|
CLASSPATH_FILE="${SYS_PROJ_DIR}"/.classpath
|
|
python ${SYS_SHELL_DIR}/modifyClassPath.py "${CLASSPATH_FILE}" "${NEED_PUBLISH}" "${SYS_TARGET_ROOT}"
|
|
|
|
# Modify AndroidManifest.xml file (add permission & add activity info)
|
|
MANIFEST_FILE="${SYS_PROJ_DIR}"/AndroidManifest.xml
|
|
python ${SYS_SHELL_DIR}/modifyManifest.py "${MANIFEST_FILE}" "$2" "${SYS_TARGET_ROOT}"
|
|
else
|
|
echo "PLZ run the publish.sh script first"
|
|
popd
|
|
exit 1
|
|
fi
|
|
|
|
popd
|
|
|
|
exit 0
|