axmol/tools/jenkins-scripts/gen_jsb.sh

59 lines
1.3 KiB
Bash
Executable File

#!/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