mirror of https://github.com/axmolengine/axmol.git
59 lines
1.3 KiB
Bash
59 lines
1.3 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
# Generate JS and Lua bindings for Cocos2D-X
|
||
|
# ... using Android NDK system headers
|
||
|
# ... and automatically update submodule references
|
||
|
# ... and push these changes to remote repos
|
||
|
|
||
|
# Dependencies
|
||
|
#
|
||
|
# For bindings generator:
|
||
|
# (see ../../../tojs/genbindings.sh and ../../../tolua/genbindings.sh
|
||
|
# ... for the defaults used if the environment is not customized)
|
||
|
#
|
||
|
# * $PYTHON_BIN
|
||
|
# * $CLANG_ROOT
|
||
|
# * $NDK_ROOT
|
||
|
#
|
||
|
echo "[test]start generate js binding..."
|
||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||
|
COCOS2DX_ROOT="$DIR"/../..
|
||
|
TOJS_ROOT=$COCOS2DX_ROOT/tools/tojs
|
||
|
TOLUA_ROOT=$COCOS2DX_ROOT/tools/tolua
|
||
|
GENERATED_WORKTREE="$COCOS2DX_ROOT"/cocos/scripting/auto-generated
|
||
|
|
||
|
|
||
|
# Exit on error
|
||
|
set -e
|
||
|
|
||
|
generate_bindings_glue_codes()
|
||
|
{
|
||
|
echo "Create auto-generated jsbinding glue codes."
|
||
|
pushd "$TOJS_ROOT"
|
||
|
./genbindings.sh
|
||
|
popd
|
||
|
|
||
|
echo "Create auto-generated luabinding glue codes."
|
||
|
pushd "$TOLUA_ROOT"
|
||
|
./genbindings.sh
|
||
|
popd
|
||
|
}
|
||
|
|
||
|
# Update submodule of auto-gen Binding repo.
|
||
|
pushd "$GENERATED_WORKTREE"
|
||
|
|
||
|
echo "Delete all directories and files except '.git' and 'README.md'."
|
||
|
ls -a | grep -E -v ^\[.\]\{1,2\}$ | grep -E -v ^\.git$ | grep -E -v ^README\.md$ | xargs -I{} rm -rf {}
|
||
|
popd
|
||
|
|
||
|
|
||
|
|
||
|
# 1. Generate JS bindings
|
||
|
generate_bindings_glue_codes
|
||
|
|
||
|
echo
|
||
|
echo Bindings generated successfully
|
||
|
echo
|
||
|
|
||
|
|