mirror of https://github.com/axmolengine/axmol.git
Add cocos new tests to travis CI (#18703)
* Fix win32 cpp-template, speedup appveyor, add cocos new CI configuration * fix cocos new for win32 * Add cocos new test to travis CI * Remove mac_cocos_new_test * install_linux_environment, gradlew build * unify android setup * Install andorid to android-ndk * Set NDK_ROOT * lua-tests set proper path * Android build only debug * Refactoring * Linux verbose output * Linux verbose output * Clean up appveyor CI * Fix gen-bindings * pyenv install latest python * pyenv init * eval pyenv init * split android to cpp and lua
This commit is contained in:
parent
86ea3a8aee
commit
883d501d18
17
.travis.yml
17
.travis.yml
|
@ -15,10 +15,11 @@ matrix:
|
|||
env: BUILD_TARGET=android
|
||||
language: android
|
||||
sudo: required
|
||||
android:
|
||||
components:
|
||||
- android-14
|
||||
- build-tools-27.0.1
|
||||
# android_lua
|
||||
- os: linux
|
||||
env: BUILD_TARGET=android_lua
|
||||
language: android
|
||||
sudo: required
|
||||
# mac
|
||||
- os: osx
|
||||
env: BUILD_TARGET=mac
|
||||
|
@ -31,6 +32,14 @@ matrix:
|
|||
language: cpp
|
||||
osx_image: xcode8.3
|
||||
sudo: required
|
||||
- os: linux
|
||||
env: BUILD_TARGET=android_cocos_new_test
|
||||
language: cpp
|
||||
sudo: required
|
||||
- os: linux
|
||||
env: BUILD_TARGET=linux_cocos_new_test
|
||||
language: cpp
|
||||
sudo: required
|
||||
|
||||
script:
|
||||
- tools/travis-scripts/run-script.sh
|
||||
|
|
|
@ -534,6 +534,8 @@
|
|||
"cocos/cc_dummy.c",
|
||||
"cocos/cocos2d.cpp",
|
||||
"cocos/cocos2d.h",
|
||||
"cocos/precheader.cpp",
|
||||
"cocos/precheader.h",
|
||||
"cocos/deprecated/CCArray.cpp",
|
||||
"cocos/deprecated/CCArray.h",
|
||||
"cocos/deprecated/CCBool.h",
|
||||
|
|
|
@ -7,26 +7,9 @@ function Download-Deps
|
|||
& $python $env:APPVEYOR_BUILD_FOLDER\download-deps.py --remove-download=False
|
||||
}
|
||||
|
||||
function Download-NDK
|
||||
{
|
||||
$url = "https://dl.google.com/android/repository/android-ndk-r16-windows-x86.zip"
|
||||
$output = "$env:APPVEYOR_BUILD_FOLDER/../android-ndk-r16-windows-x86.zip"
|
||||
Write-Host "downloading $url"
|
||||
Start-FileDownload $url $output
|
||||
Write-Host "finish downloading $url"
|
||||
|
||||
Write-Host "installing NDK"
|
||||
Push-Location $env:APPVEYOR_BUILD_FOLDER/../
|
||||
$zipfile = $output
|
||||
Invoke-Expression "7z.exe x $zipfile"
|
||||
Write-Host "finish installing NDK"
|
||||
Pop-Location
|
||||
$env:NDK_ROOT = "$env:APPVEYOR_BUILD_FOLDER/../android-ndk-r16"
|
||||
Write-Host "set environment NDK_ROOT to $env:NDK_ROOT"
|
||||
}
|
||||
|
||||
function Generate-Binding-Codes
|
||||
{
|
||||
$env:NDK_ROOT=$env:APPVEYOR_BUILD_FOLDER + "\..\android-ndk-r16b"
|
||||
|
||||
# install python module
|
||||
& pip install PyYAML Cheetah
|
||||
|
@ -58,7 +41,7 @@ $python = "C:\\Python27\\python.exe"
|
|||
|
||||
If ($env:build_type -eq "windows32") {
|
||||
Download-Deps
|
||||
Download-NDK
|
||||
& $python -u .\tools\appveyor-scripts\setup_android.py --ndk_only
|
||||
Generate-Binding-Codes
|
||||
} elseif ($env:build_type -like "android*") {
|
||||
& $python -u .\tools\appveyor-scripts\setup_android.py
|
||||
|
|
|
@ -9,6 +9,8 @@ import platform
|
|||
import sys
|
||||
import subprocess
|
||||
import tempfile
|
||||
import argparse
|
||||
|
||||
|
||||
DIR_PATH = os.path.dirname(os.path.realpath(__file__))
|
||||
|
||||
|
@ -90,34 +92,33 @@ def install_android_sdk():
|
|||
run_with_yes(cmd)
|
||||
|
||||
|
||||
def export_environment():
|
||||
# gradle
|
||||
# os.environ["ANDROID_HOME"] = ANDROID_SDK
|
||||
# os.environ["ANDROID_NDK_HOME"] = ANDROID_NDK
|
||||
# # cocos gen-libs
|
||||
# os.environ["ANDROID_SDK_ROOT"] = ANDROID_SDK
|
||||
# os.environ["NDK_ROOT"] = ANDROID_NDK
|
||||
|
||||
def export_environment(ndk_only):
|
||||
with open(os.path.join(ROOT_DIR, "environment.sh"), "a") as myfile:
|
||||
if not ndk_only:
|
||||
myfile.write("export ANDROID_HOME=" + ANDROID_SDK + "\n")
|
||||
myfile.write("export ANDROID_NDK_HOME=" + ANDROID_NDK + "\n")
|
||||
myfile.write("export ANDROID_SDK_ROOT=" + ANDROID_SDK + "\n")
|
||||
myfile.write("export ANDROID_NDK_HOME=" + ANDROID_NDK + "\n")
|
||||
myfile.write("export NDK_ROOT=" + ANDROID_NDK + "\n")
|
||||
|
||||
with open(os.path.join(ROOT_DIR, "environment.ps1"), "a") as myfile:
|
||||
if not ndk_only:
|
||||
myfile.write("$env:ANDROID_HOME=\"" + ANDROID_SDK + "\"\n")
|
||||
myfile.write("$env:ANDROID_NDK_HOME=\"" + ANDROID_NDK + "\"\n")
|
||||
myfile.write("$env:ANDROID_SDK_ROOT=\"" + ANDROID_SDK + "\"\n")
|
||||
myfile.write("$env:ANDROID_NDK_HOME=\"" + ANDROID_NDK + "\"\n")
|
||||
myfile.write("$env:NDK_ROOT=\"" + ANDROID_NDK + "\"\n")
|
||||
|
||||
|
||||
def main():
|
||||
def main(ndk_only):
|
||||
if not ndk_only:
|
||||
run(sys.executable + " " + os.path.join(COCOS2D_X, "download-deps.py") + " --remove-download=False")
|
||||
install_android_ndk()
|
||||
install_android_sdk_tools()
|
||||
install_android_sdk()
|
||||
export_environment()
|
||||
install_android_ndk()
|
||||
export_environment(ndk_only)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
parser = argparse.ArgumentParser(description='Install android sdk/ndk')
|
||||
parser.add_argument("--ndk_only", help="increase output verbosity", action="store_true")
|
||||
args = parser.parse_args()
|
||||
main(args.ndk_only)
|
||||
|
|
|
@ -9,26 +9,11 @@ HOST_NAME=""
|
|||
|
||||
function install_android_ndk()
|
||||
{
|
||||
mkdir -p $HOME/bin
|
||||
cd $HOME/bin
|
||||
|
||||
# Download android ndk
|
||||
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||
HOST_NAME="darwin"
|
||||
if [ "$BUILD_TARGET" == "android" ] || [ "$BUILD_TARGET" == "android_lua" ] ; then
|
||||
python $COCOS2DX_ROOT/tools/appveyor-scripts/setup_android.py
|
||||
else
|
||||
HOST_NAME="linux"
|
||||
python $COCOS2DX_ROOT/tools/appveyor-scripts/setup_android.py --ndk_only
|
||||
fi
|
||||
|
||||
FILE_NAME=android-ndk-r16-${HOST_NAME}-x86_64.zip
|
||||
|
||||
# the NDK is used to generate binding codes, should use r16 when fix binding codes with r16
|
||||
echo "Download ${FILE_NAME} ..."
|
||||
curl -O https://dl.google.com/android/repository/${FILE_NAME}
|
||||
echo "Decompress ${FILE_NAME} ..."
|
||||
unzip ./${FILE_NAME} > /dev/null
|
||||
|
||||
# Rename ndk
|
||||
mv android-ndk-r16 android-ndk
|
||||
}
|
||||
|
||||
function install_linux_environment()
|
||||
|
@ -120,7 +105,7 @@ function install_environement_for_pull_request()
|
|||
install_linux_environment
|
||||
fi
|
||||
|
||||
if [ "$BUILD_TARGET" == "android" ]; then
|
||||
if [ "$BUILD_TARGET" == "android" ] || [ "$BUILD_TARGET" == "android_lua" ] ; then
|
||||
install_android_environment
|
||||
fi
|
||||
fi
|
||||
|
@ -138,16 +123,27 @@ function install_environement_for_pull_request()
|
|||
# should generate binding codes & cocos_files.json after merging
|
||||
function install_environement_for_after_merge()
|
||||
{
|
||||
echo "Building merge commit ..."
|
||||
install_android_ndk
|
||||
download_deps
|
||||
|
||||
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
|
||||
upgrade_openssl_for_osx
|
||||
install_python_module_for_osx
|
||||
fi
|
||||
|
||||
echo "Building merge commit ..."
|
||||
install_android_ndk
|
||||
download_deps
|
||||
}
|
||||
|
||||
if [ "$BUILD_TARGET" == "android_cocos_new_test" ]; then
|
||||
python $COCOS2DX_ROOT/tools/appveyor-scripts/setup_android.py
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$BUILD_TARGET" == "linux_cocos_new_test" ]; then
|
||||
download_deps
|
||||
install_linux_environment
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# build pull request
|
||||
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
|
||||
install_environement_for_pull_request
|
||||
|
|
|
@ -16,7 +16,7 @@ function build_linux()
|
|||
cd linux-build
|
||||
cmake ../..
|
||||
echo "cpu cores: ${CPU_CORES}"
|
||||
make -j${CPU_CORES}
|
||||
make -j${CPU_CORES} VERBOSE=1
|
||||
}
|
||||
|
||||
function build_mac()
|
||||
|
@ -41,10 +41,7 @@ function build_android()
|
|||
{
|
||||
# Build all samples
|
||||
echo "Building Android samples ..."
|
||||
export COCOS_CONSOLE_ROOT=$COCOS2DX_ROOT/tools/cocos2d-console/bin
|
||||
export ANDROID_SDK_ROOT=/usr/local/android-sdk
|
||||
export COCOS_X_ROOT=$COCOS2DX_ROOT
|
||||
export PATH=$ANDROID_SDK_ROOT:$COCOS_CONSOLE_ROOT:$PATH
|
||||
source ../environment.sh
|
||||
|
||||
# build cpp-empty-test
|
||||
# pushd $COCOS2DX_ROOT/tests/cpp-empty-test
|
||||
|
@ -52,13 +49,8 @@ function build_android()
|
|||
# popd
|
||||
|
||||
# build cpp-tests
|
||||
pushd $COCOS2DX_ROOT/tests/cpp-tests
|
||||
cocos compile -p android
|
||||
popd
|
||||
|
||||
# build lua-tests
|
||||
pushd $COCOS2DX_ROOT/tests/lua-tests
|
||||
cocos compile -p android
|
||||
pushd $COCOS2DX_ROOT/tests/cpp-tests/proj.android
|
||||
./gradlew assembleDebug
|
||||
popd
|
||||
|
||||
# build js-tests
|
||||
|
@ -68,6 +60,19 @@ function build_android()
|
|||
# popd
|
||||
}
|
||||
|
||||
function build_android_lua()
|
||||
{
|
||||
# Build all samples
|
||||
echo "Building Android samples lua ..."
|
||||
source ../environment.sh
|
||||
|
||||
# build lua-tests
|
||||
pushd $COCOS2DX_ROOT/tests/lua-tests/project/proj.android
|
||||
./gradlew assembleDebug
|
||||
popd
|
||||
|
||||
}
|
||||
|
||||
function genernate_binding_codes()
|
||||
{
|
||||
if [ $TRAVIS_OS_NAME == "linux" ]; then
|
||||
|
@ -82,7 +87,7 @@ function genernate_binding_codes()
|
|||
|
||||
which python
|
||||
|
||||
export NDK_ROOT=$HOME/bin/android-ndk
|
||||
source ../environment.sh
|
||||
export PYTHON_BIN=/usr/bin/python
|
||||
if [ "$TRAVIS_OS_NAME" == "osx" ]; then
|
||||
export PYTHON_BIN=/usr/local/bin/python
|
||||
|
@ -191,6 +196,11 @@ function run_pull_request()
|
|||
build_android
|
||||
fi
|
||||
|
||||
# android_lua
|
||||
if [ $BUILD_TARGET == 'android_lua' ]; then
|
||||
build_android_lua
|
||||
fi
|
||||
|
||||
if [ $BUILD_TARGET == 'mac' ]; then
|
||||
build_mac
|
||||
fi
|
||||
|
@ -225,6 +235,32 @@ function run_after_merge()
|
|||
generate_pull_request_for_binding_codes_and_cocosfiles
|
||||
}
|
||||
|
||||
if [ "$BUILD_TARGET" == "android_cocos_new_test" ]; then
|
||||
source ../environment.sh
|
||||
pushd $COCOS2DX_ROOT
|
||||
python -u tools/cocos2d-console/bin/cocos.py --agreement n new -l cpp -p my.pack.qqqq cocos_new_test
|
||||
popd
|
||||
pushd $COCOS2DX_ROOT/cocos_new_test/proj.android
|
||||
./gradlew build
|
||||
popd
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$BUILD_TARGET" == "linux_cocos_new_test" ]; then
|
||||
pushd $COCOS2DX_ROOT
|
||||
python -u tools/cocos2d-console/bin/cocos.py --agreement n new -l cpp -p my.pack.qqqq cocos_new_test
|
||||
popd
|
||||
CPU_CORES=`grep -c ^processor /proc/cpuinfo`
|
||||
echo "Building tests ..."
|
||||
cd $COCOS2DX_ROOT/cocos_new_test
|
||||
mkdir -p linux-build
|
||||
cd linux-build
|
||||
cmake ..
|
||||
echo "cpu cores: ${CPU_CORES}"
|
||||
make -j${CPU_CORES} VERBOSE=1
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# build pull request
|
||||
if [ "$TRAVIS_PULL_REQUEST" != "false" ]; then
|
||||
run_pull_request
|
||||
|
|
Loading…
Reference in New Issue